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.
Con la tecnología de Blogger.
BUSCADOR
PÁSATE POR EL FORO
API DE UNITY
TEMAS
- 00_INTRODUCCION (3)
- 01_CLASE OBJECT (3)
- 02_ESTRUCTURA VECTOR3 (4)
- 03_CLASE TRANSFORM (7)
- 04_CLASE RIGIDBODY (8)
- 05_CLASE COLLIDER (2)
- 06_CLASE MESHCOLLIDER (1)
- 07_CLASE CHARACTERCONTROLLER (3)
- 08_CLASE RENDERER (2)
- 09_CLASE MESHFILTER (1)
- 10_CLASE JOINT (2)
- 11_CLASE HINGEJOINT (2)
- 12_CLASE SPRINGJOINT (1)
- 13_CLASE CHARACTERJOINT (1)
- 14_CLASE BEHAVIOUR (1)
- 15_CLASE MONOBEHAVIOUR (9)
- 16_CLASE CAMERA (6)
- 17_CLASE LIGHT (3)
- 18_CLASE MATERIAL (3)
- 19_CLASE CUBEMAP (1)
- 20_CLASE RENDERTEXTURE (3)
- 21_CLASE PARTICLEEMITTER (3)
- 22_CLASE MESH (2)
- 23_CLASE GAMEOBJECT (6)
- 24_CLASE SHADER (1)
- 25_CLASE PHYSICMATERIAL (1)
- 26_CLASE COMPONENT (1)
- 27_CLASE GUIELEMENT (1)
- 28_CLASE GUITEXT (2)
- 29_CLASE GUITEXTURE (1)
- 30_CLASE GUI (8)
- 31_CLASE GUILAYOUT (4)
- 32_CLASE TEXTURE (1)
- 33_CLASE TEXTURE2D (2)
- 34_CLASE INPUT (4)
- 35_ESTRUCTURA BOUNDS (1)
- 36_CLASE COLLISION (1)
- 37_CLASE CONTROLLERCOLLIDERHIT (1)
- 38_CLASE DEBUG (1)
- 39_CLASE EVENT (3)
- 40_CLASE GIZMOS (1)
- 41_CLASE LIGHTMAPSETTINGS (1)
- 42_ESTRUCTURA MATHF (3)
- 43_CLASE PHYSICS (2)
- 44_ESTRUCTURA QUATERNION (1)
- 45_CLASE RANDOM (1)
- 46_ESTRUCTURA RAY (1)
- 47_ESTRUCTURA RAYCASTHIT (1)
- 48_ESTRUCTURA RECT (1)
- 49_CLASE RENDERSETTINGS (1)
- 50_CLASE SCREEN (1)
- 51_CLASE TIME (1)
- 52. CLASE YIELDINSTRUCTION (1)
- MONOGRAFICOS (2)
