SCRIPT QUE, AO APERTAR O BOTÃO DIREITO DO MOUSE DÊ ZOOM NA CAMERA
5 participantes
Página 1 de 1
SCRIPT QUE, AO APERTAR O BOTÃO DIREITO DO MOUSE DÊ ZOOM NA CAMERA
Opa eae galera, beleza? queria a ajuda de vcs (novamente kk) com um script, é que eu quero que ao apertar o botão direito do mouse dê um zoom na camera, so que nao de vez, que vá aumentando gradativamente ate chegar num certo ponto, eu ate ja tenho um mas não tem isso de ir gradativamente aumentando o zoom :/ o FOV dele ta em 60 e ja muda pra 30 mais ou menos, queria que fosse aumentando devagar (60, 50, 40 e 30), tentei fazer com animação mas não sei mexer no animator do unity 5 ainda, msm vendo videos. é isso, se alguem puder ajudar.. =) vllw desde já.
MeverPlays- Mestre
- PONTOS : 3867
REPUTAÇÃO : 48
Áreas de atuação : SketchUp, Unity.
Respeito as regras :
Re: SCRIPT QUE, AO APERTAR O BOTÃO DIREITO DO MOUSE DÊ ZOOM NA CAMERA
Seria algo Desse Tipo ?
- Código:
using UnityEngine;
using System.Collections;
public class Zoom : MonoBehaviour
{
public Camera m_Camera;
public float maxFieldView = 30;
public float startFieldView;
public float speed = 120;//velocidade do zoom
private bool inZoom;
private float zoomValue;
void Start ()
{
startFieldView = m_Camera.fieldOfView;
}
void Update ()
{
if (Input.GetMouseButtonDown(1))
{
if (inZoom)
{
inZoom = false;
}
else
{
inZoom = true;
}
}
ZoomValueController();
}
private void ZoomValueController()
{
if (inZoom)
{
if (m_Camera.fieldOfView > maxFieldView)
{
zoomValue = Time.deltaTime * speed;
m_Camera.fieldOfView -= zoomValue;
}
}
else
{
if (m_Camera.fieldOfView < startFieldView)
{
zoomValue = Time.deltaTime * speed;
m_Camera.fieldOfView += zoomValue;
}
}
}
}
Weslley- Moderador
- PONTOS : 5726
REPUTAÇÃO : 744
Idade : 26
Áreas de atuação : Inversión, Desarrollo, Juegos e Web
Respeito as regras :
Re: SCRIPT QUE, AO APERTAR O BOTÃO DIREITO DO MOUSE DÊ ZOOM NA CAMERA
Hmm o script vai na camera não é? vou testar agr...
MeverPlays- Mestre
- PONTOS : 3867
REPUTAÇÃO : 48
Áreas de atuação : SketchUp, Unity.
Respeito as regras :
Re: SCRIPT QUE, AO APERTAR O BOTÃO DIREITO DO MOUSE DÊ ZOOM NA CAMERA
pode ser mais vc tem que setar ele no inspector
Weslley- Moderador
- PONTOS : 5726
REPUTAÇÃO : 744
Idade : 26
Áreas de atuação : Inversión, Desarrollo, Juegos e Web
Respeito as regras :
Re: SCRIPT QUE, AO APERTAR O BOTÃO DIREITO DO MOUSE DÊ ZOOM NA CAMERA
Até deu certo, mas, ele não está fazendo valores exatos, ta fazendo valores aleatorios, ex: em vez dele ir pra 30 ele vai pra 26.1281 e quando volta era pra ir pra 60 mas aí ele vai pra 66.2148 fica alternando valores. oq pode ser? e se possivel teria como fazer para so dar o zoom enquanto segura o botão direto do mouse? em vez de clique =)
MeverPlays- Mestre
- PONTOS : 3867
REPUTAÇÃO : 48
Áreas de atuação : SketchUp, Unity.
Respeito as regras :
Re: SCRIPT QUE, AO APERTAR O BOTÃO DIREITO DO MOUSE DÊ ZOOM NA CAMERA
Basta da Um Clamp
invés de usarmos o Time.deltaTime usaremos o Mathf.Lerp que e mais correto para essa ocasião
quanto o mouse baste Tirar o Down e se estiver apertando ativa se não desativa
invés de usarmos o Time.deltaTime usaremos o Mathf.Lerp que e mais correto para essa ocasião
quanto o mouse baste Tirar o Down e se estiver apertando ativa se não desativa
- Código:
using UnityEngine;
using System.Collections;
public class ss : MonoBehaviour
{
public Camera m_Camera;
public float maxFieldView;
public float startFieldView;
public float speed = 5;
private bool inZoom;
private float zoomValue;
void Awake ()
{
startFieldView = m_Camera.fieldOfView;
zoomValue = startFieldView;
}
void Update ()
{
if (Input.GetMouseButton(1))
{
inZoom = true;
}
else
{
inZoom = false;
}
PerformanceZoom();
ZoomValueController();
}
private void ZoomValueController()
{
if (inZoom)
{
zoomValue = Mathf.Lerp(zoomValue, maxFieldView, speed * Time.deltaTime);
}
else
{
zoomValue = Mathf.Lerp(zoomValue, startFieldView, speed * Time.deltaTime);
}
}
private void PerformanceZoom()
{
m_Camera.fieldOfView = zoomValue;
zoomValue = Mathf.Clamp(zoomValue, maxFieldView, startFieldView);
}
}
Weslley- Moderador
- PONTOS : 5726
REPUTAÇÃO : 744
Idade : 26
Áreas de atuação : Inversión, Desarrollo, Juegos e Web
Respeito as regras :
Re: SCRIPT QUE, AO APERTAR O BOTÃO DIREITO DO MOUSE DÊ ZOOM NA CAMERA
Funcionou direitinho muito obrigado. vllw msm =)
MeverPlays- Mestre
- PONTOS : 3867
REPUTAÇÃO : 48
Áreas de atuação : SketchUp, Unity.
Respeito as regras :
Re: SCRIPT QUE, AO APERTAR O BOTÃO DIREITO DO MOUSE DÊ ZOOM NA CAMERA
Coloquei na camera mas nao funcionou pq?
Pika- Iniciante
- PONTOS : 2778
REPUTAÇÃO : 0
Respeito as regras :
Re: SCRIPT QUE, AO APERTAR O BOTÃO DIREITO DO MOUSE DÊ ZOOM NA CAMERA
Por que você não associou a câmera na variável.
Tente isto:
Tente isto:
- Código:
using UnityEngine;
using System.Collections;
public class ss : MonoBehaviour
{
Camera m_Camera;
public float maxFieldView;
public float startFieldView;
public float speed = 5;
private bool inZoom;
private float zoomValue;
void Awake ()
{
m_Camera = GetComponent<Camera> ();
startFieldView = m_Camera.fieldOfView;
zoomValue = startFieldView;
}
void Update ()
{
if (Input.GetMouseButton(1))
{
inZoom = true;
}
else
{
inZoom = false;
}
PerformanceZoom();
ZoomValueController();
}
private void ZoomValueController()
{
if (inZoom)
{
zoomValue = Mathf.Lerp(zoomValue, maxFieldView, speed * Time.deltaTime);
}
else
{
zoomValue = Mathf.Lerp(zoomValue, startFieldView, speed * Time.deltaTime);
}
}
private void PerformanceZoom()
{
m_Camera.fieldOfView = zoomValue;
zoomValue = Mathf.Clamp(zoomValue, maxFieldView, startFieldView);
}
}
Re: SCRIPT QUE, AO APERTAR O BOTÃO DIREITO DO MOUSE DÊ ZOOM NA CAMERA
olá amigo talvez este vídeo te ajude! ele esta em inglês mas é só seguir os passos que ele faz no vídeoMeverPlays escreveu:Opa eae galera, beleza? queria a ajuda de vcs (novamente kk) com um script, é que eu quero que ao apertar o botão direito do mouse dê um zoom na camera, so que nao de vez, que vá aumentando gradativamente ate chegar num certo ponto, eu ate ja tenho um mas não tem isso de ir gradativamente aumentando o zoom :/ o FOV dele ta em 60 e ja muda pra 30 mais ou menos, queria que fosse aumentando devagar (60, 50, 40 e 30), tentei fazer com animação mas não sei mexer no animator do unity 5 ainda, msm vendo videos. é isso, se alguem puder ajudar.. =) vllw desde já.
VÍDEO
Gabriel César O- Profissional
- PONTOS : 3985
REPUTAÇÃO : 217
Idade : 23
Áreas de atuação : (ESTUDANDO SEGUNDO GRAU), (FUÇANDO NO UNITY)){
Respeito as regras :
Tópicos semelhantes
» Camera Em Terceira Pessoa Com Zoom
» No script da "Câmera estilo Gta" como faço para o mouse mover a câmera ?
» [AJUDA] apertar um botão com botões diferentes do mouse
» Zoom na Camera !
» Zoom da Câmera Orbital por Botões
» No script da "Câmera estilo Gta" como faço para o mouse mover a câmera ?
» [AJUDA] apertar um botão com botões diferentes do mouse
» Zoom na Camera !
» Zoom da Câmera Orbital por Botões
Página 1 de 1
Permissões neste sub-fórum
Não podes responder a tópicos