Source SDK

Source SDK

Not enough ratings
$collisionjoints "configurar huesos y colisión"
By H-H-G-M
una versión traducida de una guía de valve para comandos qc. de modelos 3D útil para darle ciertas configuraciones a ciertos huesos de ragdoll
aquí el link de la versión original
https://developer.valvesoftware.com/wiki/$collisionjoints
   
Award
Favorite
Favorited
Unfavorite
definir una malla de colisión
El comando QC $collisionjoints se utiliza para definir una malla de colisión compuesta por múltiples partes independientes, ya sea para un ragdoll o para un objeto animado. Si su modelo no tiene partes móviles que necesiten colisionar, utilice $collisionmodel en su lugar.

Un ragdoll puede tener hasta 32 partes independientes (es decir, se pueden simular 32 huesos, 24 en versiones anteriores de source). El límite para un modelo animado es de 99 partes separadas.

Consejo.png Consejo: Usa vcollide_wireframe 1 para ver las mallas de colisión en el juego.
Advertencia.png Advertencia: Cada parte convexa producirá una entidad phys_bone_follower, que potencialmente utilizará gran parte del recuento de entidades. ¡Usar esto para modelos que van a ser repetidos muchas veces no es una buena idea!
Syntax
  • $collisionjoints <collision mesh SMD/DMX>
  • {
  • <options>
  • }
Todas las opciones de $collisionmodel
$concave
permite una mejor simetría para la colisión

$concaveperjoint
Permite la geometría de colisión cóncava para huesos individuales.

$rootbone <cadena|hueso>
Anula el hueso raíz de la malla de colisión.

$jointskip <cadena|hueso>
Elimina una articulación en el esqueleto que no se quiere utilizar en las colisiones.

$jointmerge <string|hueso1> <cadena|hueso2>
Fusiona las asignaciones de vértices de dos articulaciones.

$jointconstrain <cuerda|hueso> <eje> <permitir_opción> <ángulo_mínimo> <ángulo_máximo> <fricción>
Límites del movimiento de un hueso en relación a su hueso padre. Ver $jointconstrain para una descripción completa.

$jointinertia <cadena|hueso> <float|escala>
La inercia por hueso.

$jointdamping <string|hueso> <float|escala>
Amortiguación por hueso.

$amortiguación conjunta <string|hueso> <float|escala>
Por hueso $rotdamping.

$jointmassbias <string|bone> <float|bias>
La masa se distribuye automáticamente por volumen, esto permite sesgarla por hueso.

$noselfcollisions
Desactiva las colisiones entre huesos en el mismo modelo de colisión para mejorar el rendimiento.
Warning.png Advertencia: ¡Resulta en el recorte de los brazos a través de los torsos y otras rarezas si se utiliza incorrectamente!

$jointcollide <string|hueso1> <string|hueso2>
Si se especifica algún par de $jointcollide, sólo esas articulaciones colisionan entre sí.

$animatedfriction <float|FrictionTimeIn> <float|FrictionTimeOut> <float|FrictionTimeHold> <float|MinAnimatedFriction> <float|MaxAnimatedFriction>
Se utiliza para animar la cantidad de fricción en las articulaciones con el tiempo.
Ejemplo
  • $collisionjoints "bip01_phys.smd"
  • {
  • $mass 115.0 //fuerza
  • $inertia 2.00 //inercia
  • $damping 0.01
  • $rotdamping 0.40
  • $rootbone "bip01_pelvis"
  • $jointmerge "bip01_pelvis" "bip01_spine"

  • $jointmassbias "bip01_l_arm2" 2.00
  • $jointconstrain "bip01_l_arm2" x limit 0.00 0.00 0.00
  • $jointconstrain "bip01_l_arm2" y limit 0.00 0.00 0.00
  • $jointconstrain "bip01_l_arm2" z limit -120.00 4.00 0.20

  • $jointrotdamping "bip01_head" 5.00
  • $jointconstrain "bip01_head" x limit -20.00 20.00 0.00
  • $jointconstrain "bip01_head" y limit -25.00 25.00 0.04
  • $jointconstrain "bip01_head" z limit -13.00 30.00 0.04
  • }