[TUTORIAL] Movimento aleatório de um Rigidbody no chão
Página 1 de 1
[TUTORIAL] Movimento aleatório de um Rigidbody no chão
ATENÇÃO, A PRIMEIRA PARTE DO TUTORIAL SERVE NA UNITY 3 OU UNITY 4... SE VOCÊ JÁ ESTIVER USANDO A UNITY 5, UTILIZE OS SCRIPTS DA SEGUNDA PARTE DO TUTORIAL, QUE SÃO ESPECIFICAMENTE DIRECIONADOS A UNITY 5, PARA EVITAR ERROS
Este é um script ( não é de minha autoria, copiei ele do site www.unity3dbrasil.com ) que faz algum objeto com rigidbody ter movimentos aleatórios.
Crie uma share:
GameObject>CreateOther>Share
adicione a ela um rigidbody, e coloque este script nela.
ela irá para alguma direção aleatória, rolando pelo chao, e toda vez que bater em algo troca de direção
SE VOCÊ ESTIVER USANDO A UNITY 5:
Este é um script ( não é de minha autoria, copiei ele do site www.unity3dbrasil.com ) que faz algum objeto com rigidbody ter movimentos aleatórios.
Crie uma share:
GameObject>CreateOther>Share
adicione a ela um rigidbody, e coloque este script nela.
- Código:
function Start () {
var lado=Mathf.Floor(Random.Range( 1, 3));
var altura=Mathf.Floor(Random.Range( 1, 3 ));
var xvelocity=0;
var zvelocity=0;
if (lado==1){
xvelocity= Mathf.Floor(Random.Range( 8, 10 ));
} else
xvelocity= Mathf.Floor(Random.Range( -8, -10 ));
if (altura==1){
zvelocity= Mathf.Floor(Random.Range( 8, 10 ));
} else
zvelocity= Mathf.Floor(Random.Range( -8, -10 ));
rigidbody.velocity=Vector3(xvelocity,0,zvelocity);
}
function OnCollisionEnter () {
if (rigidbody.velocity.z<=30 && rigidbody.velocity.z>=-30 ){
rigidbody.velocity*=1.17;
}
}
function Update () {
if (rigidbody.velocity.x>30)
rigidbody.velocity.x=30;
else if (rigidbody.velocity.x<-30)
rigidbody.velocity.x=-30;
else if (rigidbody.velocity.x<10 && rigidbody.velocity.x>-10){
if (rigidbody.velocity.x>0)
rigidbody.velocity.x=10;
else
rigidbody.velocity.x=-10;
}
if (rigidbody.velocity.z>30)
rigidbody.velocity.z=30;
else if (rigidbody.velocity.z<-30)
rigidbody.velocity.z=-30;
else if (rigidbody.velocity.z<3.5 && rigidbody.velocity.z>-3.5){
if (rigidbody.velocity.z>0)
rigidbody.velocity.z=3.5;
else
rigidbody.velocity.z=-3.5;
}
}
ela irá para alguma direção aleatória, rolando pelo chao, e toda vez que bater em algo troca de direção
SE VOCÊ ESTIVER USANDO A UNITY 5:
- Código:
function Start () {
var lado=Mathf.Floor(Random.Range( 1, 3));
var altura=Mathf.Floor(Random.Range( 1, 3 ));
var xvelocity=0;
var zvelocity=0;
if (lado==1){
xvelocity= Mathf.Floor(Random.Range( 8, 10 ));
} else
xvelocity= Mathf.Floor(Random.Range( -8, -10 ));
if (altura==1){
zvelocity= Mathf.Floor(Random.Range( 8, 10 ));
} else
zvelocity= Mathf.Floor(Random.Range( -8, -10 ));
GetComponent.<Rigidbody>().velocity=Vector3(xvelocity,0,zvelocity);
}
function OnCollisionEnter () {
if (GetComponent.<Rigidbody>().velocity.z<=30 && GetComponent.<Rigidbody>().velocity.z>=-30 ){
GetComponent.<Rigidbody>().velocity*=1.17;
}
}
function Update () {
if (GetComponent.<Rigidbody>().velocity.x>30)
GetComponent.<Rigidbody>().velocity.x=30;
else if (GetComponent.<Rigidbody>().velocity.x<-30)
GetComponent.<Rigidbody>().velocity.x=-30;
else if (GetComponent.<Rigidbody>().velocity.x<10 && GetComponent.<Rigidbody>().velocity.x>-10){
if (GetComponent.<Rigidbody>().velocity.x>0)
GetComponent.<Rigidbody>().velocity.x=10;
else
GetComponent.<Rigidbody>().velocity.x=-10;
}
if (GetComponent.<Rigidbody>().velocity.z>30)
GetComponent.<Rigidbody>().velocity.z=30;
else if (GetComponent.<Rigidbody>().velocity.z<-30)
GetComponent.<Rigidbody>().velocity.z=-30;
else if (GetComponent.<Rigidbody>().velocity.z<3.5 && GetComponent.<Rigidbody>().velocity.z>-3.5){
if (GetComponent.<Rigidbody>().velocity.z>0)
GetComponent.<Rigidbody>().velocity.z=3.5;
else
GetComponent.<Rigidbody>().velocity.z=-3.5;
}
}
Tópicos semelhantes
» [TUTORIAL] Movimento 2D e 3D no Unity (sem rigidbody)
» [TUTORIAL] Mover um Rigidbody com o mouse fazendo ele respeitar outros Rigidbody e suas massas
» Ajuda Instanciar chao e moedas aleatorio
» [RESOLVIDO] Movimento aleatório e suave de um objeto
» problema com Movimento usando Rigidbody
» [TUTORIAL] Mover um Rigidbody com o mouse fazendo ele respeitar outros Rigidbody e suas massas
» Ajuda Instanciar chao e moedas aleatorio
» [RESOLVIDO] Movimento aleatório e suave de um objeto
» problema com Movimento usando Rigidbody
Página 1 de 1
Permissões neste sub-fórum
Não podes responder a tópicos