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:
Verificar inventario
Render texture invertida
Como fazer barco estilo minecraft ou estilo navio que da pra andar dentro
Como fazer para o tiro ir para a direção onde o cano está apontado e não para cima
Como locomover um trem
Me ajudem, com a criação de terreno !
Pequeno problema com no Debug
Unity Ads ou AdMob!
Como fazer Escudo seguir a movimentação do Player?
Building System
TELEPORT 2D
Adicionar linhas no TXT pelo codigo
[TUTORIAL] Sistema de inventário Sobrevivência
Formação De Equipe Pra Criar RPG
Como não perder qualidade nas texturas 2d?
IDB JAM #10
MOVIMENTAÇÃO EM 8 DIREÇÕES.
animações não sendo reproduzidas
Seguir um raio no raycast a partir do ponto da tela clicado
Personagem morrer ao cair da tela
Deixar objeto invisível.
[____TÓPICO LIVRE____] FALE O QUE QUISER (Parte 2)
Divulgaçao de Battle of Worlds
[Resolvido]Problema nesse pequeno script
Movimentação
Puzzle para jogo de terror , abrir portas etc..
Script para mudar posição do personagem
Baixos Brasil - Jogo de Carro Brasileiro!
Como saber quando minha animação terminou?
system inventory , craft
ajuda
Aplicar roupa no Rig do blender...
Project Valley of Trees - Primeiro nome que faz sentido KK
A.S TRUCK
Som de correr não para de tocar
Reproduzir audio no if c## e musica continuar tocando entre cenas.
Como Colocar Pontuação Final na GUI de GAME OVER
Unity 2017 Iluminação RealTime VS Baked [Comparaçâo]
DUVIDA : Raycast
Programador para equipe
Da pra colocar sisteminha em um jogo da unity pra trolar quem for piratear o jogo?
Como colocar musicas em sequencia para tocar?
Trajetória da bala com predição
Ajudinha com Bug
[RESOLVIDO] Poblema com Rigidbody
[DEVLOG] Projeto - Girl Blade (download Pré-Alpha)
Erro ao bulidar para Windows(.exe)
Mudar a gravidade com rotação (sensores do smartphone)
Problemas na detecção de colisão
Trabalhar simultaneamente na Unity
Movimetaçao infinita
(duvida)pq isso acontece com o inimigo?
[TUTORIAL] Unity 5 - Wheel Collider, veículos, suspensão realista.
[DUVIDA] Como alterar a intensidade do ChromaticAberration do PostProcessing?
Joystick VR não funciona no ios
Problema na minha animação feita na Unity
[TUTORIAL] Unity 5 - Como criar o próprio FPS Controller
IA para inimigo seguir o jogador ( Plataforma )
Tirar Fotos no Unity 5 FPS
[TUTORIAL] Cena inicial de CARREGAMENTO, creditos, logo, etc [UNITY 5]
Como Limitar Spawn de Hordas
Desmembramento
Exemplo de UI com abas - utilizando toggles e toggle group.
Ajuda Blender
Quando Instancio botão ele não aparece no canvas
Sistema de pesca 2D
[TUTORIAL] Derrubar arvores e dropar madeiras dela
Auto-Complete do Visual Studios
Metroidvania - procuro membros
Criação de Update para Seus jogos?
Blender, animação + Unity
Preciso de alguém que desenvolva Craft, e Inventario com sistema de Bolsas, Pago bem
Detectar Hit
[MODELADOR] Procurando Projetos
Carákas que Tops WO.OW
Anexar GameObject por scrit
Como cria um sistema de seve game
[DUVIDA] Trocar botoes no teclado por joystick UI
Efeito de Audio
Bug de sumir todas as modelagens 3D na unity 2017
Quero fazer minha propria lens flare
Menu para selecao de cena
Dificuldades com programação no Unity 5 2D
Bug ? offline e online
Conflito de ações HELP
como saber a posição que a particula bateu?
Formação de Equipe Battle of Worlds
[JOGO EM BETA] Batalha de Canhão
Jogo de sobrevivência na ilha PRE-Alpha
Inimigo ao encostar morre e player leva dano UNITY 5 2D
Como faço blocos que somem so clikando neles 1 vez?
Light Bug
Como criar inventário simples no unity
Como fasso para que clico em um botao e aumente o volume junto com grave em uma musica?
como que criar um sitema tipo o do rocket league
tem como criar um modelo no sketchup e exportar pra unity, mas sem os componentes
(duvida)pq aconteçe isso com a luz
Como posso deixar o MENU do meu jogo adequado ao monitor?
Dúvida com o Update
Hoje à(s) 9:49 pm
Hoje à(s) 9:37 pm
Hoje à(s) 9:36 pm
Hoje à(s) 9:31 pm
Hoje à(s) 7:17 pm
Hoje à(s) 6:16 pm
Hoje à(s) 5:37 pm
Hoje à(s) 4:35 pm
Hoje à(s) 4:02 pm
Hoje à(s) 3:54 pm
Hoje à(s) 12:19 pm
Hoje à(s) 12:17 pm
Hoje à(s) 11:00 am
Hoje à(s) 9:00 am
Ontem à(s) 11:07 pm
Ontem à(s) 9:27 pm
Ontem à(s) 7:22 pm
Ontem à(s) 7:17 pm
Ontem à(s) 6:01 pm
Ontem à(s) 9:57 am
Ontem à(s) 7:07 am
Ontem à(s) 12:13 am
Ter Set 19, 2017 11:53 pm
Ter Set 19, 2017 10:15 pm
Ter Set 19, 2017 8:34 pm
Ter Set 19, 2017 7:40 pm
Ter Set 19, 2017 4:29 pm
Ter Set 19, 2017 12:25 pm
Ter Set 19, 2017 12:14 pm
Ter Set 19, 2017 10:55 am
Ter Set 19, 2017 10:26 am
Ter Set 19, 2017 8:21 am
Ter Set 19, 2017 2:42 am
Seg Set 18, 2017 10:20 pm
Seg Set 18, 2017 9:16 pm
Seg Set 18, 2017 8:40 pm
Seg Set 18, 2017 8:39 pm
Seg Set 18, 2017 8:08 pm
Seg Set 18, 2017 4:33 pm
Seg Set 18, 2017 2:22 pm
Seg Set 18, 2017 12:15 pm
Seg Set 18, 2017 9:33 am
Seg Set 18, 2017 8:21 am
Seg Set 18, 2017 12:59 am
Dom Set 17, 2017 5:04 pm
Dom Set 17, 2017 3:45 pm
Dom Set 17, 2017 10:49 am
Sab Set 16, 2017 11:18 pm
Sab Set 16, 2017 5:57 pm
Sab Set 16, 2017 4:10 pm
Sab Set 16, 2017 3:05 pm
Sab Set 16, 2017 2:23 pm
Sab Set 16, 2017 12:40 pm
Sab Set 16, 2017 12:16 pm
Sab Set 16, 2017 10:17 am
Sab Set 16, 2017 9:53 am
Sab Set 16, 2017 9:26 am
Sab Set 16, 2017 9:10 am
Sex Set 15, 2017 11:51 pm
Sex Set 15, 2017 8:27 pm
Sex Set 15, 2017 7:27 pm
Sex Set 15, 2017 6:17 pm
Sex Set 15, 2017 3:08 pm
Sex Set 15, 2017 11:19 am
Sex Set 15, 2017 9:43 am
Qui Set 14, 2017 11:50 pm
Qui Set 14, 2017 9:08 pm
Qui Set 14, 2017 3:17 pm
Qui Set 14, 2017 1:55 pm
Qui Set 14, 2017 12:13 pm
Qui Set 14, 2017 10:07 am
Qua Set 13, 2017 9:52 pm
Qua Set 13, 2017 11:34 am
Ter Set 12, 2017 10:33 pm
Ter Set 12, 2017 10:21 pm
Ter Set 12, 2017 9:34 pm
Ter Set 12, 2017 8:52 pm
Ter Set 12, 2017 8:51 pm
Ter Set 12, 2017 7:05 pm
Ter Set 12, 2017 6:53 pm
Ter Set 12, 2017 6:51 pm
Ter Set 12, 2017 3:04 pm
Ter Set 12, 2017 2:04 pm
Ter Set 12, 2017 11:54 am
Ter Set 12, 2017 9:59 am
Ter Set 12, 2017 9:43 am
Ter Set 12, 2017 12:17 am
Seg Set 11, 2017 8:54 pm
Seg Set 11, 2017 8:48 pm
Seg Set 11, 2017 8:12 pm
Seg Set 11, 2017 7:18 pm
Seg Set 11, 2017 6:15 pm
Seg Set 11, 2017 6:02 pm
Seg Set 11, 2017 5:31 pm
Seg Set 11, 2017 5:22 pm
Seg Set 11, 2017 5:06 pm
Seg Set 11, 2017 4:53 pm
Seg Set 11, 2017 4:17 pm
Seg Set 11, 2017 4:15 pm
916anderson
g
Unidade3d5
Weslley
Zecandy
EndStarsProgramming2
ManoTrevor
guimaraf
JorgeLuizxd
AndyShow
Weslley
Weslley
916anderson
Bruno
JorgeLuizxd
dimmuo
Weslley
Phph09
Weslley
Bruno
GabriG07
Dom3000
Dom3000
g
Weslley
Zecandy
Weslley
Duarte
artplayer
PatifeCraft
Lteo
Fagner
Madness
PatifeCraft
dstaroski
eduu10
JorgeLuizxd
MateusWTP
Weslley
Brunotrinkss
guimaraf
Weslley
guimaraf
ManoTrevor
PedroL123
dstaroski
GabriG07
Brgs886
Madness
Fagner
PedroL123
glauco
Callyde Jr
JorgeLuizxd
Henrique Ramires
Weslley
Weslley
Weslley
Weslley
Weslley
Weslley
916anderson
rafaelllsd
Fagner
Fagner
rafaelllsd
PatifeCraft
Weslley
Carlin
artplayer
Ronnisz
Jhonatham1
Callyde Jr
mrariel2011
AndyShow
Fagner
PatifeCraft
Alerson Software
AndyShow
AndyShow
AndyShow
Alessandra Matheus
Lteo
Callyde Jr
Weslley
Dom3000
Dom3000
dstaroski
dstaroski
guilhermeprata
DUT
Duarte
PatifeCraft
heliab125
MarcosSchultz
MarcosSchultz
glauco
MarcosSchultz
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.
avatar
MarcosSchultz
Administrador

Masculino PONTOS : 9668
REPUTAÇÃO : 1664
Idade : 21
Á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 : 438
REPUTAÇÃO : 4
Idade : 15
Á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 : 784
REPUTAÇÃO : 10
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 : 9668
REPUTAÇÃO : 1664
Idade : 21
Á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 : 784
REPUTAÇÃO : 10
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 : 9668
REPUTAÇÃO : 1664
Idade : 21
Á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 Gabriel César O em Sex Jul 21, 2017 7:19 pm

NOSSA QUE TUTO TOP! ^^ 10/10
avatar
Gabriel César O
Programador

Masculino PONTOS : 1380
REPUTAÇÃO : 207
Idade : 16
Áreas de atuação : (ESTUDANDO SEGUNDO GRAU), (FUÇANDO NO UNITY)){
Respeito as regras :

Ver perfil do usuário

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