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:
Tunagem de veiculos
Jogo não abre clicando no Play na Unity
Protegendo o código fonte por meio de criptografia, contra hackers? Oque vocês usam?
Cursos Para Areá da Informatica
Precisamos de Modeladores e Animadores 3D
Modelagem do braço personagem
[TUTORIAL] Camera orbital com zoom (scroll)
Como manter um valor salvo na cena1 e zera-lo na outra cena para uma nova pontuação???
[____TÓPICO LIVRE____] FALE O QUE QUISER (Parte 2)
Porta com Códicos para abri-la
DUVIDA MENSAGEM APARECER NA TELA
como faço para mover a textura de um objeto dentro do canvas (sistema UI)
KIT de Tiro em 3° Pessoa
Instanciar Objeto em Distancia Certa!
Perde vida e CheckPoint?
[ENQUETE] Modelo com normal map e diferença - Aula de Bake
VENHAM CONTEMPLAR CUBOID! E entrem para a equipe!
Ajuda em Script de colisao na unity
Como separar um audio na unity ?
Sistema de Localization " Multi Idiomas para jogos"
[Game] World Adventure (Nova Beta)
Esvaziar GridLayoutGroup.
Duvida Com Tiro LineCast Jogo 2D
Scale do objeto conforme resolução de tela
Ignorar Objetos anteriores da Lista
Minha textura não aparece
Formação de equipa para o Jogo Until the last
[Alpha Android] - Night Hunter DevLog - Action RPG (25 de julho de 2017) Baixe!
Dúvida de Botões mobile, no c#???
[DEVLOG] Projeto - Girl Blade
[TUTORIAL] Unity 5 - Sistema Completo de PORTAS E CHAVES
Quanto custa $$$ ?
Resolução De Tela x 2D Mobile Game
Load e Save?
(DUVIDA)PlayerPrefs
[TUTORIAL] Android - Sistema de controle third person shooter, Joystick + Swipe camera
Visual Stuido Duvida SIMPLES !! ME AJUDEM !! HELP
Duvida com o visual studio
Tutorial de Fps Multiplayer
[____ASSET____] MS Vehicle System (FREE VERSION)
Eu não consigo abrir o monodevelop
Erro ao alterar variável em tempo de execução !???
Como posso fazer para que o braço do meu personagem siga a minha câmera?
Inimigo Em C# Seguir e Atacar o Player !
Editar um material individual.
[TUTORIAL] Unity 5 - Botão contínuo usando UI (Manter pressionado)
clicar com o botão direito do mouse em um BOTÃO
Como criar a mira de armas em personagens em terceira pessoa
Como usar o script da unity "MouseLook" em outros scripts ?
[DUVIDA]Como usar o setActive no photon
Diminuir a velocidade do veiculo Ativa um setActive
[____ADMINISTRAÇÃO____] PRECISO DE AJUDA [DICA PARA SER AJUDADO]
Script para Câmera em primeira pessoa.
[TUTORIAL] Luz Principal,Luz de Freio,Piscas para Carro,Moto,Caminhão,Ônibus,Etc...
[____APOIE O FÓRUM E O CANAL E GANHE RECOMPENSAS____]
[_____CRONOGRAMA DO CANAL_____]
Pulo 2D
Rotação apontando para um Objeto.
Baixe grátis modelos 3D - Hospital + objetos e personagens equipados com ossos
Controlar luz de fundo no Android
[RESOLVIDO] Script para cubo aparecer
Criar SplashScreen entre duas cenas
Duvida com Animacoes
(Avaliem) Menu interativo simples
Gerador de mesh procedual
Opiniões para carregar prefabs pesados: Resources, Asset Bundles ou cenas?
Como coloco video do youtube
Audio Player C#
Algum tutorial sobre multiplayer simples é em portugues???
Meu jogo: Cuboid (v0.1.0)
VSync ??
Duvida com o Terrain da Unity5
Vagas para o Naufrágio, um jogo sobrevivência que estou desenvolvendo
Ajuda para desenvolvimentos dos jogos de vocês
Sistema de Trafego de Carros e Pedestres!
[RESOLVIDO] Braço esta desaparecendo alguem pode me dizer? vejam o video
inimigo atirar no player
Update desenvolvimento do meu jogo Epic Survival (Re Survival :D)
Como retornar "false" se um objeto não existir?
Opinião sobre modelo feito no Blender
Como faz a geração de terreno aleatório???
Bugs na textura
O que voces esperam em um jogo onde voce e um peixe???
[Equipe] Equipe para jogo tower defense low poly
COMO FAZER UM SISTEMA DE PARKOUR (SEM ANIMACAO) IDEIAS
Arrastar um botão ao manter o mouse pressionado
como reconhecer a ''face'' de uma mesh da agua
Oque acham dessa Meia Historia para meu jogo de sobrevivencia!
PESSOAL PRA VOCÊS OQUE TEM QUE TER EM UM JOGO DE SOBREVIVENCIA?
Duvidas sobre a criação de jogos para celular
Grupo de desenvolvimento no Discord
[RESOLVIDO] jogo buga a textura (manchas azuis e vermelhas)
ROTACIONAR NO ÂNGULO DO GAMEOBJECT
dúvida sobre resolução para mobile
[RESOLVIDO] CAMERA NÃO VISUALIZA LENS FLARE
Ajuda com scripts de inimigo e player'' interação de zumbi e player''
como abrir o app de email a partir de um jogo unity ?
[DÚVIDA] [2D] ALTERAR SPRITE SEM PRECISAR IMPORTAR DE NOVO
Bug Unity ?
Hoje à(s) 12:38 pm
Hoje à(s) 11:57 am
Hoje à(s) 11:35 am
Hoje à(s) 11:22 am
Hoje à(s) 8:41 am
Hoje à(s) 8:22 am
Ontem à(s) 10:38 pm
Ontem à(s) 10:35 pm
Ontem à(s) 10:33 pm
Ontem à(s) 10:32 pm
Ontem à(s) 10:26 pm
Ontem à(s) 10:21 pm
Ontem à(s) 10:00 pm
Ontem à(s) 9:33 pm
Ontem à(s) 7:21 pm
Ontem à(s) 6:40 pm
Ontem à(s) 4:04 pm
Ontem à(s) 3:11 pm
Ontem à(s) 1:33 pm
Ontem à(s) 11:46 am
Ontem à(s) 10:26 am
Ontem à(s) 9:56 am
Ontem à(s) 8:59 am
Qua Jul 26, 2017 11:24 pm
Qua Jul 26, 2017 11:16 pm
Qua Jul 26, 2017 10:37 pm
Qua Jul 26, 2017 9:52 pm
Qua Jul 26, 2017 9:42 pm
Qua Jul 26, 2017 8:52 pm
Qua Jul 26, 2017 8:19 pm
Qua Jul 26, 2017 7:59 pm
Qua Jul 26, 2017 6:58 pm
Qua Jul 26, 2017 6:50 pm
Qua Jul 26, 2017 6:45 pm
Qua Jul 26, 2017 6:35 pm
Qua Jul 26, 2017 5:29 pm
Qua Jul 26, 2017 5:20 pm
Qua Jul 26, 2017 5:17 pm
Qua Jul 26, 2017 4:12 pm
Qua Jul 26, 2017 4:03 pm
Qua Jul 26, 2017 3:47 pm
Qua Jul 26, 2017 3:43 pm
Qua Jul 26, 2017 3:29 pm
Qua Jul 26, 2017 3:26 pm
Qua Jul 26, 2017 3:22 pm
Qua Jul 26, 2017 3:20 pm
Qua Jul 26, 2017 3:19 pm
Qua Jul 26, 2017 3:17 pm
Qua Jul 26, 2017 3:13 pm
Qua Jul 26, 2017 3:08 pm
Qua Jul 26, 2017 3:05 pm
Qua Jul 26, 2017 2:41 pm
Qua Jul 26, 2017 2:28 pm
Qua Jul 26, 2017 2:27 pm
Qua Jul 26, 2017 2:22 pm
Qua Jul 26, 2017 1:55 pm
Qua Jul 26, 2017 1:54 pm
Qua Jul 26, 2017 1:50 pm
Qua Jul 26, 2017 12:35 pm
Qua Jul 26, 2017 11:43 am
Qua Jul 26, 2017 9:42 am
Qua Jul 26, 2017 9:22 am
Qua Jul 26, 2017 1:58 am
Ter Jul 25, 2017 9:37 pm
Ter Jul 25, 2017 3:58 pm
Ter Jul 25, 2017 9:26 am
Ter Jul 25, 2017 6:38 am
Ter Jul 25, 2017 2:42 am
Ter Jul 25, 2017 2:19 am
Seg Jul 24, 2017 11:25 pm
Seg Jul 24, 2017 10:51 pm
Seg Jul 24, 2017 9:53 pm
Seg Jul 24, 2017 9:00 pm
Seg Jul 24, 2017 8:54 pm
Seg Jul 24, 2017 8:11 pm
Seg Jul 24, 2017 5:04 pm
Seg Jul 24, 2017 2:20 pm
Seg Jul 24, 2017 2:09 pm
Seg Jul 24, 2017 12:54 pm
Seg Jul 24, 2017 9:18 am
Dom Jul 23, 2017 10:16 pm
Dom Jul 23, 2017 7:53 pm
Dom Jul 23, 2017 5:36 pm
Dom Jul 23, 2017 5:34 pm
Dom Jul 23, 2017 4:14 pm
Dom Jul 23, 2017 2:52 pm
Dom Jul 23, 2017 10:51 am
Dom Jul 23, 2017 5:35 am
Dom Jul 23, 2017 5:32 am
Dom Jul 23, 2017 5:30 am
Dom Jul 23, 2017 1:56 am
Sab Jul 22, 2017 9:42 pm
Sab Jul 22, 2017 8:31 pm
Sab Jul 22, 2017 7:30 pm
Sab Jul 22, 2017 7:19 pm
Sab Jul 22, 2017 4:05 pm
Sab Jul 22, 2017 3:04 pm
Sab Jul 22, 2017 2:35 pm
Sab Jul 22, 2017 10:49 am
lucasfera15
dstaroski
IanLuan
IanLuan
joabr
joabr
Gregory2017
Duarte
glauco
John Rambo
IanLuan
deloam
IanLuan
Duarte
Callyde Jr
MonsaM
NyanHeavyBR
giocanhestro98
ManoTrevor
IanLuan
Mateus2583
Gilliard
roger224
mathalx
Duarte
Psyvamp
xXGianlucksXx
IanLuan
thiagograssi
dstaroski
nilsonnolasco
mathalx
mathalx
Callyde Jr
Zecandy
thiagograssi
ManoTrevor
ManoTrevor
Rodz
MarcosSchultz
MarcosSchultz
MarcosSchultz
MarcosSchultz
MarcosSchultz
MarcosSchultz
MarcosSchultz
MarcosSchultz
MarcosSchultz
MarcosSchultz
MarcosSchultz
MarcosSchultz
joabr
MarcosSchultz
MarcosSchultz
dstaroski
MarcosSchultz
MarcosSchultz
MarcosSchultz
joabr
dstaroski
glauco
edfisicaweb
rafaelllsd
zMicael
Huser
marcos4503
Madness
thiagograssi
fecirineu
cody0033
Extreme Craft
marcos4503
Onagro
arthearthutr
Duarte
glauco
deikson
zMicael
Joaopm1
dstaroski
Madness
Yagogomes
IanLuan
IanLuan
rafaelllsd
ManoTrevor
thzin
vermelhinho
vermelhinho
vermelhinho
dimmuo
Extreme Craft
marcos4503
marcos4503
Diego Felix
Robinsandi
marcos4503
IanLuan
sidney1234

[TUTORIAL] Sistema COMPLETO de câmeras

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

TUTORIAL [TUTORIAL] Sistema COMPLETO de câmeras

Mensagem por MarcosSchultz em Qua Jan 11, 2017 3:59 pm

Olá galera, desenvolvi este sistema completo de câmeras para o meu asset de veículos, e estou disponibilizando para vocês Very Happy

Vídeo:





//A camera "OlharParaOPlayer" fica olhando para o objeto que contém o script. Não necessita estar filiada ao jogador
//A camera "primeiraPessoa" funciona como um MouseLook, e necessita estar filiada ao jogador
//A camera "SeguirPlayer" segue o objeto que contém o script.
//A camera "orbital" orbita o objeto que contém o script
//A camera "parada" não possui função alguma além de ser ativada ou desativada. Pode estar em qualquer lugar
//A camera "paradaRetilinea" fica sempre na mesma posição e rotação, mas mantém o horizonte sempre reto. Ideal para visão de veículos.
//A camera "OrbitalQueSeque" é uma camera orbital que assume a função de seguir o player caso não exista nenhum input do Mouse

//A camera "CameraEstiloETS" é uma câmera em primeira pessoa que funciona como um MouseLook, mas se desloca para fora do veículo quando olhamos para a esquerda.


Script utilizado:
Código:
using UnityEngine;
using System;

//
//A camera "OlharParaOPlayer" fica olhando para o objeto que contém o script. Não necessita estar filiada ao jogador
//A camera "primeiraPessoa" funciona como um MouseLook, e necessita estar filiada ao jogador
//A camera "SeguirPlayer" segue o objeto que contém o script.
//A camera "orbital" orbita o objeto que contém o script
//A camera "parada" não possui função alguma além de ser ativada ou desativada. Pode estar em qualquer lugar
//A camera "paradaRetilinea" fica sempre na mesma posição e rotação, mas mantém o horizonte sempre reto. Ideal para visão de veículos.
//A camera "OrbitalQueSeque" é uma camera orbital que assume a função de seguir o player caso não exista nenhum input do Mouse
//A camera "CameraEstiloETS" é uma câmera em primeira pessoa que funciona como um MouseLook, mas se desloca para fora do veículo quando olhamos para a esquerda.
//

[Serializable]
public class TipoDeCam {
 public Camera _camera;
 public enum TipoRotac{OlharParaOPlayer, primeiraPessoa, SeguirPlayer, orbital, parada, paradaRetilinea, OrbitalQueSegue, CameraEstiloETS}
 public TipoRotac TipoDeRotacao = TipoRotac.OlharParaOPlayer;
 [Range(0.0f,1.0f)] public float volume = 1;
}
[Serializable]
public class ConfigsCamera {
 public KeyCode TeclaTrocarDeCamera = KeyCode.C;
 [Range(1,20)] public float sensibilidade = 10.0f;
 [Range(0,360)] public float anguloHorizntal = 65.0f;
 [Range(0,85)] public float anguloVertical = 20.0f;
 [Range(1,20)] public float velocidadeCameraSeguir = 5.0f;
 [Range(1,30)] public float velocidadeCameraGirar = 15.0f;
 [Range(0.5f,3.0f)] public float deslocamentoCameraETS = 2.0f;
 public ConfigsCameraOrbital cameraOrbital;
}
[Serializable]
public class ConfigsCameraOrbital {
 [Range(0.01f,2.0f)] public float sensibilidade = 0.8f, velocidadeScrool = 1.0f, velocidadeY = 0.5f;
 [Range(3.0f,20.0f)] public float distanciaMinima = 5.0f;
 [Range(20.0f,1000.0f)] public float distanciaMaxima = 50.0f;
}

public class Cameras : MonoBehaviour {

 public TipoDeCam[] cameras;
 public ConfigsCamera ConfiguracoesCameras;

 private int indiceCameras = 0;
 private float rotacaoX = 0.0f,rotacaoY = 0.0f, tempoOrbit = 0.0f, rotacaoXETS = 0.0f, rotacaoYETS = 0.0f;
 private GameObject[] objetosPosicCamerasParadasRetilineas;
 private Quaternion[] rotacaoOriginalCameras;
 private GameObject[] posicaoOriginalCameras;
 private float[] xOrbit,yOrbit,distanciaCameraOrbit;
 private bool orbitalAtiv;
 Vector3[] posicOriginalCameraETS;
 void Awake(){
 objetosPosicCamerasParadasRetilineas = new GameObject[cameras.Length];
 rotacaoOriginalCameras = new Quaternion[cameras.Length];
 posicaoOriginalCameras = new GameObject[cameras.Length];
 posicOriginalCameraETS = new Vector3[cameras.Length];
 xOrbit = new float[cameras.Length];
 yOrbit = new float[cameras.Length];
 distanciaCameraOrbit = new float[cameras.Length];
 for (int x = 0; x < cameras.Length; x++) {
 distanciaCameraOrbit[x] = ConfiguracoesCameras.cameraOrbital.distanciaMinima;
 if (cameras [x]._camera == null) {
 Debug.LogError ("Não existe nenhuma camera linkada no indice  " + x);
 }
 if (cameras [x].TipoDeRotacao == TipoDeCam.TipoRotac.paradaRetilinea) {
 objetosPosicCamerasParadasRetilineas [x] = new GameObject ("posicaoDaCameraParadaRetilinea"+x);
 objetosPosicCamerasParadasRetilineas [x].transform.parent = cameras [x]._camera.transform;
 objetosPosicCamerasParadasRetilineas [x].transform.localPosition = new Vector3 (0, 0, 1.0f);
 objetosPosicCamerasParadasRetilineas [x].transform.parent = transform;
 }
 if (cameras [x].TipoDeRotacao == TipoDeCam.TipoRotac.primeiraPessoa) {
 rotacaoOriginalCameras [x] = cameras [x]._camera.transform.localRotation;
 }
 if (cameras [x].TipoDeRotacao == TipoDeCam.TipoRotac.SeguirPlayer) {
 posicaoOriginalCameras [x] = new GameObject ("posicaoDaCameraSeguir" + x);
 posicaoOriginalCameras [x].transform.parent = transform;
 posicaoOriginalCameras [x].transform.localPosition = cameras [x]._camera.transform.localPosition;
 transform.gameObject.layer = 2;
 foreach (Transform trans in this.gameObject.GetComponentsInChildren<Transform>(true)) {
 trans.gameObject.layer = 2;
 }
 }
 if (cameras [x].TipoDeRotacao == TipoDeCam.TipoRotac.orbital) {
 xOrbit [x] = cameras [x]._camera.transform.eulerAngles.x;
 yOrbit [x] = cameras [x]._camera.transform.eulerAngles.y;
 transform.gameObject.layer = 2;
 foreach (Transform trans in this.gameObject.GetComponentsInChildren<Transform>(true)) {
 trans.gameObject.layer = 2;
 }
 }
 if (cameras [x].TipoDeRotacao == TipoDeCam.TipoRotac.OrbitalQueSegue) {
 xOrbit [x] = cameras [x]._camera.transform.eulerAngles.x;
 yOrbit [x] = cameras [x]._camera.transform.eulerAngles.y;
 //
 posicaoOriginalCameras [x] = new GameObject ("posicaoDaCameraSeguir" + x);
 posicaoOriginalCameras [x].transform.parent = transform;
 posicaoOriginalCameras [x].transform.localPosition = cameras [x]._camera.transform.localPosition;
 //
 transform.gameObject.layer = 2;
 foreach (Transform trans in this.gameObject.GetComponentsInChildren<Transform>(true)) {
 trans.gameObject.layer = 2;
 }
 }
 if (cameras [x].TipoDeRotacao == TipoDeCam.TipoRotac.CameraEstiloETS) {
 rotacaoOriginalCameras [x] = cameras [x]._camera.transform.localRotation;
 posicOriginalCameraETS [x] = cameras [x]._camera.transform.localPosition;
 }
 AudioListener captadorDeSom = cameras [x]._camera.GetComponent<AudioListener> ();
 if (captadorDeSom == null) {
 cameras [x]._camera.transform.gameObject.AddComponent (typeof(AudioListener));
 }
 }
 }

 void Start(){
 AtivarCameras (indiceCameras);
 }

 void AtivarCameras (int indicePedido){
 if (cameras.Length > 0) {
 for (int x = 0; x < cameras.Length; x++) {
 if (x == indicePedido) {
 cameras [x]._camera.gameObject.SetActive (true);
 } else {
 cameras [x]._camera.gameObject.SetActive (false);
 }
 }
 }
 }

 void GerenciarCameras(){
 for (int x = 0; x < cameras.Length; x++) {
 if (cameras [x].TipoDeRotacao == TipoDeCam.TipoRotac.SeguirPlayer) {
 if (cameras [x]._camera.isActiveAndEnabled) {
 cameras [x]._camera.transform.parent = null;
 } else {
 cameras [x]._camera.transform.parent = transform;
 }
 }
 }
 //
 AudioListener.volume = cameras [indiceCameras].volume;
 //
 float velocidadeTimeScale = 1.0f / Time.timeScale;
 switch (cameras[indiceCameras].TipoDeRotacao ) {
 case TipoDeCam.TipoRotac.parada:
 //camera parada, nao faz nada
 break;
 case TipoDeCam.TipoRotac.paradaRetilinea:
 var newRotationDest = Quaternion.LookRotation(objetosPosicCamerasParadasRetilineas[indiceCameras].transform.position - cameras [indiceCameras]._camera.transform.position, Vector3.up);
 cameras [indiceCameras]._camera.transform.rotation = Quaternion.Slerp(cameras [indiceCameras]._camera.transform.rotation, newRotationDest, Time.deltaTime * 15.0f);
 break;
 case TipoDeCam.TipoRotac.OlharParaOPlayer:
 cameras [indiceCameras]._camera.transform.LookAt (transform.position);
 break;
 case TipoDeCam.TipoRotac.primeiraPessoa:
 rotacaoX += Input.GetAxis ("Mouse X") * ConfiguracoesCameras.sensibilidade;
 rotacaoY += Input.GetAxis ("Mouse Y") * ConfiguracoesCameras.sensibilidade;
 rotacaoX = ClampAngle (rotacaoX, -ConfiguracoesCameras.anguloHorizntal, ConfiguracoesCameras.anguloHorizntal);
 rotacaoY = ClampAngle (rotacaoY, -ConfiguracoesCameras.anguloVertical, ConfiguracoesCameras.anguloVertical);
 Quaternion xQuaternion = Quaternion.AngleAxis (rotacaoX, Vector3.up);
 Quaternion yQuaternion = Quaternion.AngleAxis (rotacaoY, -Vector3.right);
 Quaternion rotacFinal = rotacaoOriginalCameras [indiceCameras] * xQuaternion * yQuaternion;
 cameras [indiceCameras]._camera.transform.localRotation = Quaternion.Lerp (cameras [indiceCameras]._camera.transform.localRotation, rotacFinal, Time.deltaTime*10.0f*velocidadeTimeScale);
 break;
 case TipoDeCam.TipoRotac.SeguirPlayer:
 //camera seguir
 RaycastHit hit;
 float velocidade = ConfiguracoesCameras.velocidadeCameraSeguir;
 if (!Physics.Linecast (transform.position, posicaoOriginalCameras [indiceCameras].transform.position)) {
 cameras [indiceCameras]._camera.transform.position = Vector3.Lerp (cameras [indiceCameras]._camera.transform.position, posicaoOriginalCameras [indiceCameras].transform.position, Time.deltaTime * velocidade);
 }
 else if(Physics.Linecast(transform.position, posicaoOriginalCameras [indiceCameras].transform.position,out hit)){
 cameras [indiceCameras]._camera.transform.position = Vector3.Lerp(cameras [indiceCameras]._camera.transform.position, hit.point,Time.deltaTime * velocidade);
 }
 //camera rodar
 float velocidadeGir = ConfiguracoesCameras.velocidadeCameraGirar;
 var newRotation = Quaternion.LookRotation(transform.position - cameras [indiceCameras]._camera.transform.position, Vector3.up);
 cameras [indiceCameras]._camera.transform.rotation = Quaternion.Slerp(cameras [indiceCameras]._camera.transform.rotation, newRotation, Time.deltaTime * velocidadeGir);
 break;
 case TipoDeCam.TipoRotac.orbital:
 float sensibilidade = ConfiguracoesCameras.cameraOrbital.sensibilidade;
 float distMin = ConfiguracoesCameras.cameraOrbital.distanciaMinima;
 float distMax = ConfiguracoesCameras.cameraOrbital.distanciaMaxima;
 float velocidadeScrool = ConfiguracoesCameras.cameraOrbital.velocidadeScrool * 50.0f;
 float sensYMouse = ConfiguracoesCameras.cameraOrbital.velocidadeY * 10.0f;
 //
 RaycastHit hit2;
 if (!Physics.Linecast (transform.position, cameras [indiceCameras]._camera.transform.position)) {

 } else if (Physics.Linecast (transform.position, cameras [indiceCameras]._camera.transform.position, out hit2)) {
 distanciaCameraOrbit [indiceCameras] = Vector3.Distance (transform.position, hit2.point);
 distMin = Mathf.Clamp ((Vector3.Distance (transform.position, hit2.point)), distMin * 0.5f, distMax);
 }
 //
 xOrbit [indiceCameras] += Input.GetAxis ("Mouse X") * (sensibilidade * distanciaCameraOrbit [indiceCameras])/(distanciaCameraOrbit [indiceCameras]*0.5f);
 yOrbit [indiceCameras] -= Input.GetAxis ("Mouse Y") * sensibilidade * sensYMouse;
 yOrbit [indiceCameras] = ClampAngle (yOrbit [indiceCameras], 0.0f, 85.0f);
 Quaternion rotation = Quaternion.Euler (yOrbit [indiceCameras], xOrbit [indiceCameras], 0);
 distanciaCameraOrbit [indiceCameras] = Mathf.Clamp (distanciaCameraOrbit [indiceCameras] - Input.GetAxis ("Mouse ScrollWheel") * velocidadeScrool, distMin, distMax);
 Vector3 negDistance = new Vector3 (0.0f, 0.0f, -distanciaCameraOrbit [indiceCameras]);
 Vector3 position = rotation * negDistance + transform.position;
 Vector3 posicAtual = cameras [indiceCameras]._camera.transform.position;
 Quaternion rotacAtual = cameras [indiceCameras]._camera.transform.rotation;
 cameras [indiceCameras]._camera.transform.rotation = Quaternion.Lerp(rotacAtual,rotation,Time.deltaTime*5.0f*velocidadeTimeScale);
 cameras [indiceCameras]._camera.transform.position = Vector3.Lerp(posicAtual,position,Time.deltaTime*5.0f*velocidadeTimeScale);
 break;
 case TipoDeCam.TipoRotac.OrbitalQueSegue:
 float movX = Input.GetAxis ("Mouse X");
 float movY = Input.GetAxis ("Mouse Y");
 float movZ = Input.GetAxis ("Mouse ScrollWheel");

 if (movX > 0.0f || movY > 0.0f || movZ > 0.0f) {
 orbitalAtiv = true;
 tempoOrbit = 0.0f;
 } else {
 tempoOrbit += Time.deltaTime;
 }
 if (tempoOrbit > 3.0f) {
 tempoOrbit = 3.1f;
 orbitalAtiv = false;
 }
 if(orbitalAtiv == true){
 float _sensibilidade = ConfiguracoesCameras.cameraOrbital.sensibilidade;
 float _distMin = ConfiguracoesCameras.cameraOrbital.distanciaMinima;
 float _distMax = ConfiguracoesCameras.cameraOrbital.distanciaMaxima;
 float _velocidadeScrool = ConfiguracoesCameras.cameraOrbital.velocidadeScrool * 50.0f;
 float _sensYMouse = ConfiguracoesCameras.cameraOrbital.velocidadeY * 10.0f;
 //
 RaycastHit _hit;
 if (!Physics.Linecast (transform.position, cameras [indiceCameras]._camera.transform.position)) {

 } else if (Physics.Linecast (transform.position, cameras [indiceCameras]._camera.transform.position, out _hit)) {
 distanciaCameraOrbit [indiceCameras] = Vector3.Distance (transform.position, _hit.point);
 _distMin = Mathf.Clamp ((Vector3.Distance (transform.position, _hit.point)), _distMin * 0.5f, _distMax);
 }
 //
 xOrbit [indiceCameras] += movX * (_sensibilidade * distanciaCameraOrbit [indiceCameras]) / (distanciaCameraOrbit [indiceCameras] * 0.5f);
 yOrbit [indiceCameras] -= movY * _sensibilidade * _sensYMouse;
 yOrbit [indiceCameras] = ClampAngle (yOrbit [indiceCameras], 0.0f, 85.0f);
 Quaternion _rotation = Quaternion.Euler (yOrbit [indiceCameras], xOrbit [indiceCameras], 0);
 distanciaCameraOrbit [indiceCameras] = Mathf.Clamp (distanciaCameraOrbit [indiceCameras] - movZ * _velocidadeScrool, _distMin, _distMax);
 Vector3 _negDistance = new Vector3 (0.0f, 0.0f, -distanciaCameraOrbit [indiceCameras]);
 Vector3 _position = _rotation * _negDistance + transform.position;
 Vector3 _posicAtual = cameras [indiceCameras]._camera.transform.position;
 Quaternion _rotacAtual = cameras [indiceCameras]._camera.transform.rotation;
 cameras [indiceCameras]._camera.transform.rotation = Quaternion.Lerp (_rotacAtual, _rotation, Time.deltaTime * 5.0f * velocidadeTimeScale);
 cameras [indiceCameras]._camera.transform.position = Vector3.Lerp (_posicAtual, _position, Time.deltaTime * 5.0f * velocidadeTimeScale);
 } else {
 RaycastHit __hit;
 float __velocidade = ConfiguracoesCameras.velocidadeCameraSeguir;
 if (!Physics.Linecast (transform.position, posicaoOriginalCameras [indiceCameras].transform.position)) {
 cameras [indiceCameras]._camera.transform.position = Vector3.Lerp (cameras [indiceCameras]._camera.transform.position, posicaoOriginalCameras [indiceCameras].transform.position, Time.deltaTime * __velocidade);
 }
 else if(Physics.Linecast(transform.position, posicaoOriginalCameras [indiceCameras].transform.position,out __hit)){
 cameras [indiceCameras]._camera.transform.position = Vector3.Lerp(cameras [indiceCameras]._camera.transform.position, __hit.point,Time.deltaTime * __velocidade);
 }
 //camera rodar
 float __velocidadeGir = ConfiguracoesCameras.velocidadeCameraGirar;
 var __newRotation = Quaternion.LookRotation(transform.position - cameras [indiceCameras]._camera.transform.position, Vector3.up);
 cameras [indiceCameras]._camera.transform.rotation = Quaternion.Slerp(cameras [indiceCameras]._camera.transform.rotation, __newRotation, Time.deltaTime * __velocidadeGir);
 }
 break;
 case TipoDeCam.TipoRotac.CameraEstiloETS:
 rotacaoXETS += Input.GetAxis ("Mouse X") * ConfiguracoesCameras.sensibilidade;
 rotacaoYETS += Input.GetAxis ("Mouse Y") * ConfiguracoesCameras.sensibilidade;
 Vector3 novaPosicao = new Vector3 (posicOriginalCameraETS [indiceCameras].x + Mathf.Clamp (rotacaoXETS / 50 + (ConfiguracoesCameras.deslocamentoCameraETS/3.0f), -ConfiguracoesCameras.deslocamentoCameraETS, 0), posicOriginalCameraETS [indiceCameras].y, posicOriginalCameraETS [indiceCameras].z);
 cameras [indiceCameras]._camera.transform.localPosition = Vector3.Lerp (cameras [indiceCameras]._camera.transform.localPosition, novaPosicao, Time.deltaTime * 10.0f);
 rotacaoXETS = ClampAngle (rotacaoXETS, -180, 80);
 rotacaoYETS = ClampAngle (rotacaoYETS, -60, 60);
 Quaternion _xQuaternionETS = Quaternion.AngleAxis (rotacaoXETS, Vector3.up);
 Quaternion _yQuaternionETS = Quaternion.AngleAxis (rotacaoYETS, -Vector3.right);
 Quaternion _rotacFinalETS = rotacaoOriginalCameras [indiceCameras] * _xQuaternionETS * _yQuaternionETS;
 cameras [indiceCameras]._camera.transform.localRotation = Quaternion.Lerp (cameras [indiceCameras]._camera.transform.localRotation, _rotacFinalETS, Time.deltaTime * 10.0f * velocidadeTimeScale);
 break;
 }
 }

 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);
 }

 void Update(){
 if (Input.GetKeyDown (ConfiguracoesCameras.TeclaTrocarDeCamera) && indiceCameras < (cameras.Length - 1)) {
 indiceCameras++;
 AtivarCameras (indiceCameras);
 } else if (Input.GetKeyDown (ConfiguracoesCameras.TeclaTrocarDeCamera) && indiceCameras >= (cameras.Length - 1)) {
 indiceCameras = 0;
 AtivarCameras (indiceCameras);
 }
 }

 void LateUpdate(){
 if (cameras.Length > 0) {
 GerenciarCameras ();
 }
 }
}


Última edição por MarcosSchultz em Sex Jan 13, 2017 2:52 pm, editado 3 vez(es)
avatar
MarcosSchultz
Administrador

Masculino PONTOS : 9339
REPUTAÇÃO : 1571
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] Sistema COMPLETO de câmeras

Mensagem por dstaroski em Qua Jan 11, 2017 4:29 pm

Parabéns cara! Excelente tutorial! Irá ajudar muita gente! Abraço!
avatar
dstaroski
Instrutor

Masculino PONTOS : 1735
REPUTAÇÃO : 456
Idade : 28
Áreas de atuação : Téc. Hardware e Redes, Programação C#, Daz3D and Gimp

Respeito as regras :

Ver perfil do usuário https://www.daz3d.com/gallery/users/1575361

Voltar ao Topo Ir em baixo

TUTORIAL Re: [TUTORIAL] Sistema COMPLETO de câmeras

Mensagem por AndyShow em Qua Jan 11, 2017 7:08 pm

Muito Bom, Vai Ajudar Varias pessoas!
avatar
AndyShow
Instrutor

Masculino PONTOS : 2141
REPUTAÇÃO : 523
Idade : 34
Áreas de atuação : Blender e Unity
Respeito as regras :

Ver perfil do usuário http://mundounity3d.forumbom.com/

Voltar ao Topo Ir em baixo

TUTORIAL Re: [TUTORIAL] Sistema COMPLETO de câmeras

Mensagem por MarcosSchultz em Qua Jan 11, 2017 7:20 pm

Vlw Very Happy

Ahh, lembrando que se alguém sentir falta de algum sistema, pode comentar ai... se for possível, editarei o script e o adicionarei ao sistema Very Happy
avatar
MarcosSchultz
Administrador

Masculino PONTOS : 9339
REPUTAÇÃO : 1571
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] Sistema COMPLETO de câmeras

Mensagem por LucioHenrique em Qua Jan 11, 2017 8:05 pm

marcos  o meu deu erro
diz que precisa estar derivada de um
 monobehaviour

LucioHenrique
Iniciante
Iniciante

PONTOS : 210
REPUTAÇÃO : 0
Respeito as regras :

Ver perfil do usuário

Voltar ao Topo Ir em baixo

TUTORIAL Re: [TUTORIAL] Sistema COMPLETO de câmeras

Mensagem por MarcosSchultz em Qua Jan 11, 2017 8:28 pm

LucioHenrique escreveu:marcos  o meu deu erro
diz que precisa estar derivada de um
 monobehaviour

Então você não copiou o script todo
avatar
MarcosSchultz
Administrador

Masculino PONTOS : 9339
REPUTAÇÃO : 1571
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 3rd Camera para carros estilo GTA

Mensagem por AnderGames em Qua Jan 11, 2017 8:58 pm

Olá!
Estou precisando de ajuda em um script.
Eu queria um que quando o jogador estiver movendo o mouse, a camera se comportasse como uma orbital, mas quando o mouse estiver parado, ela lentamente começa a se comportar como uma "CarCamera"
Alguém pode me ajudar?
avatar
AnderGames
MembroAvançado

Masculino PONTOS : 447
REPUTAÇÃO : 1
Áreas de atuação : design, modelagem
Respeito as regras :

Ver perfil do usuário https://www.youtube.com/user/MarcoAnderGames

Voltar ao Topo Ir em baixo

TUTORIAL Re: [TUTORIAL] Sistema COMPLETO de câmeras

Mensagem por MarcosSchultz em Qua Jan 11, 2017 9:02 pm

AnderGames escreveu:Olá!
Estou precisando de ajuda em um script.
Eu queria um que quando o jogador estiver movendo o mouse, a camera se comportasse como uma orbital, mas quando o mouse estiver parado, ela lentamente começa a se comportar como uma "CarCamera"
Alguém pode me ajudar?

Vou ver se implemento isto no sistema
avatar
MarcosSchultz
Administrador

Masculino PONTOS : 9339
REPUTAÇÃO : 1571
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] Sistema COMPLETO de câmeras

Mensagem por AnderGames em Qua Jan 11, 2017 9:36 pm

MarcosSchultz escreveu:
AnderGames escreveu:Olá!
Estou precisando de ajuda em um script.
Eu queria um que quando o jogador estiver movendo o mouse, a camera se comportasse como uma orbital, mas quando o mouse estiver parado, ela lentamente começa a se comportar como uma "CarCamera"
Alguém pode me ajudar?

Vou ver se implemento isto no sistema

Obrigado ^^
avatar
AnderGames
MembroAvançado

Masculino PONTOS : 447
REPUTAÇÃO : 1
Áreas de atuação : design, modelagem
Respeito as regras :

Ver perfil do usuário https://www.youtube.com/user/MarcoAnderGames

Voltar ao Topo Ir em baixo

TUTORIAL Re: [TUTORIAL] Sistema COMPLETO de câmeras

Mensagem por MarcosSchultz em Sex Jan 13, 2017 12:27 am

Script atualizado... um novo sistema chamado "OrbitalQueSegue" foi adicionado.

Várias outras atualizações para este script ainda virão.
avatar
MarcosSchultz
Administrador

Masculino PONTOS : 9339
REPUTAÇÃO : 1571
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] Sistema COMPLETO de câmeras

Mensagem por Chilinger em Sex Jan 13, 2017 9:20 am

Marcos vc usou a minha ideia de script kkkkk

Chilinger
MembroAvançado

Masculino PONTOS : 1309
REPUTAÇÃO : 32
Idade : 23
Respeito as regras :

Ver perfil do usuário

Voltar ao Topo Ir em baixo

TUTORIAL Re: [TUTORIAL] Sistema COMPLETO de câmeras

Mensagem por MarcosSchultz em Sex Jan 13, 2017 2:35 pm

usei é?


@@ mais um estilo de câmera implementado... Agora temos "CameraEstiloETS", que funciona como uma camera do EuroTruckSimulador... Básicamente é uma camera em primeira pessoa, com MouseLook, mas caso você olhe para a esquerda, a câmera se desloca também, como se você estivesse olhando para fora do veículo.

Mais sugestões, é só pedir Very Happy
avatar
MarcosSchultz
Administrador

Masculino PONTOS : 9339
REPUTAÇÃO : 1571
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] Sistema COMPLETO de câmeras

Mensagem por Xenguei em Seg Jan 16, 2017 7:54 am

Não consegui colocar, aparece isso:

Xenguei
Iniciante
Iniciante

PONTOS : 195
REPUTAÇÃO : 0
Respeito as regras :

Ver perfil do usuário

Voltar ao Topo Ir em baixo

TUTORIAL Re: [TUTORIAL] Sistema COMPLETO de câmeras

Mensagem por Xenguei em Seg Jan 16, 2017 8:15 am

Arrumei já

Xenguei
Iniciante
Iniciante

PONTOS : 195
REPUTAÇÃO : 0
Respeito as regras :

Ver perfil do usuário

Voltar ao Topo Ir em baixo

TUTORIAL Re: [TUTORIAL] Sistema COMPLETO de câmeras

Mensagem por Chilinger em Seg Jan 16, 2017 10:48 am

As class mas adianta bastante.

Chilinger
MembroAvançado

Masculino PONTOS : 1309
REPUTAÇÃO : 32
Idade : 23
Respeito as regras :

Ver perfil do usuário

Voltar ao Topo Ir em baixo

TUTORIAL Re: [TUTORIAL] Sistema COMPLETO de câmeras

Mensagem por MonsaM em Ter Jan 17, 2017 6:05 pm

eu queria uma câmera que fosse orbital mais quando eu mexer o mouse e câmera rodar queria que o player rodasse também
avatar
MonsaM
Membro
Membro

PONTOS : 262
REPUTAÇÃO : 5
Idade : 16
Áreas de atuação : Tudo oque puder tentarei kkkkk
Respeito as regras :

Ver perfil do usuário

Voltar ao Topo Ir em baixo

TUTORIAL Re: [TUTORIAL] Sistema COMPLETO de câmeras

Mensagem por MonsaM em Qua Jan 18, 2017 4:58 am

tem como se fazer um tutorial
avatar
MonsaM
Membro
Membro

PONTOS : 262
REPUTAÇÃO : 5
Idade : 16
Áreas de atuação : Tudo oque puder tentarei kkkkk
Respeito as regras :

Ver perfil do usuário

Voltar ao Topo Ir em baixo

TUTORIAL Re: [TUTORIAL] Sistema COMPLETO de câmeras

Mensagem por LuizFixa3D em Seg Jan 23, 2017 12:50 pm

[img][/img] Dando Erro:(
avatar
LuizFixa3D
Avançado
Avançado

Masculino PONTOS : 600
REPUTAÇÃO : 14
Idade : 16
Áreas de atuação : Iniciante C#
Respeito as regras :

Ver perfil do usuário

Voltar ao Topo Ir em baixo

TUTORIAL Re: [TUTORIAL] Sistema COMPLETO de câmeras

Mensagem por weslleyFx em Seg Jan 23, 2017 1:55 pm

seu script precisa derivar de MonoBehaviour
avatar
weslleyFx
Moderador

Masculino PONTOS : 2569
REPUTAÇÃO : 563
Idade : 19
Áreas de atuação : C#
Respeito as regras :

Ver perfil do usuário

Voltar ao Topo Ir em baixo

TUTORIAL Re: [TUTORIAL] Sistema COMPLETO de câmeras

Mensagem por MarcosSchultz em Seg Jan 23, 2017 5:42 pm

LuizFixa3D escreveu:" /> Dando Erro:(

Você não está copiando o script completo.
avatar
MarcosSchultz
Administrador

Masculino PONTOS : 9339
REPUTAÇÃO : 1571
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] Sistema COMPLETO de câmeras

Mensagem por silva75 em Qua Abr 19, 2017 6:33 pm

Olá Marcos voce tem algum tutorial que ensina como compilar um jogo para android, pois baixei o UnitySetup-Android-Support-for-Editor- 5.6, mas quando coloco para compilar aparece esta mensagem: Select Android SDK root Folder ou seja (Selecione a pasta raiz do Android SDK) pode me dizer o que é isto.     Desde já agradeço

Obrigado

silva75
Iniciante
Iniciante

PONTOS : 456
REPUTAÇÃO : 1
Respeito as regras :

Ver perfil do usuário

Voltar ao Topo Ir em baixo

TUTORIAL Re: [TUTORIAL] Sistema COMPLETO de câmeras

Mensagem por PauloFR em Qua Abr 19, 2017 7:17 pm

silva75 escreveu:Olá Marcos voce tem algum tutorial que ensina como compilar um jogo para android, pois baixei o UnitySetup-Android-Support-for-Editor- 5.6, mas quando coloco para compilar aparece esta mensagem: Select Android SDK root Folder ou seja (Selecione a pasta raiz do Android SDK) pode me dizer o que é isto.     Desde já agradeço

Obrigado

http://www.schultzgames.com/search?search_keywords=build
avatar
PauloFR
Instrutor

Masculino PONTOS : 1113
REPUTAÇÃO : 292
Idade : 14
Áreas de atuação : Iniciante:Modelagem e Terminal-Linux. Intermediário:C# e Java
Respeito as regras :

Ver perfil do usuário http://ppaulofr.blogspot.com.br

Voltar ao Topo Ir em baixo

TUTORIAL Re: [TUTORIAL] Sistema COMPLETO de câmeras

Mensagem por silva75 em Qua Abr 26, 2017 9:23 pm

olá marcos você tem algum tutorial sobre relogio digita para unity 3D, se souber me fale por favor.
 Abraços

silva75
Iniciante
Iniciante

PONTOS : 456
REPUTAÇÃO : 1
Respeito as regras :

Ver perfil do usuário

Voltar ao Topo Ir em baixo

TUTORIAL Re: [TUTORIAL] Sistema COMPLETO de câmeras

Mensagem por MarcosSchultz em Sex Abr 28, 2017 1:35 pm

silva75 escreveu:olá marcos você tem algum tutorial sobre relogio digita para unity 3D, se souber me fale por favor.
 Abraços

Crie um tópico com esta dúvida especificando bem certo o relógio... se pa da pra fazer um scriptzinho simples pra UI
avatar
MarcosSchultz
Administrador

Masculino PONTOS : 9339
REPUTAÇÃO : 1571
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