
El spring joint ata juntos dos rigid bodies que se encuentran a una cierta distancia. Las fuerzas spring (resorte) se aplicarán automáticamente para mantener el objeto a la distancia dada, intentando mantener la distancia que había cuando empezó. Las propiedades minDistante y maxDistance añaden unos límites de implícita distancia.
VARIABLES:
spring:
var spring : float
La fuerza del spring usada para mantener los dos objetos juntos.
damper:
var damper : float
La fuerza de amortiguación usada para amortiguar la fuerza del spring.
minDistance:
var minDistance : float
La distancia mínima entre los rigidbodies relativa a su distancia inicial. La distancia que habrá de mantenerse se conservará entre minDistance y maxDistance. Ambos valores son relativos a la distancia entre los respectivos centros de masa cuando la escena fue cargada al principio.
maxDistance:
var maxDistance : float
La distancia máxima entre los rigidbodies relativa a su distancia inicial.
Veamos todo esto con un ejemplo rápido, para lo cual previamente haremos las pertinentes modificaciones en la interfaz de Unity.
Asignamos (una vez más) el script MiSegundoScript a la esfera.
Seleccionamos "Cube" en la jerarquía, y lo ubicamos en position.x = -3. Asimismo le eliminamos el componente hingejoint y en components=>Physics=>spring joints le añadimos un spring. Observaremos que ahora el cube en lugar de una flecha tiene un minicubo.
Y -ahora sí- remozamos MiPrimerScript:
var pegadoATi : Rigidbody;
var springJoint : SpringJoint;
springJoint = GetComponent(SpringJoint);
springJoint.connectedBody = pegadoATi;
springJoint.spring = 25;
springJoint.damper = 4;
springJoint.minDistance = 0;
springJoint.maxDistance = 0;
Veamos lo que hemos querido hacer. En primer lugar declaramos una variable (que la llamamos springJoint por claridad didáctica, pero que hubiéramos podido darle otro nombre legal) de tipo SpringJoint y le asignamos el componente SpringJoint de nuestro cube. Luego vinculamos el cubo a nuestro joint. Y a partir de ahí le damos al sprint/resorte una fuerza de recuperación de 25, una de amortiguación de 4, y establecemos la distancia mínima y máxima la que ya ambos cubos tenían al darle al play, esto es, 3 metros. Si quisiéramos que los cubos tras el impacto de la esfera quedaran a más o menos distancia de la inicial retocaríamos respectivamente minDistance o maxDistance.
Dadle al play. Nuestro muelle retiene al cubo a la distancia estipulada del portador del spring joint. Podéis jugar con spring y damper para que esa fuerza de tipo resorte sea más o menos acusada.
Y con esto acabamos con esta clase. Luego seguimos con otra.
No hay comentarios:
Publicar un comentario