Noticias

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

Wheel Joint 2D motor speed

Iniciado por Andres David, Noviembre 04, 2015, 09:20:34 PM

Tema anterior - Siguiente tema
Buenas tardes, mi pregunta es la siguiente:Como puedo cambiar el valor del Motor Speed del Wheel Joint 2D desde un script diferente al que controla dicho motor. Osea, como puedo hacer la referencia a este campo en específico.Para ser mas especifico, tengo un script el cual al presionar una tecla va incrementando la velocidad del personaje (Scrip que controla el motor) y tengo otro script que lo que hace es que el personaje al pasar digamos por un trigger, me cambie el valor del motor speed a cero. Digamos que el personaje lleva una velocidad de 100 y al pasar por el trigger, la velocidad cambie a cero.Lo estoy haciendo de la siguiente manera: primero hago el llamado al personaje que contiene el wheel joint y despues accedo al componente wheel joint y despues al motor speed y cambia su valor a cero, pero asi no me da, lo he intentado de otras formas, pero llego al mismo resultado.personaje.GetComponent<wheelJoint2D>().motor.motorSpeed = 0; Se que en esto faltará algo, pero la verdad no se y buscado ayuda en la red, pero lo que encuentro es desde un mismo script y yo lo necesito que funcione pero llamandolo desde otro script. Espero hacerme entender.Este es un "Pequeño" problema con el cual vengo lidiando hace días y no lo he podido solucionar, cualquier ayuda muchas gracias.

Una cosa es la velocidad del motor y otra la velocidad del personaje! Si tiene RigidBody tienes que usar éste para que se quede totalmente quieto.Rigidbody velocity.Mira a ver si es eso

Lo que pasa es que el motor me mueve al personaje, mi personaje es un man sobre una bicicleta.. Y lo que necesito es parar el motor.Ya que lo intente así como dices, con el rigibody y mi personaje no para, sino que sigue andando. Y necesito que pare completamente y no vuelva a arrancar hasta que se lo indique, aunque lo del arranque creo saberlo hacer, lo que necesito es que pare jaja XDPor ejemplo: rearWheelAI2.GetComponent<Rigidbody2D>().velocity = (new Vector2(freno,0)); teniendo en cuenta que freno ya esta declarada y equivale a 0. (Asi no me funciona)Te dejo una imagen.. y Gracias por comentar

Y has probado a modificar el jointSpeed? Es que una cosa es la velocidad del motor y otra la del objeto en sí... y es raro que asignando velocidad 0 al rigidbody no se te detenga en seco :/

juanma_Teso. Te cuento que ya pude solucionar ese detalle, lo hice haciendo un llamado al wheel y al joint del personaje. Ya que como te dije con el rigibody, no me funcionaba , aunque si me funciono para otras cosas. Muchas gracias por tus comentarios. Y te dejo como fue que lo solucione, y no es por demás que le pueda servir a otra persona.

Etiquetas: