[RESOLVIDO] Camera tremendo quando se aproxima de certos objetos, como resolver?
2 participantes
SchultzGames :: UNITY 3D :: Resolvidos
Página 1 de 1
[RESOLVIDO] Camera tremendo quando se aproxima de certos objetos, como resolver?
Pessoal estou com um problema nesse script, quando a câmera se aproxima de alguns objetos por algum motivo ela começa a tremer, como proceder nesse caso?
- Script:
- Código:
public class Aproxima_Camera : MonoBehaviour
{
public GameObject planeta;
Vector3 startpos;
public GameObject Camera_1;
public Player_Controll Mercurio;
public Player_Controll Venus;
public Player_Controll Terra;
public Player_Controll Marte;
public Player_Controll Jupiter;
public Player_Controll Saturno;
public Player_Controll Urano;
public Player_Controll Netuno;
public float distancia;
public bool pode_aproximar;
// Use this for initialization
void Start ()
{
startpos = transform.position;
pode_aproximar = true;
}
// Update is called once per frame
void Update ()
{
// transform.LookAt(planeta.transform.position);
// transform.RotateAround (planeta.transform.position,new Vector3(0.0f,0.4f,0.0f),20 * Time.deltaTime * 10.0f);
distancia = Vector3.Distance (transform.position, planeta.transform.position);
if (planeta) {
//MERCURIO
if (Mercurio.Mercurio_bool == true) {
if (distancia > 2000) {
Vector3 dir = planeta.transform.position - transform.position;
transform.position += dir * Time.deltaTime;
transform.forward = Vector3.Lerp (transform.forward, dir.normalized, Time.deltaTime);
} else if (distancia <= 2000) {
Vector3 dir = planeta.transform.position - transform.position;
transform.position += dir * 0.1f * Time.deltaTime;
transform.forward = Vector3.Lerp (transform.forward, dir.normalized, Time.deltaTime);
}
if (distancia < 1700) {
Vector3 dir = planeta.transform.position - transform.position;
transform.position -= -dir * 0.1f * -Time.deltaTime;
transform.forward = Vector3.Lerp (transform.forward, dir.normalized, -Time.deltaTime);
}
}
//VENUS
if (Venus.Venus_bool == true) {
if (distancia > 1100) {
Vector3 dir = planeta.transform.position - transform.position;
transform.position += dir * Time.deltaTime;
transform.forward = Vector3.Lerp (transform.forward, dir.normalized, Time.deltaTime);
} else if (distancia <= 1000) {
Vector3 dir = planeta.transform.position - transform.position;
transform.position += dir * 0.5f * Time.deltaTime;
transform.forward = Vector3.Lerp (transform.forward, dir.normalized, Time.deltaTime);
}
}
//TERRA
if (Terra.Terra_bool == true) {
if (distancia > 2000) {
Vector3 dir = planeta.transform.position - transform.position;
transform.position += dir * Time.deltaTime;
transform.forward = Vector3.Lerp (transform.forward, dir.normalized, Time.deltaTime);
} else if (distancia <= 2000) {
Vector3 dir = planeta.transform.position - transform.position;
transform.position += dir * 0.1f * Time.deltaTime;
transform.forward = Vector3.Lerp (transform.forward, dir.normalized, Time.deltaTime);
}
if (distancia < 1700) {
Vector3 dir = planeta.transform.position - transform.position;
transform.position -= -dir * 0.1f * -Time.deltaTime;
transform.forward = Vector3.Lerp (transform.forward, dir.normalized, -Time.deltaTime);
}
}
//MARTE
if (Marte.Marte_bool == true) {
if (distancia > 1000) {
Vector3 dir = planeta.transform.position - transform.position;
transform.position += dir * Time.deltaTime;
transform.forward = Vector3.Lerp (transform.forward, dir.normalized, Time.deltaTime);
} else if (distancia <= 900) {
Vector3 dir = planeta.transform.position - transform.position;
transform.position += dir * 0.1f * Time.deltaTime;
transform.forward = Vector3.Lerp (transform.forward, dir.normalized, Time.deltaTime);
}
if (distancia < 950) {
Vector3 dir = planeta.transform.position - transform.position;
transform.position -= -dir * 0.1f * -Time.deltaTime;
transform.forward = Vector3.Lerp (transform.forward, dir.normalized, -Time.deltaTime);
}
}
//JUPITER
if (Jupiter.Jupiter_bool == true) {
if (distancia > 2000) {
Vector3 dir = planeta.transform.position - transform.position;
transform.position += dir * Time.deltaTime;
transform.forward = Vector3.Lerp (transform.forward, dir.normalized, Time.deltaTime);
//}
} else if (distancia <= 1700) {
Vector3 dir = planeta.transform.position - transform.position;
transform.position += dir * 0.3f * Time.deltaTime;
transform.forward = Vector3.Lerp (transform.forward, dir.normalized, Time.deltaTime);
}
if (distancia < 1300) {
Vector3 dir = planeta.transform.position - transform.position;
transform.position -= -dir * 0.3f * -Time.deltaTime;
transform.forward = Vector3.Lerp (transform.forward, dir.normalized, -Time.deltaTime);
}
}
//SATURNO
if (Saturno.Saturno_bool == true) {
if (distancia > 2000) {
Vector3 dir = planeta.transform.position - transform.position;
transform.position += dir * Time.deltaTime;
transform.forward = Vector3.Lerp (transform.forward, dir.normalized, Time.deltaTime);
} else if (distancia <= 1700) {
Vector3 dir = planeta.transform.position - transform.position;
transform.position += dir * 0.1f * Time.deltaTime;
transform.forward = Vector3.Lerp (transform.forward, dir.normalized, Time.deltaTime);
}
if (distancia < 1500) {
Vector3 dir = planeta.transform.position - transform.position;
transform.position -= -dir * 0.1f * -Time.deltaTime;
transform.forward = Vector3.Lerp (transform.forward, dir.normalized, -Time.deltaTime);
}
}
//URANO
if (Urano.Urano_bool == true) {
if (distancia > 2000) {
Vector3 dir = planeta.transform.position - transform.position;
transform.position += dir * Time.deltaTime;
transform.forward = Vector3.Lerp (transform.forward, dir.normalized, Time.deltaTime);
} else if (distancia <= 2000) {
Vector3 dir = planeta.transform.position - transform.position;
transform.position += dir * 0.1f * Time.deltaTime;
transform.forward = Vector3.Lerp (transform.forward, dir.normalized, Time.deltaTime);
}
if (distancia < 1700) {
Vector3 dir = planeta.transform.position - transform.position;
transform.position -= -dir * 0.1f * -Time.deltaTime;
transform.forward = Vector3.Lerp (transform.forward, dir.normalized, -Time.deltaTime);
}
}
//NETUNO
if (Netuno.Netuno_bool == true) {
if (distancia > 2000) {
Vector3 dir = planeta.transform.position - transform.position;
transform.position += dir * Time.deltaTime;
transform.forward = Vector3.Lerp (transform.forward, dir.normalized, Time.deltaTime);
} else if (distancia <= 2000) {
Vector3 dir = planeta.transform.position - transform.position;
transform.position += dir * 0.5f * Time.deltaTime;
transform.forward = Vector3.Lerp (transform.forward, dir.normalized, Time.deltaTime);
}
if (distancia < 1700) {
Vector3 dir = planeta.transform.position - transform.position;
transform.position -= -dir * 0.5f * -Time.deltaTime;
transform.forward = Vector3.Lerp (transform.forward, dir.normalized, -Time.deltaTime);
}
}
} else {
Vector3 dir = startpos - transform.position;
transform.position += dir * Time.deltaTime;
dir = Vector3.zero - transform.position;
transform.forward = Vector3.Lerp (transform.forward, dir.normalized, Time.deltaTime);
}
}
}
YmKx- Avançado
- PONTOS : 2963
REPUTAÇÃO : 8
Idade : 27
Respeito as regras :
Re: [RESOLVIDO] Camera tremendo quando se aproxima de certos objetos, como resolver?
PS: Os objetos são Venus e Marte que estão com esse problema
YmKx- Avançado
- PONTOS : 2963
REPUTAÇÃO : 8
Idade : 27
Respeito as regras :
Re: [RESOLVIDO] Camera tremendo quando se aproxima de certos objetos, como resolver?
nao seria porque a distancia desses dois planetas e pequena se comparado aos demais?
se vc aumentar o valor dos if nao resolve?
se vc aumentar o valor dos if nao resolve?
googolepton- Avançado
- PONTOS : 2792
REPUTAÇÃO : 38
Respeito as regras :
Re: [RESOLVIDO] Camera tremendo quando se aproxima de certos objetos, como resolver?
deu certo mano valeu
YmKx- Avançado
- PONTOS : 2963
REPUTAÇÃO : 8
Idade : 27
Respeito as regras :
Re: [RESOLVIDO] Camera tremendo quando se aproxima de certos objetos, como resolver?
disponhaYmKx escreveu:deu certo mano valeu
googolepton- Avançado
- PONTOS : 2792
REPUTAÇÃO : 38
Respeito as regras :
Tópicos semelhantes
» [Duvida] Como desativar objetos quando não estão visiveis na camera
» inputfield sendo ativado quando anda/pula, como resolver?
» erro de letras rosa quando eu compilo o jogo,como resolver?
» [Resolvido] Como fazer o objeto colidir uma vez e tão ficar tremendo?
» [RESOLVIDO] Quando dou BAKE na cena, as sombras dos objetos somem!
» inputfield sendo ativado quando anda/pula, como resolver?
» erro de letras rosa quando eu compilo o jogo,como resolver?
» [Resolvido] Como fazer o objeto colidir uma vez e tão ficar tremendo?
» [RESOLVIDO] Quando dou BAKE na cena, as sombras dos objetos somem!
SchultzGames :: UNITY 3D :: Resolvidos
Página 1 de 1
Permissões neste sub-fórum
Não podes responder a tópicos