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:
[Duvida] Como ajustar o volume em todo o jogo
Monitorar Usuarios
Tem como eu Salvar os Dados de Um Terreno?
Dúvidas Sobre OnCollider
Dúvida sobre animação
Alpha Fossil
Configuração de efeitos com água na Unity
Dúvida sobre o uso da Unity em fonte de 47-63hz
Como fazer 1 gerador
[TUTORIAL] Explodir Mesh "Explodir Objeto"
[____APOIE O FÓRUM E O CANAL E GANHE RECOMPENSAS____]
[____ADMINISTRAÇÃO____] PRECISO DE AJUDA [DICA PARA SER AJUDADO]
Unity Banco de Dados
[Asset]Terreno .dae
[Asset] Personagem 3d basico sem uso
Erro ai importar
[Duvida] Menu Input
[RESOLVIDO] Adaptar o script para mostrar o erro
Objetos girando em órbita de outro
Erro Build Android
[RESOLVIDO] Não consigo alterar o shader de modelo feito no makehuman
[____TÓPICO LIVRE____] FALE O QUE QUISER (Parte 2)
Slime Shop: Multiplayer (Teste De Jogo :D )
[Alpha Android] - Winthia Chronicles (Alpha Devlog, 20 de fevereiro de 2018). Lançamento!
[TUTORIAL]Sistema de Pet Virtual -AULA 3 NOVO[20/02/2018]
Pack de animações para jogos de Luta
FantasyDragon Online - Formação de Equipe (P.A / Designer Gráfico )
GamePad Android!
Mudar um .TXT usando um site
"Simular" uma VPS
Velocimetro de Ponteiro!
[TUTORIAL] Unity 5 - Wheel Collider, veículos, suspensão realista.
Formação de Equipe
[ENCERRADO] Preciso de Programadores para equipe
GC.Collect
[Duvida] Como acessar uma variavel nãa estatica(static).
Inserir Trigger
Fps Caindo Instanteneamente
LoadSceneAsync em varias cenas e escolher qual chamar
Script de Semaforo
Qual versão da unity é recomendada HOJE?
duvida de desempenho ao Instanciar Gameobject
[RESOLVIDO] Bug provavelmente pivot
[TUTORIAL]Sistema de Pet Virtual -AULA 2 [Tamagotchi](ANDROID/PC)
[TUTORAIL] Loja Virtual Fácil e Grátis
Fiz esse jogo a bastante tempo que tipo de mecanica eu poderia adicionar?
Carregar um prefab usando byte[]
[RESOLVIDO] Tem como Um Script rodar antes de Outro
Procuro modelador
Duvida com velocidade X e velocidade Z
Problemas para criar um BackGround
[TUTORIAL] Calculando distância entre gameObjects
Restringir InpultField!
Preciso Modelador com experiencia em Modelar Veículos
Script inimigo x Player
Novo Jogo (BETA ~ Sem Nome)
Multiplayer Unet: no meio da partida os client saem do nada(sistema de Checar conexão)
[RESOLVIDO] Não Consigo Acessar meus Materiais do Modelo !
como alterar o Rect Transform?
[WIP] Projeto ainda sem título
Mudar a densidade de Pixels na tela
O que fazer para ser um programador
[TUTORIAL] Capturar Imagem da WebCam e Salvar No seu Pc
tem como criar Uma Imagem no Canvas?
Membro Avançado
Tem como fazer um cube 3d invisível?
Player não acompanha plataforma
Jogo de plataforma que eu fiz
Alguém para testar alguns jogos meus (Saber se estão legais, se tem bugs e tals)
(Duvida) Como criar um sistema de dialogos?
Controle de Personagem
Equipe para criação de jogo de terror.
Espelho Realista
[TUTORIAL]Sistema de Pet Virtual [Tamagotchi] Completo (ANDROID/PC)
Equipe para criação de assets
Procuro Modelador Low Poly
Unity não reconhece meu celular
[TUTORIAL]Sistema Basico de Combustivel (PC e Android)
[ Run Sara, run ! ] Em desenvolvimento para android.
[SCRIPT] Controle Simples com movimento e rotação
Metodos Assincrono na Unity
Alterar componentes de todos os objeto de um array
Duvida com spawn de IA
[TUTORIAL] CARREGAR CENA APÓS UM TEMPO UNITY 4.7
Melhorar Script
QRcode em unity
ajuda com os scripts fps entre outros
Menu Principal
[TUTORIAL] Avião Script
[DEVLOG] Projeto - Pocket Girl Blade - Atualização
[TUTORIAL] Player executar LookAt apenas no eixo Y
Divulgaçao de Battle of Worlds
aVork - Física realista para veículos
[Projeto] Line Battle
Dúvida com script que gera mundo estilo minecraft
array para sudoku
Verificar se não há uma Colisão
Script de suavização não está funcionando!
Como usar o transform.parent sem modificar a escala
Hoje à(s) 9:49 pm
Hoje à(s) 8:53 pm
Hoje à(s) 8:49 pm
Hoje à(s) 8:47 pm
Hoje à(s) 8:35 pm
Hoje à(s) 7:55 pm
Hoje à(s) 7:37 pm
Hoje à(s) 7:00 pm
Hoje à(s) 6:33 pm
Hoje à(s) 5:58 pm
Hoje à(s) 4:52 pm
Hoje à(s) 4:51 pm
Hoje à(s) 4:16 pm
Hoje à(s) 3:55 pm
Hoje à(s) 3:21 pm
Hoje à(s) 2:57 pm
Hoje à(s) 2:35 pm
Hoje à(s) 12:46 pm
Hoje à(s) 11:40 am
Hoje à(s) 10:32 am
Hoje à(s) 10:03 am
Hoje à(s) 9:05 am
Hoje à(s) 1:45 am
Hoje à(s) 12:01 am
Ontem à(s) 11:43 pm
Ontem à(s) 8:55 pm
Ontem à(s) 8:55 pm
Ontem à(s) 7:51 pm
Ontem à(s) 7:48 pm
Ontem à(s) 7:20 pm
Ontem à(s) 7:12 pm
Ontem à(s) 7:11 pm
Ontem à(s) 6:54 pm
Ontem à(s) 6:15 pm
Ontem à(s) 5:52 pm
Ontem à(s) 5:14 pm
Ontem à(s) 4:49 pm
Ontem à(s) 4:48 pm
Ontem à(s) 4:42 pm
Ontem à(s) 4:38 pm
Ontem à(s) 4:31 pm
Ontem à(s) 4:30 pm
Ontem à(s) 4:25 pm
Ontem à(s) 1:31 pm
Ontem à(s) 12:20 pm
Ontem à(s) 12:56 am
Ontem à(s) 12:21 am
Seg Fev 19, 2018 8:29 pm
Seg Fev 19, 2018 12:19 pm
Seg Fev 19, 2018 9:23 am
Seg Fev 19, 2018 12:35 am
Dom Fev 18, 2018 9:57 pm
Dom Fev 18, 2018 7:51 pm
Dom Fev 18, 2018 5:03 pm
Dom Fev 18, 2018 3:56 pm
Dom Fev 18, 2018 2:41 pm
Dom Fev 18, 2018 1:21 pm
Dom Fev 18, 2018 12:09 pm
Dom Fev 18, 2018 11:45 am
Dom Fev 18, 2018 3:03 am
Dom Fev 18, 2018 2:24 am
Sab Fev 17, 2018 10:41 pm
Sab Fev 17, 2018 7:25 pm
Sab Fev 17, 2018 7:09 pm
Sab Fev 17, 2018 6:58 pm
Sab Fev 17, 2018 5:35 pm
Sab Fev 17, 2018 4:37 pm
Sab Fev 17, 2018 3:15 pm
Sab Fev 17, 2018 2:52 pm
Sab Fev 17, 2018 1:23 pm
Sab Fev 17, 2018 12:49 pm
Sex Fev 16, 2018 11:43 pm
Sex Fev 16, 2018 11:15 pm
Sex Fev 16, 2018 10:54 pm
Sex Fev 16, 2018 10:18 pm
Sex Fev 16, 2018 10:17 pm
Sex Fev 16, 2018 6:27 pm
Sex Fev 16, 2018 6:09 pm
Sex Fev 16, 2018 5:18 pm
Sex Fev 16, 2018 4:56 pm
Sex Fev 16, 2018 3:57 pm
Sex Fev 16, 2018 1:59 pm
Sex Fev 16, 2018 1:56 pm
Sex Fev 16, 2018 1:08 pm
Sex Fev 16, 2018 11:24 am
Sex Fev 16, 2018 11:21 am
Qui Fev 15, 2018 9:37 pm
Qui Fev 15, 2018 9:19 pm
Qui Fev 15, 2018 8:19 pm
Qui Fev 15, 2018 5:38 pm
Qui Fev 15, 2018 4:13 pm
Qui Fev 15, 2018 3:58 pm
Qui Fev 15, 2018 3:44 pm
Qui Fev 15, 2018 3:35 pm
Qui Fev 15, 2018 2:25 pm
Qui Fev 15, 2018 2:20 pm
Qui Fev 15, 2018 2:19 pm
Qui Fev 15, 2018 2:14 pm
Qui Fev 15, 2018 2:10 pm
marcos4503
natanael.olimpio
Souris
Souris
Souris
Édipo
dstaroski
dstaroski
Souris
Samuelsk
dstaroski
dstaroski
Phph09
Dom3000
felipehobs1
Dom3000
marcos4503
marcos4503
Phph09
maxwell111
Gilberto555
Dom3000
Zack2
marcos4503
marcos4503
GameLACK
Zecker
felipehobs1
Souris
Souris
Souris
Zack2
Zack2
marcos4503
Duarte
MarcosSchultz
michelly
MarcosSchultz
MarcosSchultz
MarcosSchultz
MarcosSchultz
MarcosSchultz
MarcosSchultz
marcos4503
fecirineu
felipehobs1
Zecker
Dom3000
alexs
AlvaroWalker
felipehobs1
recagonlei
Weslley
Jhonatham1
dstaroski
fabriciorsz34
recagonlei
nicolasfive
Dom3000
rafaelllsd
rafaelllsd
marcos4503
felipehobs1
Phph09
Phph09
Daniel Dória
Simplizãum S
Daniel Pires da Silva
GamersBR
Bruno
K3485
ÁguaMineral
Souris
fecirineu
minosso
minosso
otavio00augusto
fecirineu
ruanzikaad
Simplizãum S
junkflash30
MarcosSchultz
MarcosSchultz
TruffleDevelop
dstaroski
JrdeAmorim
Daniel Pires da Silva
alexs
Matrirxp
dstaroski
Dom3000
Dom3000
Dom3000
Dom3000
MarcosSchultz
MarcosSchultz
MarcosSchultz
MarcosSchultz
MarcosSchultz

[TUTORIAL] Camera orbital com zoom (scroll)

Ir em baixo

TUTORIAL [TUTORIAL] Camera orbital com zoom (scroll)

Mensagem por MarcosSchultz em Sab Jul 09, 2016 1:15 pm

Fala galera, elaborei este sistema simples para uma câmera orbital... basta criar um script em C# chamado "CameraOrbital" e usar 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, velocidadeScrool = 1.0f, velocidadeY = 0.5f;
 [Range(3.0f,20.0f)] public float distanciaMinima = 5.0f;
 [Range(20.0f,200.0f)] public float distanciaMaxima = 50.0f;
}

public class CameraOrbital : MonoBehaviour {

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

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

 void LateUpdate () {
 float velocidadeTimeScale = 1.0f / Time.timeScale;
 float sensibilidade = Configuracoes.sensibilidade;
 float distMin = Configuracoes.distanciaMinima;
 float distMax = Configuracoes.distanciaMaxima;
 float velocidadeScrool = Configuracoes.velocidadeScrool * 50.0f;
 float sensYMouse = Configuracoes.velocidadeY * 10.0f;
 //
 RaycastHit hit;
 if (!Physics.Linecast (transform.position, ObjetoCamera.transform.position)) {

 } else if (Physics.Linecast (transform.position, ObjetoCamera.transform.position, out hit)) {
 distanciaCameraOrbit = Vector3.Distance (transform.position, hit.point);
 distMin = Mathf.Clamp ((Vector3.Distance (transform.position, hit.point)), distMin * 0.5f, distMax);
 }
 //
 xOrbit  += Input.GetAxis ("Mouse X") * (sensibilidade * distanciaCameraOrbit)/(distanciaCameraOrbit*0.5f);
 yOrbit  -= Input.GetAxis ("Mouse Y") * sensibilidade * sensYMouse;
 yOrbit  = ClampAngle (yOrbit, 0.0f, 85.0f);
 Quaternion rotation = Quaternion.Euler (yOrbit, xOrbit , 0);
 distanciaCameraOrbit = Mathf.Clamp (distanciaCameraOrbit - Input.GetAxis ("Mouse ScrollWheel") * velocidadeScrool, distMin, distMax);
 Vector3 negDistance = new Vector3 (0.0f, 0.0f, -distanciaCameraOrbit);
 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);
 }
}

Este script deve ir no seu jogador, e a única coisa que você tem que fazer é jogar a câmera variável "Objeto Camera" do script, e pronto, terá uma câmera orbital, com zoom e rotação, além de ajustes Very Happy
avatar
MarcosSchultz
Administrador

Masculino PONTOS : 10208
REPUTAÇÃO : 1783
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 com zoom (scroll)

Mensagem por Chilinger em Dom Jul 10, 2016 3:57 pm

O que seria essa camera orbital?Zoom de sniper ?

Chilinger
MembroAvançado

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

Ver perfil do usuário

Voltar ao Topo Ir em baixo

TUTORIAL Re: [TUTORIAL] Camera orbital com zoom (scroll)

Mensagem por MarcosSchultz em Dom Jul 10, 2016 11:36 pm

Chilinger escreveu:O que seria essa camera orbital?Zoom de sniper ?
Camera orbital é tipo camera de jogo RPG, que você pode orbitar ao redor do jogador.
avatar
MarcosSchultz
Administrador

Masculino PONTOS : 10208
REPUTAÇÃO : 1783
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 com zoom (scroll)

Mensagem por GustavoMaster em Seg Jan 09, 2017 10:09 pm

O meu começa a se distânciar do objeto, o que posso fazer ?
avatar
GustavoMaster
Avançado
Avançado

Masculino PONTOS : 1307
REPUTAÇÃO : 14
Idade : 14
Áreas de atuação : ; )
Respeito as regras :

Ver perfil do usuário

Voltar ao Topo Ir em baixo

TUTORIAL Re: [TUTORIAL] Camera orbital com zoom (scroll)

Mensagem por LucioHenrique em Ter Jan 10, 2017 8:52 pm

Opa pessoal queria saber como faço para inves de ser o scroll do mouse ser a letra "C"

LucioHenrique
Iniciante
Iniciante

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

Ver perfil do usuário

Voltar ao Topo Ir em baixo

TUTORIAL Re: [TUTORIAL] Camera orbital com zoom (scroll)

Mensagem por AndyShow em Ter Jan 10, 2017 10:55 pm

LucioHenrique escreveu:Opa pessoal queria saber como faço para inves de ser o scroll do mouse ser a letra "C"

Usa um Math.Lerp no Lugar do Scroll e chama ele no Input.GetKey
avatar
AndyShow
Instrutor

Masculino PONTOS : 2452
REPUTAÇÃO : 557
Idade : 35
Á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] Camera orbital com zoom (scroll)

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

LucioHenrique escreveu:Opa pessoal queria saber como faço para inves de ser o scroll do mouse ser a letra "C"

Usa um Math.Lerp no Lugar do Scroll e chama ele no Input.GetKey


como faço isso

LucioHenrique
Iniciante
Iniciante

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

Ver perfil do usuário

Voltar ao Topo Ir em baixo

TUTORIAL Re: [TUTORIAL] Camera orbital com zoom (scroll)

Mensagem por MarcosSchultz em Sex Jan 13, 2017 7:26 pm

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 distanciaMinima = 5.0f;
   [Range(20.0f,200.0f)] public float distanciaMaxima = 50.0f;
}

public class CameraOrbital : MonoBehaviour {

   float xOrbit, yOrbit, distanciaCameraOrbit;
   public GameObject ObjetoCamera;
   public ConfigsDaCameraOrbital Configuracoes;
   bool zoom;
   void Start () {
      zoom = false;
      distanciaCameraOrbit = Configuracoes.distanciaMinima;
      xOrbit = ObjetoCamera.transform.eulerAngles.x;
      yOrbit = ObjetoCamera.transform.eulerAngles.y;
      transform.gameObject.layer = 2;
   }

   void Update(){
      if (Input.GetKeyDown (KeyCode.C)) {
         zoom = !zoom;
      }
      if (zoom) {
         distanciaCameraOrbit = Configuracoes.distanciaMinima;
      } else {
         distanciaCameraOrbit = Configuracoes.distanciaMaxima;
      }
   }

   void LateUpdate () {
      float velocidadeTimeScale = 1.0f / Time.timeScale;
      float sensibilidade = Configuracoes.sensibilidade;
      float distMin = Configuracoes.distanciaMinima;
      float distMax = Configuracoes.distanciaMaxima;
      float sensYMouse = Configuracoes.velocidadeY * 10.0f;
      //
      RaycastHit hit;
      if (!Physics.Linecast (transform.position, ObjetoCamera.transform.position)) {

      } else if (Physics.Linecast (transform.position, ObjetoCamera.transform.position, out hit)) {
         distanciaCameraOrbit = Vector3.Distance (transform.position, hit.point);
         distMin = Mathf.Clamp ((Vector3.Distance (transform.position, hit.point)), distMin * 0.5f, distMax);
      }
      //
      xOrbit  += Input.GetAxis ("Mouse X") * (sensibilidade * distanciaCameraOrbit)/(distanciaCameraOrbit*0.5f);
      yOrbit  -= Input.GetAxis ("Mouse Y") * sensibilidade * sensYMouse;
      yOrbit  = ClampAngle (yOrbit, 0.0f, 85.0f);
      Quaternion rotation = Quaternion.Euler (yOrbit, xOrbit , 0);
      Vector3 negDistance = new Vector3 (0.0f, 0.0f, -distanciaCameraOrbit);
      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);
   }
}
avatar
MarcosSchultz
Administrador

Masculino PONTOS : 10208
REPUTAÇÃO : 1783
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 com zoom (scroll)

Mensagem por Gabriel César O em Sex Jul 14, 2017 1:46 pm

esse tuto é 100/10
avatar
Gabriel César O
Programador

Masculino PONTOS : 1533
REPUTAÇÃO : 211
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

TUTORIAL Re: [TUTORIAL] Camera orbital com zoom (scroll)

Mensagem por zZAndersonZz em Sex Jul 14, 2017 5:16 pm

Eu tinha feito um bem simples pro meu personagem:
Código:
using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class CameraLivre : MonoBehaviour {

    public GameObject Alvo;
    public int Tempo;

    private float VelocidadeHorizontal = 20f;
    private float VelocidadeVertical = 20f;
    private float VelocidadeDeZoom = 0f;


    void Update ()
    {
        transform.LookAt(Alvo.transform);
        var VelHorizontal = VelocidadeHorizontal * Input.GetAxis("Mouse X");
        var VelVertical = VelocidadeVertical * Input.GetAxis("Mouse Y");
        var Zoom = VelocidadeDeZoom * Input.GetAxis("Mouse ScrollWheel");
        transform.RotateAround(Alvo.transform.position, new Vector3(VelVertical, VelHorizontal, Zoom), Tempo * Time.deltaTime);
    }
}
Esse ai de cima volta e meia dá uma tremida Shocked

Depois um fiz um bem melhor pro barco, com limites pro zoom do scroll e tudo mais.
avatar
zZAndersonZz
Avançado
Avançado

Masculino PONTOS : 719
REPUTAÇÃO : 125
Respeito as regras :

Ver perfil do usuário

Voltar ao Topo Ir em baixo

TUTORIAL Re: [TUTORIAL] Camera orbital com zoom (scroll)

Mensagem por Gabriel César O em Sex Jul 14, 2017 5:17 pm

^^
avatar
Gabriel César O
Programador

Masculino PONTOS : 1533
REPUTAÇÃO : 211
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

TUTORIAL Re: [TUTORIAL] Camera orbital com zoom (scroll)

Mensagem por lidio133 em Sab Jul 15, 2017 10:56 pm

Teria como eu fazer a camera movimentar em volta do personagem com o mouse ?

lidio133
Iniciante
Iniciante

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

Ver perfil do usuário

Voltar ao Topo Ir em baixo

TUTORIAL Re: [TUTORIAL] Camera orbital com zoom (scroll)

Mensagem por Gabriel César O em Dom Jul 16, 2017 5:08 am

lidio133 escreveu:Teria como eu fazer a camera movimentar em volta do personagem com o mouse ?
MAS A CÂMERA ORBITAL FAZ ISSO, COPIE E COLE O SCRIPT DESSE TÓPICO E PRONTO.
avatar
Gabriel César O
Programador

Masculino PONTOS : 1533
REPUTAÇÃO : 211
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

TUTORIAL Re: [TUTORIAL] Camera orbital com zoom (scroll)

Mensagem por Gregory2017 em Dom Jul 23, 2017 9:02 pm

MarcosSchultz escreveu:Fala galera, elaborei este sistema simples para uma câmera orbital... basta criar um script em C# chamado "CameraOrbital" e usar 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, velocidadeScrool = 1.0f, velocidadeY = 0.5f;
 [Range(3.0f,20.0f)] public float distanciaMinima = 5.0f;
 [Range(20.0f,200.0f)] public float distanciaMaxima = 50.0f;
}

public class CameraOrbital : MonoBehaviour {

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

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

 void LateUpdate () {
 float velocidadeTimeScale = 1.0f / Time.timeScale;
 float sensibilidade = Configuracoes.sensibilidade;
 float distMin = Configuracoes.distanciaMinima;
 float distMax = Configuracoes.distanciaMaxima;
 float velocidadeScrool = Configuracoes.velocidadeScrool * 50.0f;
 float sensYMouse = Configuracoes.velocidadeY * 10.0f;
 //
 RaycastHit hit;
 if (!Physics.Linecast (transform.position, ObjetoCamera.transform.position)) {

 } else if (Physics.Linecast (transform.position, ObjetoCamera.transform.position, out hit)) {
 distanciaCameraOrbit = Vector3.Distance (transform.position, hit.point);
 distMin = Mathf.Clamp ((Vector3.Distance (transform.position, hit.point)), distMin * 0.5f, distMax);
 }
 //
 xOrbit  += Input.GetAxis ("Mouse X") * (sensibilidade * distanciaCameraOrbit)/(distanciaCameraOrbit*0.5f);
 yOrbit  -= Input.GetAxis ("Mouse Y") * sensibilidade * sensYMouse;
 yOrbit  = ClampAngle (yOrbit, 0.0f, 85.0f);
 Quaternion rotation = Quaternion.Euler (yOrbit, xOrbit , 0);
 distanciaCameraOrbit = Mathf.Clamp (distanciaCameraOrbit - Input.GetAxis ("Mouse ScrollWheel") * velocidadeScrool, distMin, distMax);
 Vector3 negDistance = new Vector3 (0.0f, 0.0f, -distanciaCameraOrbit);
 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);
 }
}

Este script deve ir no seu jogador, e a única coisa que você tem que fazer é jogar a câmera variável "Objeto Camera" do script, e pronto, terá uma câmera orbital, com zoom e rotação, além de ajustes Very Happy
Quando eu clico no botão de acelera pelo android a camera vira sozinha, oque eu faço para nao ficar virando quando clicar no acelerador?

Gregory2017
Iniciante
Iniciante

Masculino PONTOS : 350
REPUTAÇÃO : 2
Idade : 19
Respeito as regras :

Ver perfil do usuário

Voltar ao Topo Ir em baixo

TUTORIAL Re: [TUTORIAL] Camera orbital com zoom (scroll)

Mensagem por MarcosSchultz em Qua Jul 26, 2017 3:12 pm

Ai você tem que meio que refazer este script para ele detectar se algum botão está sendo pressionado ou não... 

Ou trabalhar com layers
avatar
MarcosSchultz
Administrador

Masculino PONTOS : 10208
REPUTAÇÃO : 1783
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 com zoom (scroll)

Mensagem por Gregory2017 em Qui Jul 27, 2017 10:38 pm

MarcosSchultz escreveu:Ai você tem que meio que refazer este script para ele detectar se algum botão está sendo pressionado ou não... 

Ou trabalhar com layers
Cm que eu faço isso?

Gregory2017
Iniciante
Iniciante

Masculino PONTOS : 350
REPUTAÇÃO : 2
Idade : 19
Respeito as regras :

Ver perfil do usuário

Voltar ao Topo Ir em baixo

Voltar ao Topo


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