$jigglebone
$jigglebone
es un UNTRANSLATED string "QC command" see Template:This is a/strings disponible en todos los juegos de Source.
Al establecer unos «huesos» en el esqueleto del modelo, se permitirá que este se tambalee gracias a la entidad «jigglebone» que transmite al motor la simulación dinámica durante su uso, permitiendo movimientos físicos realistas.
Tutorial
Aquí se puede ver un tutorial para añadir esta entidad a modelos 3D.
Aquí se puede ver otro tutorial similar.
Los usuarios de Blender, pueden guiarse a través de este tutorial.
Sintaxis
$jigglebone <nombre> { <property group> { <property> <value> [<value>] ... } }
Donde <nombre> es el nombre del punto de unión.
Actualmente hay cuatro tipos de «grupos de propiedad»:
is_rigid
is_flexible
has_base_spring
is_boing
Template:2013 only
Cada uno de ellos es opciona, pero is_rigid
y is_flexible
no pueden usarse a la vez. has_base_spring
y is_boing
tampoco.
Ejemplos
A continuación se muestran unos ejemplos:
$jigglebone "Floppy" { is_rigid { tip_mass 100 length 20 angle_constraint 60 } }
$jigglebone "JigglyUpAndDown" { is_flexible { yaw_stiffness 100 yaw_damping 3 length 20 yaw_constraint 0 0 } }
$jigglebone "Bouncy" { has_base_spring { stiffness 100 damping 1 left_constraint -20 20 up_constraint -20 20 forward_constraint -20 20 } }
$jigglebone "FloppyAndBouncy" { is_rigid { tip_mass 100 length 20 angle_constraint 60 } has_base_spring { stiffness 100 damping 1 left_constraint -20 20 up_constraint -20 20 forward_constraint -20 20 } }
Para Antlion:
$jigglebone "Antlion.glasswingR_bone" { is_flexible { yaw_stiffness 700 yaw_damping 6 pitch_stiffness 700 pitch_damping 8 tip_mass 5 length 30 angle_constraint 37 } }
Amortiguación
La amortiguación se simula con distintos valores. Los valores que determinan la rigidez indican la dureza de este tipo de amortiguación. Cuando el valor es bajo, como 10, será muy débil, mientras que si es 500 será bastante rígido y fuerte. Los valores legales se comprenden entre 1 y 1000.
Un valor de 0 haría que la amortiguación fuese eterna y no dejase de oscilar.
is_flexible
Si un modelo con «jigglebone» es flexible, se colocará una masa simulada al final del hueso y este actuará con su respectiva amortiguación, como una vara flexible.
yaw_stiffness
- Rigidez de la amortiguación.
yaw_damping
- Oscilación entorno a la rotación del eje. Mín.: 0, máx.: 10.
pitch_stiffness
- Rigidez de la amortiguación entorno a la rotación del eje de inclinación.
pitch_damping
- Oscilación entorno a la rotación del eje de inclinación. Mín.: 0, máx.: .
along_stiffness
- Rigidez de la amortiguación en toda la longitud del mismo eje. Solo se usa si se ha especificado «allow_length_flex».
along_damping
- Oscilación entorno al eje de la amortiguación. Solo se usa si se ha especificado «allow_length_flex». Mín.: 0, máx.: 10.
allow_length_flex
- Normalmente, la entidad «jigglebones» mantiene su rigidez por defecto. Con esta especificación se conseguirá que esta sea flexible.
length
- Longitud a la que la masa de la «punta» se encuentra desde la base, en pulgadas. Longitudes cortas producirán tambaleos exagerados. Longitudes largas producirán movimientos suaves.
tip_mass
- Nivel en que se ve afectado por la gravedad. El valor 0 desactiva los efectos de la gravedad y 1 000 produce una masa pesada.
is_rigid
Si un modelo con «jigglebone» es rígido, se colocará una masa simulada al final del hueso y este actuará como un palo rígido. Esta amortiguación crea solo movimientos rotacionales, donde el centro de esta rotación es la base del modelo.
length
- Longitud de la masa de la «punta» desde la base, en pulgadas. Longitudes cortas producirán tambaleos exagerados. Longitudes largas producirán movimientos suaves.
tip_mass
- Nivel en que se ve afectado por la gravedad. El valor 0 desactiva los efectos de la gravedad y 1 000 produce una masa pesada.
Restricciones de ángulo
Los siguientes parámetros se pueden usar tanto en modelos con grupos de parámetros rígidos (is_rigid
) como flexibles (is_flexible
).
angle_constraint
- Especifica la desviación máxima del ángulo permitida, creando un límite cónico.
yaw_constraint (min max)
- Especifica la desviación mínima y máxima permitida para el ángulo, entorno a la rotación del eje. Los valores del ángulo no deben exceder los +/-90 grados.
yaw_friction
- Valores distintos a cero crean fuerzas sobre el tambaleo respecto al valor definido en el límite de «
yaw_constraint
». La fricción no debe exceder las 20 unidades.
pitch_constraint
- Especifica la desviación mínima y máxima permitida entorno al eje rotacional de inclinación. Los valores del ángulo no deben exceder los +/-90 grados.
pitch_friction
- Valores distintos a cero serán fuerzas sobre la fricción del tambaleo respecto al valor definido en el límite de «
pitch_constraint
». La fricción no debe exceder las 20 unidades.
has_base_spring
Si un modelo tiene una base de amortiguación («base spring» en inglés), una masa simulada se colocará en la base del hueso. Esta amortiguación crea solo movimientos de translación, moviendo todo el modelo en X, Y y Z.
stiffness
- Rigidez de la base de amortiguación.
damping
- Oscilación de la base de amortiguación.
left_constraint
- La cantidad máxima en la que el hueso puede moverse en el eje X.
left_friction
- La cantidad máxima de fricción aplicada cuando el amortiguador roza contra la restricción izquierda.
up_constraint
- La cantidad máxima en la que el hueso puede moverse en el eje Y.
up_friction
- La cantidad de fricción aplicada cuando el amortiguador roza contra la restricción.
forward_constraint
- La cantidad máxima en la que el hueso puede moverse en el eje Z.
forward_friction
- La cantidad de fricción aplicada cuando el amortiguador roza contra la restricción frontal.
base_mass
- Cuanto afecta la amortiguación base a la gravedad.
is_boing
impact_speed
impact_angle
damping_rate
frequency
amplitude