Noticias

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

Unir dos objetos cuando chocan

Iniciado por gele81, Septiembre 10, 2013, 07:54:51 PM

Tema anterior - Siguiente tema
tengo un portero y un balón con una fuerza que se dirige hacia él.
Cuando el balón colisiona con el portero quiero que este la "atrape" .
se hacer que detecte la colisión, pero no se hacer para que la coja.
como consigo esto.
muchas gracias.

Usa una "junta" que una al portero y al balon, tienes varias en Unity (Hinge Joint, Fixed Joint, Spring Joint, etc...).
Haz la prueba añadiendo una directamente en la escena para que veas cómo funcionan y une a mano en el editor de Unity ambos modelos, el portelo y el balon.

Las juntas la tienes en el apartado de fisicas al añadir un componente a un objeto. Añades una junta al portero (por ejemplo) y le dices con qué se tiene que "juntar", o sea, el balon.

Una vez que ya sabes como hacerlo a mano, haces lo mismo usando un script que cree el joint  (AddComponent) y haga la misma union que has hecho a mano pero usando código.

Yo lo que eh echo, es en las manos del "Portero", puse un  GameObject Vació, y en la pelota tenia un Script, que cuando entraba dentro del trigger del arquero esta se colocaba en la Posición del GameObject, es un poco brusco el movimiento, pero es un poco mas Fácil, aun que no retiro lo dicho "Jocyf", es mejor =)

Yo lo que eh echo, es en las manos del "Portero", puse un GameObject Vació, y en la pelota tenia un Script, que cuando entraba dentro del trigger del arquero esta se colocaba en la Posición del GameObject, es un poco brusco el movimiento[/quote]
Ese sistema para hacerlo es mucho más fácil que el mío, pero el cambio de posición para situarlo en la transform del gameobject vacío será un movimiento brusco, como bien dice Francoe1. Sin embargo, podrías suavizarlo haciendo un Lerp entre ambas posiciones.

Digamos que mi idea es más "pija" que la de Fracoe1 y la suya es mucho más fácil de implementar; ambas son válidas por igual.

llevo dándole weltas a esto y no consigo hacer lo del joint.

lo otro si me sale, pero como estoy intentando más que nada aprender. Me he empeziñao en intentar el Joint.

os pongo el codigo

//para saber si colisiona con el balon

function OnCollisionEnter(collision: Collision){
 if (collision.gameObject == balon)
   
   parada();
}


// esto se encarga de pegar el balon al portero
function parada(){
portero.AddComponent(HingeJoint);

hingeJoint.connectedBody = balon.rigidbody;

}

no me da error pero no se keda pegado ni na

un saludo y muchas gracias.

Hola, necesito ayuda! Tengo q hacer 2 ejemplo del Fixed Joint, ya hice uno de 2 engranajes y el otro quiero hacer lo sig: lanzar un cubo (lo hago por medio de un Spring Joint) a una pared y que este quede pegado con Fixed, pero no encuentro una propiedad como la gente (o mejor dicho no se como usarla, si es q hay una je), a todo esto me considero usuario básico/medio en Unity, asi q si me explican mejor como usar la propiedad del Fixed para q estos dos rigidbody queden pegados cuando colicionen, se lo agradecería mucho. Hice esto y queda pegado, un scrip asignado a la pared, pero anda horrible:

function OnCollisionEnter(objetoCol : Collision) {
if(objetoCol.gameObject.name=="CubeA")
   objetoCol.gameObject.AddComponent(HingeJoint);
   hingeJoint.connectedBody = objetoCol.gameObject.rigidbody;
}

Saludos

Cita de: gele81 date=1379074613" data-ipsquote="" data-cite="gele81" class="ipsQuotellevo dándole weltas a esto y no consigo hacer lo del joint. lo otro si me sale, pero como estoy intentando más que nada aprender. Me he empeziñao en intentar el Joint. os pongo el codigo //para saber si colisiona con el balon function OnCollisionEnter(collision: Collision){ if (collision.gameObject == balon) parada(); } // esto se encarga de pegar el balon al portero function parada(){ portero.AddComponent(HingeJoint); hingeJoint.connectedBody = balon.rigidbody; } no me da error pero no se keda pegado ni na un saludo y muchas gracia¿s.
¿Y como has hecho para animar los saltos del portero? Tengo unos cubos en cada zona de salto y un script que activa la animación correcpondiente al pasar el balón, pero es que con animations me funciona pero luego se pone a dar volteretas y con animator no consigo activar las animaciones.Gracias por adelantado.

Etiquetas: