Jump to content
UnitySpain
Sign in to follow this  
datmos

Problema rigidbody y Translate

Recommended Posts

Buenas!

Tengo una pequeña escena donde el enemigo me esta dando por culete.

 

para probar he hecho una escena nueva, he puesto un cube y le he puesto un script el cual lleva un transform.Translate en Z. Así que el cubo avanza en Z poco a poco. Este cube lleva un rigidbody para que le afecte la gravedad por si el terreno no es llano.

Luego tengo al player que no tiene un rigidbody, va con un Character Controller.

 

Si yo me acerco al Cube por su "espalda" e intento empujarlo con el Player (es decir como si quisiera ayudare a que corra mas en Z) nada ocurre, el Cube me obstaculiza y punto. Lo mismo ocurre si contacto con el Cube por los lados, el cube no se inmuta, hasta aqui todo bien.

Pero si me acerco por delante (osea en la dirección en la que el se esta moviendo) y me quedo quieto el Cube no puede avanzar pero empieza a desviarse de su trayectoria inicial y si le empujo en dirección contraria a la que el cubo va, lo muevo para atrás incluso lo llego a tumbar, como un rigidbody actuaria básicamente.

 

No entiendo por que solo se le aplica fuerza si voy en dirección contraria a la del Cube y en cambio por los lados el Cube no se inmuta. Yo en realidad no quiero aplicar fuerza por ningún lazo, no se por que esta ocurriendo esto.

Alguien sabe el porque?

 

Espero haberme explicado correctamente!

 

Saludos!

Share this post


Link to post
Share on other sites

Si tenes un player solo con controller no deberia interactuar (mediante colisiones) con ningun rigidbody. Otra cosa que te puedo decir es no utilizar translate para nada que tenga un rigidbody, justamente la ventaja de estos es utilizar el motor de las fisicas para que en cada step se realicen los calculos necesarios. Podrias mover a la caja con Rigidbody.MovePosition

https://docs.unity3d.com/ScriptReference/Rigidbody.MovePosition.html

Con esto podes mover un estilo translate pero con el rigidbody reconociendo colisiones y actuando acorde. Tambien podes modificar el vector "velocidad" directamente.

Podrias subir los scripts de movimiento de player y de la caja.

Saludos

 

 

Share this post


Link to post
Share on other sites
Sign in to follow this  

×
×
  • Create New...