38. CLASE SPRINGJOINT




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.

POSTED BY UnityScripts
DISCUSSION 0 Comments

Leave a Reply

Con la tecnología de Blogger.