Como criar Um limite para rotação de um objeto
2 participantes
Página 1 de 1
Como criar Um limite para rotação de um objeto
Ola,bem eu usei o tutorial do marcos pra fazer o resto da camera pro meu jogo top down(por isso que ta faltando uma parte dos scripts)
Eu criei um limite minimo e maximo pra camera ir pra cima e pra baixo(usando transform.translate e funcionou) porem nao consigo usar o mesmo metodo pra rotaçao,ele passa do limite que eu coloquei e nao para de rotacionar.Se puder ajudar colocar o script so a parte da rotaçao ou ditar + ou - pois sou iniciante no ramo de programação(1° jogo)
1° post
Eu criei um limite minimo e maximo pra camera ir pra cima e pra baixo(usando transform.translate e funcionou) porem nao consigo usar o mesmo metodo pra rotaçao,ele passa do limite que eu coloquei e nao para de rotacionar.Se puder ajudar colocar o script so a parte da rotaçao ou ditar + ou - pois sou iniciante no ramo de programação(1° jogo)
1° post
- Código:
using UnityEngine;
using System.Collections;
public class CamBehaviour : MonoBehaviour {
public GameObject Alvo;
public GameObject posicao;
public float velocidade;
public float VelocidadeMovRot = 10;
private RaycastHit Hit;
public Transform MyCamera;
public float VelocidadeMovimentoZoom = 10;
public Transform CameraMov;
public Camera MyCam;
// Use isso para inicialisar
void Start () {
}
// Update e atualizado frame por frame
void FixedUpdate () {
if (Input.GetKey (KeyCode.PageUp)) {
CameraMov.transform.Rotate (VelocidadeMovRot * Time.deltaTime, 0, 0);
if(CameraMov.transform.rotation.x > 22){
VelocidadeMovRot = 0;
}
else if(VelocidadeMovRot == 0 && CameraMov.transform.rotation.x < 22){
VelocidadeMovRot = 30;
}
}
if (Input.GetKey (KeyCode.PageDown)) {
CameraMov.transform.Rotate (-VelocidadeMovRot * Time.deltaTime, 0, 0);
if (CameraMov.transform.rotation.x > 338) {
VelocidadeMovRot = 0;
} else if (VelocidadeMovRot == 0 && CameraMov.transform.rotation.x < 338) {
VelocidadeMovRot = 30;
}
}
//ZOOM
if (Input.GetKey (KeyCode.P)) {
transform.Translate (0, VelocidadeMovimentoZoom * Time.deltaTime, 0);
if (transform.position.y > 12) {
VelocidadeMovimentoZoom = 0;
} else if (VelocidadeMovimentoZoom == 0 && transform.position.y < 12) {
VelocidadeMovimentoZoom = 10;
}
}
if (Input.GetKey (KeyCode.O)) {
transform.Translate (0, -VelocidadeMovimentoZoom * Time.deltaTime, 0);
if (transform.position.y < 6) {
VelocidadeMovimentoZoom = 0;
} else if (VelocidadeMovimentoZoom == 0 && transform.position.y > 6) {
VelocidadeMovimentoZoom = 10;
}
}
NatanFX- Iniciante
- PONTOS : 3353
REPUTAÇÃO : 0
Respeito as regras :
Re: Como criar Um limite para rotação de um objeto
é por que rotation não é um comando de requisição...
Use transform.eulerAngles
Use transform.eulerAngles
Tópicos semelhantes
» [RESOLVIDO] Como voltar um objeto para sua rotação inicial?
» Como por limite na rotação da camera
» Como mudar rotacao de um objeto em relacao a posicao do outro objeto
» Como utilizo o laço for no limite de instanciamento de um objeto?
» como deixar a rotação x de um objeto igual a de outro
» Como por limite na rotação da camera
» Como mudar rotacao de um objeto em relacao a posicao do outro objeto
» Como utilizo o laço for no limite de instanciamento de um objeto?
» como deixar a rotação x de um objeto igual a de outro
Página 1 de 1
Permissões neste sub-fórum
Não podes responder a tópicos