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:
Objeto ultrapassando Colisor
DESLIGAR E LIGAR O CARRO
Alguém Para Dar Uma Avaliada no Meu Jogo de Terror :)
[DUVIDA] como melhorar a jogabilidade de um jogo 2D
(Dúvida) Objeto receber posição do Raycast.
JUMP no estilo Subwey surf
Auxilio para script de Câmera
[TUTORIAL] AI Enemy ( Jogos de terror )
Criar varias funções de mesmo nome em um script
Como Que faço Para Quando Eu Reentrar no game o PlayerPrefs restaurar os dados salvos?
[ASSET] Cama Realista 3D + Download Grátis!
Personagem em 3ª pessoa
Como deixar sempre com dois dígitos
VOID START???
[RESOLVIDO] Meu Script Sumiu!
Como colocar arvores configuradas pelo terrain?
[____ADMINISTRADOR OFFLINE____]
Duvida de camera
Problema de conexão com o fórum
Brasileiros podem usar o Unity ADS?
Desenvolvimento de game PokeGen MS - Vídeo e informações
Recarregador de arms
dúvida com variáveis
Câmera tipo Uncharted
Como verificar se a animação términou no animator
[TUTORIAL] Sistema COMPLETO de câmeras
Iluminação unity 5
Projeto - IMU, terror de sobrevivência em primeira pessoa (estilo silent hill)
Procuro membros para minha Equipe (Programadores, designers, etc)
Galera aki tenho um site com muitos models 3d
COMO COLOCO LANTERNA DE LED NO MEU JOGO DE BUS
DUVIDA SCRIPT DO MARCOS SELEÇÃO DE PERSONAGEM !
[____TÓPICO LIVRE____] FALE O QUE QUISER
SOBRE "IK" INVERSE KINEMATICS
Objeto ir para raycast
Duvida como instância um game objeto com Raycast
Problema Com Virtual Buttons Help me ;-;
GALERA PRECISO DE MODELADORES ,DESIGNER E PROGAMADORES PARA A MINHA EQUIPE DE UNITY 5
sobre build run no Android
e algum bug??
Tela rosa em jogos
Ajuda na script
[ajuda] câmera puxada
Duvida de script de controle
Não carrega próxima cena após finalizar cutscene
Duvida de script avançada
[TUTORIAL] Derrubar arvores e dropar madeiras dela
Vocês poderiam avaliar meu jogo para Android? (30mb)
Ajuda com elementos UI
Ajuda com AI
Multiplayer com photon
[PEDIDO] Tutorial de Multiplayer
procuro equipe para meu jogo de bus
Formação de equipe para jogo estilo Days Gone (Campanha , Multiplayer) , (já está em criação)
AJUDA SCRIPT LUZ UNITY 5.5
3 Armas mediavais gratis, criada por min
Alguém poderia me ajudar a entender esse script
[TUTORIAL] Entrar no carro estilo GTA
Folha de Palmeira (Modelo 3D)
Procuro programadores para meu jogo
Duvida sobre pulo
unity pack
PROCURO EQUIPE PARA DESENVOLVER UM GAME NO ESTILO BOMBERMAN (ANTIGOS) ENTRAR EM CONTATO
Formação de equipes Bus Brasil
[JOGO] Dead Age(Em desenvolvimento).
Vcs ja publicaram algum game ou aplicativo na playstore?
Ajuda para Criar Um Mapa que se passa em uma escola brasileira
[TUTORIAL] Sistema de inventário Sobrevivência
Novo Modelo de Espada Blender
[JOGO] The Park Life [DEMO DISPONIVEL]
Quero entrar para uma equipe.
Duvida sobre instantiate
Duvida passar de fase com objetos
[TUTORIAL] Como fazer uma Barra de Loading na Unity 5
[TUTORIAL] Alterar a velocidade de queda de um RigidBody
Hoje à(s) 6:21 am
Hoje à(s) 4:51 am
Hoje à(s) 3:17 am
Ontem à(s) 11:58 pm
Ontem à(s) 11:16 pm
Ontem à(s) 11:04 pm
Ontem à(s) 10:35 pm
Ontem à(s) 10:10 pm
Ontem à(s) 8:27 pm
Ontem à(s) 8:27 pm
Ontem à(s) 7:45 pm
Ontem à(s) 7:40 pm
Ontem à(s) 7:28 pm
Ontem à(s) 7:23 pm
Ontem à(s) 7:21 pm
Ontem à(s) 5:32 pm
Ontem à(s) 4:55 pm
Ontem à(s) 4:53 pm
Ontem à(s) 3:58 pm
Ontem à(s) 3:04 pm
Ontem à(s) 2:07 pm
Ontem à(s) 1:25 pm
Ontem à(s) 12:59 pm
Ontem à(s) 12:23 pm
Ontem à(s) 12:22 pm
Ontem à(s) 4:58 am
Ter Jan 17, 2017 8:57 pm
Ter Jan 17, 2017 8:38 pm
Ter Jan 17, 2017 8:17 pm
Ter Jan 17, 2017 6:54 pm
Ter Jan 17, 2017 5:13 pm
Ter Jan 17, 2017 4:33 pm
Ter Jan 17, 2017 2:17 pm
Ter Jan 17, 2017 1:19 pm
Ter Jan 17, 2017 12:54 pm
Ter Jan 17, 2017 11:57 am
Ter Jan 17, 2017 10:16 am
Ter Jan 17, 2017 7:54 am
Ter Jan 17, 2017 7:46 am
Seg Jan 16, 2017 9:06 pm
Seg Jan 16, 2017 6:54 pm
Seg Jan 16, 2017 5:21 pm
Seg Jan 16, 2017 5:12 pm
Seg Jan 16, 2017 5:11 pm
Seg Jan 16, 2017 5:11 pm
Seg Jan 16, 2017 5:10 pm
Seg Jan 16, 2017 5:05 pm
Seg Jan 16, 2017 5:03 pm
Seg Jan 16, 2017 3:01 pm
Seg Jan 16, 2017 2:02 pm
Seg Jan 16, 2017 12:02 pm
Seg Jan 16, 2017 10:53 am
Dom Jan 15, 2017 10:14 pm
Dom Jan 15, 2017 6:31 pm
Dom Jan 15, 2017 6:03 pm
Dom Jan 15, 2017 5:54 pm
Dom Jan 15, 2017 5:17 pm
Dom Jan 15, 2017 4:30 pm
Dom Jan 15, 2017 4:24 pm
Dom Jan 15, 2017 2:52 pm
Dom Jan 15, 2017 9:40 am
Dom Jan 15, 2017 9:06 am
Dom Jan 15, 2017 12:01 am
Sab Jan 14, 2017 8:06 pm
Sab Jan 14, 2017 5:53 pm
Sab Jan 14, 2017 10:38 am
Sab Jan 14, 2017 9:06 am
Sab Jan 14, 2017 7:37 am
Sab Jan 14, 2017 7:25 am
Sab Jan 14, 2017 7:22 am
Sab Jan 14, 2017 7:21 am
Sex Jan 13, 2017 11:49 pm
Sex Jan 13, 2017 10:21 pm
Sex Jan 13, 2017 9:13 pm
Sex Jan 13, 2017 7:41 pm
AndyShow
AndyShow
Kinggamer
GustavoMaster
rafaelllsd
poker14k
artplayer
Pedro Canassa Garcia
pablo10544
LegendGames
artplayer
artplayer
AndyShow
AndyShow
AndyShow
artplayer
John Rambo
weslleyFx
Weverton Borges da Silva
Hardencio
AndyShow
Callyde Jr
AndyShow
John Rambo
John Rambo
MonsaM
John Rambo
mrariel2011
dstaroski
MonsaM
John Rambo
LuizFixa3D
joabr
XavezZ
lucasfera15
R R
anizioNoob
dstaroski
dstaroski
John Rambo
Igor Melim
MarcosSchultz
MarcosSchultz
MarcosSchultz
joabr
MarcosSchultz
MarcosSchultz
marcos4503
sabbath
Callyde Jr
artplayer
Chilinger
Manawydan
Willian Wii
Pedro Canassa Garcia
MateusWTP
Willian Wii
tom ramber
RenanMSV
Willian Wii
AndyShow
dstaroski
Kaiky leandro
Kaiky leandro
ismarspn
Willian Wii
GamersBR
hen000
Weverton Borges da Silva
Weverton Borges da Silva
hen000
John Rambo
Manawydan
bymaxbig
MarcosSchultz

[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 : 7527
REPUTAÇÃO : 995
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 : 167
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 : 492
REPUTAÇÃO : 7
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 : 7527
REPUTAÇÃO : 995
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 : 492
REPUTAÇÃO : 7
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 : 7527
REPUTAÇÃO : 995
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