Noticias

¡RECUERDA QUE SI ERES UN NUEVO USUARIO, DEBES PRESENTARTE PARA PODER PUBLICAR MENSAJES! | TENEMOS CANAL OFICIAL DE TELEGRAM: t.me/unity3dspain

Problema con colliders 2D

Iniciado por magicdidac, Abril 19, 2016, 10:11:35 PM

Tema anterior - Siguiente tema
Hola, mi problema es que estoy con un juego en 2D y ya tengo parte de las mecánicas del juego pero tengo un error casi desde que empece. El problema es que yo le doy con un Rigidbody2D velocidad al personaje pero este cuando va a mucha velocidad atraviesa colliders y acaba atravesando una pared o algo similar. La función que utilizo para esto es:
void Update (){
        Vector2 moveDir = new Vector2 (Input.GetAxis ("Horizontal") * moveSpeed, rb2D.velocity.y);
        rb2D.velocity = moveDir;}[/quote] rb2D es el Rigidbody2D.He visto otros post, pero eran para 3D, que era porque variaba la posición, pero este no es mi caso ya que vario la velocidad. También he probado a mover lo mediante fuerzas pero al ser un plataformas no sirve.Estas son imágenes del juego, está en desarrollo el arte no será así.https://gyazo.com/b23df7bac1307e808f3e2c2859b2238dhttps://gyazo.com/9ed90d7e5fed7444ad6b3e5edee3e121" rel="external nofollow">https://gyazo.com/9ed90d7e5fed7444ad6b3e5edee3e121https://gyazo.com/4b2d2dd07024639f2aca89a5b4b6b7ef" rel="external nofollow">https://gyazo.com/4b2d2dd07024639f2aca89a5b4b6b7efEn la pared es donde más se produce el error ya que llegas con velocidad para saltar de pared a pared y entonces es cuando atraviesa los colliders. Si alguien puede ayudarme sobre este tema se lo agradecería mucho. Saludos.

Es que no es bueno ni recomendable cambiar la velocidad del rigidbody directamente (lo sé en 3D pero supongo que se aplica en 2D igual). Comentario del API:"In most cases you should not modify the velocity directly, as this can result in unrealistic behaviour. Don't set the velocity of an object every physics step, this will lead to unrealistic physics simulation. "Aparte, te recomendaría que si cambias algo de Physics (no el velocity claro) lo hagas en el FixedUpdate.

[quote author=iRobb" data-ipsquote-contapp="forums" data-ipsquote-contenttype="forums" data-ipsquote-contentclass="forums_Topic" data-ipsquote-contentid="35686" data-ipsquote-contentcommentid="129900">Es que no es bueno ni recomendable cambiar la velocidad del rigidbody directamente (lo sé en 3D pero supongo que se aplica en 2D igual). Comentario del API:"

Etiquetas: