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:
ERRO sharedassets0
[TUTORIAL] Menu Pause AVANÇADO (Unity 5.3 ou superior)
[TUTORIAL] Menu pause ( AVANÇADO )
[____TÓPICO LIVRE____] FALE O QUE QUISER (Parte 2)
FÍSICA+ESTABILIDADE DO TUTORIAL DO MARCOS
OFICINA/PERSONALIZAÇÃO DO PLAYER
[DÚVIDA] SISTEMA DE HEADSHOT
reconhecimento de fala simples
oque eu tenho que colocar nesse script?
Ad Mob
Botão Unity
Linkar Meshes das Rodas!
fazer o player perde vida e sua barra de vida descer conforme o dano
(pedido) script para ativar física
Baixos Brasil - Jogo de Carro Brasileiro!
Aguá do meu jogo esta rosa depois de ter passado o projeto para outro computador
[TUTORIAL] Como fazer um TELEPORTE
Script Shader
Sistema de frio??
Como colocar o um CORPO funcional no FPS
Som ambiente,Interação de objetos unity 3D
Telemportar objeto?
[RESOLVIDO] Compilar para android?
Quais melhores estratégias para divulgação de um jogo indie?
[____APOIE O FÓRUM E O CANAL E GANHE RECOMPENSAS____]
Flying Bird - PlayStore
Direção da câmera ser para onde o player vai ao apertar a tecla de ir para frente!!
Props Animations Asset
[TUTORIAL] Sistema de DIA E NOITE completo, com luzes noturnas e SISTEMA DE NUVENS
[TUTORIAL] Trocar a textura de um objeto pelas texturas de uma lista ( array ) seguindo a ordem da mesma.
MouseOver alterar de cores solidas para texturas alterar script
Como tiro a tela de seleção de resolução que aparece quando abro o jogo?
VENHAM CONTEMPLAR CUBOID! E entrem para a equipe!
chamare indice de uma List<> em outro script
Unity Assets Duvida
pessoal prefab para colider ou um raycast
[RESOLVIDO] Help. texto através dos objetos unity
[TUTORIAL] C# .NET | Instalar IDE para compilar c# para outras plataformas
Mudar Cor do Veiculo!
[RESOLVIDO]tirar vida do inimigo com click do mause
[TUTORIAL] Acessar variáveis de outros scripts, variáveis estáticas (javaScript)
Por que os modelos que importo para o unity desaparecem?
Falha de Segurança na Unity
[TUTORIAL] Gerar números aleatórios SEM REPETIR (método com lista)
Cuboid 0.8, divulguem por favor
Tutorial: jogo estilo minecraft
Meu Jogo em desenvolvimento
Verificar texto De um Input Field
Como Separar Variaveis ?
Duvida sobre script
Search the Rats update 1.2
Erro unity
Chamando animação por script
Como fazer objeto voltar a posição inicial? só que ele estará "em movimento"
Button Facebook Mobile!
Lancei um jogo na Play Store - Tic Tac ToeSP.
[TUTORIAL] Unity 5 - Sistema Completo de PORTAS E CHAVES
10 ASSETS GRATUITOS PARA UNITY 5
[DEVLOG] Projeto - Girl Blade (download Pré-Alpha)
Detectar se uma variável mudou e a quanto tempo ela mudou
Como posso criar um inputfield alfabtical alguem sabe?
ativar animação ao apertar botão (android)
Ai Enemy Inimigo Parando do nada
Duvida Extranhicima
gameobject transparente
[TUTORIAL] Tutorial Unity 3D Movimentação de Personagem com Botões UI
Menu de Construções estilo jogo "Banished"
Instanciar
-[COMO IMPLEMENTO UMA ARRAY NESTE SCRIPT?]-
[RESOLVIDO] Inteligência Artificial (básica) - interação Rigidbody2D Collision
Sistema de Futebol(Chutar bola e carrega-la até o gol)
Jogo De Corrida Infinita (2D)[Mobile]
[TUTORIAL] Inimigo seguir e atacar Player ao encostar
Jogo crashando depois da build
[TUTORIAL] Adicionar força a um Rigidbody na direção onde o mouse está
Duvida com Script VIDA
Iniciar em Unity
Escolhendo cores com scroll "mouse"
[RESOLVIDO] Erro com Audio Source ???
Partindo Para Faculdade!
[DÚVIDA] COMO FAZER UM "TEXT" APARECER SÓ UMA VEZ QUANDO O GAME INICIAR?
Simple Touch Camera Script
Duvida sobre iluminação
Duplo personagem
Erro
Dúvida sobre Estado inicial
Jogo de Pesca (Física da Linha)
Water
[RESOLVIDO] ERRO SUN SHAFTS (script nao aparece)
Animações do Player. Como faço????
MAGIA SEGUIR ALVO COM TAG APOS SER INSTANCIADA
Formação de equipe para talvez um jogo Unturned+Battlegrounds - Unity c#
[DÚVIDA] FAZER JOGO ESTILO O ARROW.IO
[RESOLVIDO] Opções no menu?
[RESOLVIDO] Alguém poderia me ajudar a diminuir esse script?
Como fazer para o personagem ao sairdas delimitações da tela apareca no lado oposto?
Ajuda com script pra box collider
Sistema de combate estilo Runescape
[Gerenciador de fase aleatório]
Hoje à(s) 12:51 am
Ontem à(s) 10:20 pm
Ontem à(s) 10:08 pm
Ontem à(s) 9:58 pm
Ontem à(s) 9:56 pm
Ontem à(s) 9:55 pm
Ontem à(s) 9:43 pm
Ontem à(s) 9:14 pm
Ontem à(s) 9:10 pm
Ontem à(s) 9:08 pm
Ontem à(s) 8:12 pm
Ontem à(s) 7:57 pm
Ontem à(s) 7:22 pm
Ontem à(s) 7:09 pm
Ontem à(s) 6:58 pm
Ontem à(s) 6:03 pm
Ontem à(s) 1:37 pm
Ontem à(s) 1:37 pm
Ontem à(s) 1:24 pm
Ontem à(s) 1:19 pm
Ontem à(s) 1:13 pm
Ontem à(s) 12:18 pm
Ontem à(s) 11:01 am
Ontem à(s) 9:59 am
Ontem à(s) 9:50 am
Ontem à(s) 9:11 am
Ontem à(s) 8:44 am
Ontem à(s) 5:30 am
Ontem à(s) 12:25 am
Dom Ago 20, 2017 8:20 pm
Dom Ago 20, 2017 8:09 pm
Dom Ago 20, 2017 7:56 pm
Dom Ago 20, 2017 7:29 pm
Dom Ago 20, 2017 7:22 pm
Dom Ago 20, 2017 6:00 pm
Dom Ago 20, 2017 4:31 pm
Dom Ago 20, 2017 2:54 pm
Dom Ago 20, 2017 2:51 pm
Dom Ago 20, 2017 1:52 pm
Dom Ago 20, 2017 12:40 pm
Dom Ago 20, 2017 11:11 am
Dom Ago 20, 2017 12:31 am
Dom Ago 20, 2017 12:22 am
Dom Ago 20, 2017 12:17 am
Dom Ago 20, 2017 12:17 am
Sab Ago 19, 2017 11:44 pm
Sab Ago 19, 2017 8:55 pm
Sab Ago 19, 2017 8:46 pm
Sab Ago 19, 2017 8:35 pm
Sab Ago 19, 2017 7:40 pm
Sab Ago 19, 2017 5:14 pm
Sab Ago 19, 2017 4:17 pm
Sab Ago 19, 2017 3:47 pm
Sab Ago 19, 2017 10:33 am
Sab Ago 19, 2017 10:25 am
Sab Ago 19, 2017 5:53 am
Sex Ago 18, 2017 10:20 pm
Sex Ago 18, 2017 10:00 pm
Sex Ago 18, 2017 8:39 pm
Sex Ago 18, 2017 6:39 pm
Sex Ago 18, 2017 3:01 pm
Sex Ago 18, 2017 6:01 am
Sex Ago 18, 2017 12:04 am
Qui Ago 17, 2017 10:22 pm
Qui Ago 17, 2017 9:55 pm
Qui Ago 17, 2017 9:48 pm
Qui Ago 17, 2017 9:42 pm
Qui Ago 17, 2017 4:22 pm
Qui Ago 17, 2017 3:38 pm
Qui Ago 17, 2017 2:54 pm
Qui Ago 17, 2017 2:35 pm
Qui Ago 17, 2017 1:14 pm
Qui Ago 17, 2017 12:51 pm
Qui Ago 17, 2017 12:48 pm
Qui Ago 17, 2017 11:47 am
Qui Ago 17, 2017 11:09 am
Qui Ago 17, 2017 7:46 am
Qua Ago 16, 2017 10:19 pm
Qua Ago 16, 2017 9:55 pm
Qua Ago 16, 2017 9:10 pm
Qua Ago 16, 2017 9:03 pm
Qua Ago 16, 2017 8:01 pm
Qua Ago 16, 2017 1:17 pm
Qua Ago 16, 2017 11:49 am
Qua Ago 16, 2017 8:01 am
Ter Ago 15, 2017 7:29 pm
Ter Ago 15, 2017 5:06 pm
Ter Ago 15, 2017 5:06 pm
Ter Ago 15, 2017 1:47 pm
Ter Ago 15, 2017 11:52 am
Ter Ago 15, 2017 6:21 am
Seg Ago 14, 2017 11:28 pm
Seg Ago 14, 2017 11:04 pm
Seg Ago 14, 2017 10:06 pm
Seg Ago 14, 2017 7:19 pm
Seg Ago 14, 2017 6:18 pm
Seg Ago 14, 2017 5:55 pm
Seg Ago 14, 2017 5:52 pm
Seg Ago 14, 2017 5:37 pm
MendesBk
zOverLexYT
zOverLexYT
Gabriel César CORINTHIANS
Gabriel César CORINTHIANS
Gabriel César CORINTHIANS
Gabriel César CORINTHIANS
PauloFR
dstaroski
Duarte
dstaroski
Duarte
poker14k
Zecandy
Duarte
DUT
Gabriel César CORINTHIANS
michelly
MRX
AndyShow
AndyShow
Callyde Jr
dstaroski
Strikegames
zZAndersonZz
dstaroski
dstaroski
Regis garcia
marconi
SERGIOCS
Madness
Zecandy
cody0033
Valakinhas
ManoTrevor
Madness
BRGC
PauloFR
PauloFR
PauloFR
tom ramber
cody0033
NyanHeavyBR
rafaelllsd
cody0033
cody0033
BRGC
Manawydan
ManoTrevor
arnaldojunior
mbppedro
Eduardoro39
BRGC
dstaroski
dstaroski
Strikegames
zOverLexYT
Bruno
dstaroski
Dom3000
MiguelLuiz
zZAndersonZz
Jhin
Dom3000
juliano001
deikson
MasterWizzard
Duarte
MrTFGamer1
MatheusNani
deikson
HeF Soft
getrudes12@gmail.com
BloodyBS
deikson
Bruno
dstaroski
SERGIOCS
Vinicius F.
Duarte
Gabriel César O
Henrique0102
Zecandy
Callyde Jr
dstaroski
ffabim
AndyShow
Phph09
glauco
Bruno
Callyde Jr
Bruno11playerG
Gabriel César O
cody0033
Unidade3d5
Pancinha20
MarcosSchultz
MarcosSchultz
MarcosSchultz

[TUTORIAL] Camera orbital com zoom (scroll)

Ver o tópico anterior Ver o tópico seguinte 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 : 9508
REPUTAÇÃO : 1613
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 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 : 1334
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 : 9508
REPUTAÇÃO : 1613
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 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 : 1123
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 : 235
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 : 2201
REPUTAÇÃO : 537
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] 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 : 235
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 : 9508
REPUTAÇÃO : 1613
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 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 : 1347
REPUTAÇÃO : 205
Idade : 15
Á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 : 489
REPUTAÇÃO : 105
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 : 1347
REPUTAÇÃO : 205
Idade : 15
Á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 : 46
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 : 1347
REPUTAÇÃO : 205
Idade : 15
Á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 : 164
REPUTAÇÃO : 1
Idade : 18
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 : 9508
REPUTAÇÃO : 1613
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 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 : 164
REPUTAÇÃO : 1
Idade : 18
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