Entidad «$jigglebone»

From Valve Developer Community
Jump to: navigation, search
Deutsch Español Français
Orientación de tambaleo de $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.

Tip.png Tip: La gravedad de la entidad «jiggle bones» no es igual a la gravedad general de la física de los objetos. En su lugar se determina por el eje +Y (+Z dependiendo del editor del modelo).

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

(only in Source 2013Source 2013)

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

To do: Documentación

impact_speed
impact_angle
damping_rate
frequency
amplitude