Es/$jigglebone

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 
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