SchultzGames
Para tirar dúvidas, crie um tópico especifico na área "Dúvidas em Geral" e aguarde ser respondido. Evite comentar em tópicos não relacionados a sua dúvida Very Happy
TÓPICOS RECENTES:
Tópico:
Postado em:
Postado por:
Só o networkIndetity é o suficiente para o que eu quero fazer? Como ele funciona?
Site para Baixar Character em 3D
Alguns modelos low poly
O que acham dos meus modelos? (Prédios)
QUER UMA PEQUENA GAMEPLAY DO MEU GAME?
Como faz para colocar som nos passos do personagem?
Cut Scene com video player
[Pack de Modelos 3d] Kit Pau Pra Toda Obra [Low Poly]
ESSE EO MEU JOGO QUE EU ESTOU DESENVOLVENDO (VERSAO BETA)
Canvas UI
Site Profissional Completo Gratis para Jogos
[Dúvida] tiro
Sombra preta
Formação de Equipe Battle of Worlds
Transformar velocidade em forca
[DUVIDA] Shader
[RESOLVIDO] Mais scripts ou mais linhas de codigo????
Ponto na tela
Photon Duvida
(RESOLVIDO)Ajuda na animação do Mixamo
[Duvida] Como dar play e pausar uma animacao??
Como criar um timer?
Personagem "Batendo" no limite da camera em 2D
Sistema de Sensibilidade Do Mouse X e Y!
Sistema multiplayer por Salas
Vender ideia de jogo para desenvolvedora
FORMAÇÃO DE EQUIPE PARA JOGO MULTIPLAYER DE SOBREVIVENCIA
eu preciso de um script de contagem para o me jogo alguem pode me ajudar?
Unity Congelando
Como pode ser feito um HUD?
Script sem erro, mas não funciona
Google VR
Ajuda sobre melhorar a Fricção no Wheel Collider
sombrancelha do mixamo
[RESOLVIDO]Oque significa "?"
Dúvida sobre jogo android...
OBJETO INSTANCIANDO EM POSIÇÃO ERRADA
[Duvida] NavMeshAgente se movendo muito rapido!
Alguma alternativa para os JOINT do unity
Projeto B
Script + Direção
Alguem quer ajudar em meu jogo???
[Resolvido] Como chamar uma void ou função, através de um botão.
[RESOLVIDO] Como subir escadas
For lista
[RESOLVIDO] Sistema de recarregamento Precário.
[Duvida] Com NavMesh;
[Duvida] Com LookAt
[Resolvido]Objeto não está sendo instanciado
[DUVIDA] - Pontuação e fim de jogo
Network Manager opção sumiu
PROBLEMA TEXTURA E TELA GAME
[Resolvido] Colisores nao colidem!!
Como colocar dano no inimigo? e vida no player?
O que falta??
QUEM AI TA DISPOSTO A DESENVOLVER UM GAME EM EQUIPE??
[TUTORIAL] FPSController nadar e mergulhar, junto com efeito submerso
Receber tiro(animação)
Limite de tela
[Resolvido]COMO CONSULTAR O PAINEL DE PREFERENÇIAS DA UNITY?
Alguém poderia me dizer o que estou fazendo de errado nesses scripts? (Vuforia SDK).
[RESOLVIDO] Como movimentar um objeto de um lado para o outro
Movimento de rotação entre dois objetos
[Duvida] script para criar um servidor automaticamente
Alguem Me Ajuda A Corrigir Um Erro Em Uma Conexão Com mysql
Como faz para pular?
[____TÓPICO LIVRE____] FALE O QUE QUISER (Parte 2)
Atingir inimigo e ele se destruir
Pegar coisas do chao
Checkpoint e Respawn
Teste jogo em andamento "Infiltraded"
[Resolvido]Como achar um objeto por componente?
Coletar
[TUTORIAL] Banco de Dados || PHP
[Resolvido] Como fazer o objeto colidir uma vez e tão ficar tremendo?
Problema com rotação de objeto
[____ADMINISTRAÇÃO____] PRECISO DE AJUDA [DICA PARA SER AJUDADO]
como fazer sombras pixelizadas
[Dúvida]Como selecionar o local de destino do "Application.CaptureScreenshot"
[Resolvido]Como se faz agua?
fps camera não vai para cima e para baixo network unity como resolver?
[Resolvido]Digitar um número e sair um áudio
[TUTORIAL] Unity 5 - Alterar Post-processing Stack através de um SCRIPT
erro AI Enemy
Colisão igual a reproduzir som
Random sem repetir a palavra
COMO POSSO FAZER MUDAR DE CENA QUANDO ABRIR A PORTA
Pegar o gameObject conectado a outro
Como alterar a cor dos pixel um a um de uma renderização
Atualização da unity
Salvar Score e Substituir caso faça Mais!
[Duvida] Em Relacao A Manerira com que exnxergam o player
LoadScene De um Jeito Diferente [duvida]
[Vídeo] - Avaliem essa gameplay do meu jogo por favor?!
MySql + Unity 5.5 Não esta funcionando
Pontos luminosos em objeto 3D
Jogo Teste - Survive
[RESOLVIDO] Problema com objeto 3D após mudar cena
Atualização
Hoje à(s) 5:42 pm
Hoje à(s) 5:33 pm
Hoje à(s) 5:32 pm
Hoje à(s) 5:27 pm
Hoje à(s) 5:19 pm
Hoje à(s) 5:17 pm
Hoje à(s) 5:15 pm
Hoje à(s) 5:15 pm
Hoje à(s) 4:32 pm
Hoje à(s) 4:28 pm
Hoje à(s) 4:13 pm
Hoje à(s) 4:13 pm
Hoje à(s) 3:53 pm
Hoje à(s) 3:34 pm
Hoje à(s) 3:27 pm
Hoje à(s) 2:42 pm
Hoje à(s) 1:57 pm
Hoje à(s) 1:57 pm
Hoje à(s) 1:50 pm
Hoje à(s) 11:59 am
Hoje à(s) 11:49 am
Hoje à(s) 11:38 am
Hoje à(s) 10:19 am
Hoje à(s) 10:08 am
Hoje à(s) 9:26 am
Hoje à(s) 2:49 am
Hoje à(s) 2:35 am
Hoje à(s) 12:58 am
Hoje à(s) 12:54 am
Ontem à(s) 10:49 pm
Ontem à(s) 10:39 pm
Ontem à(s) 10:03 pm
Ontem à(s) 8:55 pm
Ontem à(s) 8:51 pm
Ontem à(s) 8:46 pm
Ontem à(s) 7:31 pm
Ontem à(s) 6:15 pm
Ontem à(s) 5:54 pm
Ontem à(s) 5:48 pm
Ontem à(s) 5:17 pm
Ontem à(s) 3:08 pm
Ontem à(s) 1:08 pm
Ontem à(s) 11:51 am
Ontem à(s) 10:49 am
Ontem à(s) 10:08 am
Ontem à(s) 9:39 am
Ontem à(s) 9:00 am
Qua Maio 24, 2017 11:31 pm
Qua Maio 24, 2017 10:13 pm
Qua Maio 24, 2017 9:57 pm
Qua Maio 24, 2017 9:38 pm
Qua Maio 24, 2017 8:25 pm
Qua Maio 24, 2017 8:23 pm
Qua Maio 24, 2017 8:00 pm
Qua Maio 24, 2017 6:24 pm
Qua Maio 24, 2017 5:51 pm
Qua Maio 24, 2017 5:50 pm
Qua Maio 24, 2017 4:40 pm
Qua Maio 24, 2017 3:43 pm
Qua Maio 24, 2017 3:15 pm
Qua Maio 24, 2017 2:44 pm
Qua Maio 24, 2017 2:41 pm
Qua Maio 24, 2017 2:13 pm
Qua Maio 24, 2017 2:10 pm
Qua Maio 24, 2017 2:00 pm
Qua Maio 24, 2017 1:56 pm
Qua Maio 24, 2017 8:19 am
Qua Maio 24, 2017 7:45 am
Ter Maio 23, 2017 10:26 pm
Ter Maio 23, 2017 10:16 pm
Ter Maio 23, 2017 9:33 pm
Ter Maio 23, 2017 8:04 pm
Ter Maio 23, 2017 7:52 pm
Ter Maio 23, 2017 7:10 pm
Ter Maio 23, 2017 4:59 pm
Ter Maio 23, 2017 4:10 pm
Ter Maio 23, 2017 4:05 pm
Ter Maio 23, 2017 4:02 pm
Ter Maio 23, 2017 3:59 pm
Ter Maio 23, 2017 3:49 pm
Ter Maio 23, 2017 3:46 pm
Ter Maio 23, 2017 3:39 pm
Ter Maio 23, 2017 3:36 pm
Ter Maio 23, 2017 3:29 pm
Ter Maio 23, 2017 3:24 pm
Ter Maio 23, 2017 3:08 pm
Ter Maio 23, 2017 2:57 pm
Ter Maio 23, 2017 2:53 pm
Ter Maio 23, 2017 2:52 pm
Ter Maio 23, 2017 2:45 pm
Ter Maio 23, 2017 2:35 pm
Ter Maio 23, 2017 2:33 pm
Ter Maio 23, 2017 2:10 pm
Ter Maio 23, 2017 1:39 pm
Ter Maio 23, 2017 8:49 am
Ter Maio 23, 2017 8:17 am
Seg Maio 22, 2017 5:32 pm
Seg Maio 22, 2017 2:55 pm
Seg Maio 22, 2017 2:35 pm
lucassmart
Gabriel César O
DuViDoSo34
DuViDoSo34
Gabriel César O
Gabriel César O
Gabriel César O
DuViDoSo34
dstaroski
Weverton Borges da Silva
LuizFixa3D
aleksander700
aleksander700
joabr
dazentt55
Xurupitinha
dazentt55
John Rambo
LuizFixa3D
Zecandy
PauloFR
Callyde Jr
Ghosthy
bruxamissi
weslleyFx
JoelMJunior
hen000
rafaelllsd
rafaelllsd
thiagograssi
wender
Henrique Ramires
dazentt55
916anderson
Matrirxp
marcos4503
bruxamissi
DuViDoSo34
dazentt55
julioou
Madness
felipefell
DuViDoSo34
DuViDoSo34
Chilinger
DuViDoSo34
DuViDoSo34
DuViDoSo34
thiagograssi
PauloFR
thiagograssi
Miss Talon
Junim
Manawydan
MarcosSchultz
Junim
JCLEON
aleksander700
Xurupitinha
marcos4503
WolfTheZelda
Games Indie
MarcosSchultz
MarcosSchultz
Bruninho
MarcosSchultz
dstaroski
dstaroski
Matrirxp
Matrirxp
#N31
Dom3000
marcos4503
Callyde Jr
BatataName
thzin
MarcosSchultz
MarcosSchultz
MarcosSchultz
MarcosSchultz
MarcosSchultz
iagokennedyy
MarcosSchultz
MarcosSchultz
MarcosSchultz
MarcosSchultz
glauco
MarcosSchultz
MarcosSchultz
MarcosSchultz
MarcosSchultz
MarcosSchultz
GameS DoG
iagokennedyy
sabbath
dstaroski
zZAndersonZz
Marc7
marcos4503

[TUTORIAL] Camera orbital para android (TOUCH)

Ver o tópico anterior Ver o tópico seguinte Ir em baixo

TUTORIAL [TUTORIAL] Camera orbital para android (TOUCH)

Mensagem por MarcosSchultz em Sex Set 23, 2016 2:21 pm

Olá pessoal, elaborei este script simples para fazer uma camera orbital funcionar em dispositivos móveis... Para isto, basta criar um novo script em C# com o nome "CameraOrbital" e utilizar este código nele:

Código:
using UnityEngine;
using System.Collections;
using System;

[Serializable]
public class ConfigsDaCameraOrbital {
 [Range(0.01f,2.0f)] public float sensibilidade = 0.8f, velocidadeY = 0.5f;
 [Range(3.0f,20.0f)] public float distanciaCamera = 10.0f;
}

public class CameraOrbital : MonoBehaviour {

 float xOrbit, yOrbit;
 public GameObject ObjetoCamera;
 public ConfigsDaCameraOrbital Configuracoes;

 void Start () {
 xOrbit = ObjetoCamera.transform.eulerAngles.x;
 yOrbit = ObjetoCamera.transform.eulerAngles.y;
 transform.gameObject.layer = 2;
 }

 void LateUpdate () {
 float velocidadeTimeScale = 1.0f / Time.timeScale;
 //
 if (Input.touchCount > 0) {
 Touch touch = Input.GetTouch (0);
 xOrbit += touch.deltaPosition.x * Configuracoes.sensibilidade;
 yOrbit -= touch.deltaPosition.y * Configuracoes.sensibilidade * Configuracoes.velocidadeY * 10.0f;
 }
 //
 yOrbit  = ClampAngle (yOrbit, 0.0f, 85.0f);
 Quaternion rotation = Quaternion.Euler (yOrbit, xOrbit , 0);
 Vector3 negDistance = new Vector3 (0.0f, 0.0f, -Configuracoes.distanciaCamera);
 Vector3 position = rotation * negDistance + transform.position;
 Vector3 posicAtual = ObjetoCamera.transform.position;
 Quaternion rotacAtual = ObjetoCamera.transform.rotation;
 ObjetoCamera.transform.rotation = Quaternion.Lerp(rotacAtual,rotation,Time.deltaTime*5.0f*velocidadeTimeScale);
 ObjetoCamera.transform.position = Vector3.Lerp(posicAtual,position,Time.deltaTime*5.0f*velocidadeTimeScale);
 }
 public static float ClampAngle (float angulo, float min, float max){
 if (angulo < -360F) { angulo += 360F; }
 if (angulo > 360F) { angulo -= 360F; }
 return Mathf.Clamp (angulo, min, max);
 }
}


Depois disso, basta você jogar o script no objeto que você quer "orbitar". Quando você jogar o script no objeto, se você não tiver errado nenhum passo, aparecerão 2 variáveis principais... 

"ObjetoCamera"
"Configurações"

Na variável "ObjetoCamera", você deve apenas jogar a camera que vai "orbitar" o objeto do script... e nas configurações, você deve "configurar a gosto" as sensibilidades dos eixos X e Y, e a distância que a camera vai ficar do objeto.

Feito isto, você já terá uma camera orbital que funciona com touch. 


Esta camera funciona com apenas 1 toque, pois é feita com base no primeiro elemento da array de toques.
avatar
MarcosSchultz
Administrador

Masculino PONTOS : 8733
REPUTAÇÃO : 1348
Idade : 20
Áreas de atuação : Administrador do fórum
Respeito as regras :

Ver perfil do usuário http://www.schultzgames.com

Voltar ao Topo Ir em baixo

TUTORIAL Re: [TUTORIAL] Camera orbital para android (TOUCH)

Mensagem por FernandoPRB em Sex Set 23, 2016 3:00 pm

vlw man ajudou muitoo

FernandoPRB
Membro
Membro

Masculino PONTOS : 316
REPUTAÇÃO : 1
Idade : 14
Áreas de atuação : Modelagem
Respeito as regras :

Ver perfil do usuário

Voltar ao Topo Ir em baixo

TUTORIAL Re: [TUTORIAL] Camera orbital para android (TOUCH)

Mensagem por deikson em Sab Out 29, 2016 1:06 pm

Marcos , tem alguma forma de fazer ela voltar automaticamente para atras do veiculo ? tipo gta ?
avatar
deikson
MembroAvançado

Masculino PONTOS : 636
REPUTAÇÃO : 8
Idade : 21
Áreas de atuação : Modelagem SketchUp;
design;
Iniciando C#;
Respeito as regras :

Ver perfil do usuário

Voltar ao Topo Ir em baixo

TUTORIAL Re: [TUTORIAL] Camera orbital para android (TOUCH)

Mensagem por MarcosSchultz em Seg Out 31, 2016 2:38 pm

Tem sim, eu geralmente uso este tipo de lógica aqui, do Lerp:



Você precisa ter uma posição e setá-la caso não exista movimento por mais de 10 segs... Consegue fazer isto?
avatar
MarcosSchultz
Administrador

Masculino PONTOS : 8733
REPUTAÇÃO : 1348
Idade : 20
Áreas de atuação : Administrador do fórum
Respeito as regras :

Ver perfil do usuário http://www.schultzgames.com

Voltar ao Topo Ir em baixo

TUTORIAL Re: [TUTORIAL] Camera orbital para android (TOUCH)

Mensagem por deikson em Seg Out 31, 2016 3:24 pm

acho que não consigo mano :/ e muito complicado?
avatar
deikson
MembroAvançado

Masculino PONTOS : 636
REPUTAÇÃO : 8
Idade : 21
Áreas de atuação : Modelagem SketchUp;
design;
Iniciando C#;
Respeito as regras :

Ver perfil do usuário

Voltar ao Topo Ir em baixo

TUTORIAL Re: [TUTORIAL] Camera orbital para android (TOUCH)

Mensagem por MarcosSchultz em Sex Nov 04, 2016 1:58 am

deikson escreveu:acho que não consigo mano :/ e muito complicado?

Tente isto (não testei no celular).

Basta usar este script, e criar um objeto filho do seu personagem (objeto vazio de preferência), para ser a posição fixa da camera:

Código:
using UnityEngine;
using System.Collections;
using System;

[Serializable]
public class ConfigsDaCameraOrbital {
   [Range(0.01f,2.0f)] public float sensibilidade = 0.8f, velocidadeY = 0.5f;
   [Range(3.0f,20.0f)] public float distanciaCamera = 10.0f;
}

public class CameraOrbital : MonoBehaviour {

   float xOrbit, yOrbit;
   public GameObject ObjetoCamera, PosicaoFixa;
   public ConfigsDaCameraOrbital Configuracoes;
   float cronometro = 0;

   void Start () {
      xOrbit = ObjetoCamera.transform.eulerAngles.x;
      yOrbit = ObjetoCamera.transform.eulerAngles.y;
      transform.gameObject.layer = 2;
   }

   void LateUpdate () {
      float velocidadeTimeScale = 1.0f / Time.timeScale;
      //
      if (Input.touchCount > 0) {
         Touch touch = Input.GetTouch (0);
         xOrbit += touch.deltaPosition.x * Configuracoes.sensibilidade;
         yOrbit -= touch.deltaPosition.y * Configuracoes.sensibilidade * Configuracoes.velocidadeY * 10.0f;
         cronometro = 0;
      } else {
         if (cronometro < 10) {
            cronometro += Time.deltaTime;
         }
      }
      //
      if (cronometro < 5) {
         yOrbit = ClampAngle (yOrbit, 0.0f, 85.0f);
         Quaternion rotation = Quaternion.Euler (yOrbit, xOrbit, 0);
         Vector3 negDistance = new Vector3 (0.0f, 0.0f, -Configuracoes.distanciaCamera);
         Vector3 position = rotation * negDistance + transform.position;
         Vector3 posicAtual = ObjetoCamera.transform.position;
         Quaternion rotacAtual = ObjetoCamera.transform.rotation;
         ObjetoCamera.transform.rotation = Quaternion.Lerp (rotacAtual, rotation, Time.deltaTime * 5.0f * velocidadeTimeScale);
         ObjetoCamera.transform.position = Vector3.Lerp (posicAtual, position, Time.deltaTime * 5.0f * velocidadeTimeScale);
      } else {
         ObjetoCamera.transform.position = Vector3.Lerp (ObjetoCamera.transform.position, PosicaoFixa.transform.position, Time.deltaTime * 5.0f * velocidadeTimeScale);
         ObjetoCamera.transform.LookAt (transform.position);
      }
   }
   public static float ClampAngle (float angulo, float min, float max){
      if (angulo < -360F) { angulo += 360F; }
      if (angulo > 360F) { angulo -= 360F; }
      return Mathf.Clamp (angulo, min, max);
   }
}
avatar
MarcosSchultz
Administrador

Masculino PONTOS : 8733
REPUTAÇÃO : 1348
Idade : 20
Áreas de atuação : Administrador do fórum
Respeito as regras :

Ver perfil do usuário http://www.schultzgames.com

Voltar ao Topo Ir em baixo

Ver o tópico anterior Ver o tópico seguinte Voltar ao Topo

- Tópicos similares

 
Permissão deste fórum:
Você não pode responder aos tópicos neste fórum