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:
Qual asset comprar?
Ideias para level design 3D
Preciso saber o ponto medio entre dois Transform
[____TÓPICO LIVRE____] FALE O QUE QUISER
Duvida Animation Play não faz nada
[TUTORIAL] Menu Pause AVANÇADO (Unity 5.3 ou superior)
Alien Planet - Atmospheric scattering test
Unity 5 Bugado
Integração PHP e Unity
Ideia Inovadora
Escolher que resoluções jogo vai ter
como usar o Lookat com o addforce do rigidibody?
[MagicaVoxel] Programa de modelagem de cenários cúbicos fácil
[TUTORIAL] DANO POR QUEDA e BARRA DE VIDA CONTÍNUA no mesmo script
Pra que serve o [SerializeField] e por que usar ele?
Animacao2D
script
Forma uma equipe
Baixar Documentaçao Unity 3D?
Feixe de luz - melhor forma de fazer
erro sinistro
Duvida sobre o Peso do jogo?
Alquem tem alguma ideia de como fazer o Player tipo a cabeça olhar para o seu inimigo?
Cryengine 3?
Como mudar rotacao de um objeto em relacao a posicao do outro objeto
Gostaria da opinião de vocês sobre o beta da Unity
Script
[TUTORIAL] Barra de VIDA / HP contínua
[TUTORIAL] Sistema de Escada Estilo FPS
[TUTORIAL] Melhorar a estabilidade dos veículos com Wheel Collider
Guitar The Legends of Brazil
[TUTORIAL] Escolher a quantos FPS (fixos) o seu jogo deverá rodar.
Examinar
Formação de Equipe Battle of Worlds
me ajudem neste script para subir escada
Texturas
script por favor me ajudem
Números aleatorios
Tem como saber o Tamanho do Objeto?
Banco de dados Aleatorio
Procuro desenhista para jogo 2D Pixel Art (Compra)
[Dúvida] Blender erro ao aplicar osso na mesh
[resolvido]enfiar float no UItext por script
Daria para pegar as horas do computador e por no jogo?
Gerador de Characters Autodesk Online
[JOGO DE FPS MULTIPLAYER] Alguém que saiba fazer animações na Unity 5 ou no blender :D
[LANÇADO] The Dilma
Inventario
Procuro vagas em equipes [Programador]
The Dilma - O terror da Petrobrás
Ajuda Neste Script?
Teste de usuário para um jogo
Procuro Equipe de Jogos 2D
Animações de sobra
[TUTORIAL]Singleton, A melhor forma de acessar a classe!
[TUTORIAL] Sistema de fome, sede, barra de vida, barra de estamina, itens e dano por queda
Mudança de FPS afetam a velocidade das coisas
[TUTORIAL] Sistema de tiro com RAYCAST (várias armas, mira laser, munição, dano, etc, etc)
Como criar um ranking online na Unity usando a PlayFab e o Facebook?
Problema da Conta do comerciante do developer
BUG DE VOLUME NO SCRIPT MENU DE PAUSA
controle 2D com touch ou clique do mouse
[Dúvida] MySQL. Funciona apenas no editor.
[RESOLVIDO]como acesar uma void publica pelo script e ativa-la
Active UI
Como Criar Textura De Armas
Formaçao De Equipe (FLAMEBLOOD)
Fonte Proporcional
Ativar / Desativar Varios GameObject
[Duvida] Como fazer Medkit
[RESOLVIDO]Duvida com butao UI para ativar Void
Rodando o Sul
Procuro programadores para meu projeto BR Bus
Sistema de score
Strings e quebra de texto?
Hoje à(s) 2:02 am
Ontem à(s) 10:52 pm
Ontem à(s) 10:46 pm
Ontem à(s) 10:29 pm
Ontem à(s) 10:01 pm
Ontem à(s) 6:37 pm
Ontem à(s) 6:33 pm
Ontem à(s) 7:16 am
Ontem à(s) 5:46 am
Ontem à(s) 3:34 am
Sab Dez 03, 2016 11:55 pm
Sab Dez 03, 2016 11:46 pm
Sab Dez 03, 2016 11:46 pm
Sab Dez 03, 2016 11:36 pm
Sab Dez 03, 2016 11:31 pm
Sab Dez 03, 2016 11:30 pm
Sab Dez 03, 2016 11:11 pm
Sab Dez 03, 2016 1:32 pm
Sab Dez 03, 2016 12:01 pm
Sab Dez 03, 2016 10:53 am
Sab Dez 03, 2016 1:25 am
Sab Dez 03, 2016 1:11 am
Sab Dez 03, 2016 1:08 am
Sex Dez 02, 2016 11:59 pm
Sex Dez 02, 2016 11:20 pm
Sex Dez 02, 2016 11:15 pm
Sex Dez 02, 2016 11:10 pm
Sex Dez 02, 2016 11:09 pm
Sex Dez 02, 2016 11:08 pm
Sex Dez 02, 2016 11:02 pm
Sex Dez 02, 2016 10:58 pm
Sex Dez 02, 2016 10:52 pm
Sex Dez 02, 2016 10:50 pm
Sex Dez 02, 2016 10:04 pm
Sex Dez 02, 2016 9:12 pm
Sex Dez 02, 2016 8:53 pm
Sex Dez 02, 2016 8:49 pm
Sex Dez 02, 2016 3:14 pm
Sex Dez 02, 2016 12:46 pm
Sex Dez 02, 2016 11:53 am
Sex Dez 02, 2016 8:06 am
Qui Dez 01, 2016 11:31 pm
Qui Dez 01, 2016 10:46 pm
Qui Dez 01, 2016 7:28 pm
Qui Dez 01, 2016 6:42 pm
Qui Dez 01, 2016 5:08 pm
Qui Dez 01, 2016 5:06 pm
Qui Dez 01, 2016 4:44 pm
Qua Nov 30, 2016 11:46 pm
Qua Nov 30, 2016 11:45 pm
Qua Nov 30, 2016 11:19 pm
Ter Nov 29, 2016 8:03 pm
Ter Nov 29, 2016 7:49 pm
Ter Nov 29, 2016 12:15 pm
Ter Nov 29, 2016 10:46 am
Ter Nov 29, 2016 10:13 am
Ter Nov 29, 2016 10:08 am
Ter Nov 29, 2016 6:32 am
Ter Nov 29, 2016 6:29 am
Ter Nov 29, 2016 3:13 am
Ter Nov 29, 2016 2:51 am
Ter Nov 29, 2016 2:47 am
Ter Nov 29, 2016 2:45 am
Ter Nov 29, 2016 1:42 am
Ter Nov 29, 2016 12:44 am
Ter Nov 29, 2016 12:24 am
Seg Nov 28, 2016 10:38 pm
Seg Nov 28, 2016 10:03 pm
Seg Nov 28, 2016 10:00 pm
Seg Nov 28, 2016 6:33 pm
Seg Nov 28, 2016 5:32 pm
Seg Nov 28, 2016 5:22 pm
Seg Nov 28, 2016 3:57 pm
Seg Nov 28, 2016 3:38 pm
Seg Nov 28, 2016 1:29 pm
ygor18
Madness
Dom3000
MarcosSchultz
vinilucas
weslleyFx
weslleyFx
AndyShow
artplayer
Madness
Marc7
Dom3000
ismarspn
weslleyFx
weslleyFx
weslleyFx
weslleyFx
mafipt
dimmuo
dimmuo
Dom3000
Dom3000
Dom3000
Callyde Jr
MarcosSchultz
MarcosSchultz
MarcosSchultz
MarcosSchultz
MarcosSchultz
MarcosSchultz
MarcosSchultz
MarcosSchultz
MarcosSchultz
Dom3000
edumoran
dstaroski
dstaroski
Manawydan
Dom3000
artplayer
mlmattos
rafaelllsd
weslleyFx
Extreme Craft
Édipo
weslleyFx
weslleyFx
weslleyFx
weslleyFx
weslleyFx
weslleyFx
mayokota
weslleyFx
artplayer
dimmuo
Hardencio
Hardencio
Callyde Jr
Callyde Jr
MarcosSchultz
MarcosSchultz
MarcosSchultz
MarcosSchultz
Extreme Craft
kalielson
kalielson
artplayer
leandroinforware
leandroinforware
John Rambo
Extreme Craft
WesleyLemosLeal
Kelvyn_Feitosa
Weverton Borges da Silva
leandroinforware

[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.

MarcosSchultz
Administrador

Masculino PONTOS : 7134
REPUTAÇÃO : 878
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 : 122
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 ?

deikson
MembroAvançado

Masculino PONTOS : 444
REPUTAÇÃO : 6
Idade : 20
Á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?

MarcosSchultz
Administrador

Masculino PONTOS : 7134
REPUTAÇÃO : 878
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?

deikson
MembroAvançado

Masculino PONTOS : 444
REPUTAÇÃO : 6
Idade : 20
Á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);
   }
}

MarcosSchultz
Administrador

Masculino PONTOS : 7134
REPUTAÇÃO : 878
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