Pregunta

Estoy trabajando con PhysX (se trata de añadir a ik muñeco de trapo) en el momento. Por alguna razón, todas las juntas ragdoll son sin fricción, y como resultado, ragdoll tienden a "oscilación", especialmente cuando se cuelga en el aire y está conectado a varios actores en movimiento cinemáticos.

Me gustaría añadir la fricción de las juntas y hacerlas "dura". Imagínese una puerta (con bisagra muy oxidado) que necesita ser expulsados ??varias veces para estar abierto - es decir, que gira alrededor de la bisagra, pero no mucho, rápidamente se detiene, y se requiere gran fuerza para hacerlo girar. O piensan sobre maniquíes de arte (ver Google de imágenes) -. Sus miembros se mueven alrededor, pero no giran libremente

Por desgracia, no puedo encontrar nada relacionado con la fricción de la junta de PhysX. He revisado la documentación, Google y cabeceras, y no podía encontrar nada útil.

Así que, ¿Cómo implemento rigidez en las articulaciones / fricción de la junta con PhysX? (Creo) que he visto juegos PhysX sin ese problema, por lo que aparentemente debería haber alguna manera de hacerlo.

P.S. No estoy hablando de inestabilidad de la articulación / solucionador aquí. Ragdoll es estable (más o menos), y las articulaciones honrar grados de libertad (límites de las articulaciones), pero no tienen articulaciones de fricción, y me gustaría añadir fricción a ellos.

¿Fue útil?

Solución

he hecho una pregunta en los foros de nvidia recientemente que podrían estar relacionadas con esta: enlace

Por desgracia no he tenido una respuesta real a mis preguntas, pero logró hacer lo que yo quiero hacer, mediante un resorte en la fuerza ayuda conjunta que aquí si sólo se agrega una constante de amortiguación sin una constante de resorte. Estos trabajos en mi caso, pero no pueden explicar por qué así que mientras yo estoy feliz de utilizarlo no estoy totalmente seguro de si recomendar a él.

No sé si también se podría añadir angular de amortiguación a todas las partes individuales de la muñeca de trapo, que les haría desaceleración más rápida después de que han empezado a moverse, pero puede que no parece correcto. Probablemente una de las cosas que tendrá que experimentar.

Otros consejos

este hilo del foro sobre las articulaciones tambaleantes en PhysX, know Dont si lo ha visto, pero espero que ayude.

¿Por qué no pruebas de que:

d6Desc.swingDrive.driveType.raiseFlagMask (NX_D6JOINT_DRIVE_VELOCITY); d6Desc.swingDrive.forceLimit = 0.1f; d6Desc.twistDrive.driveType.raiseFlagMask (NX_D6JOINT_DRIVE_VELOCITY); d6Desc.twistDrive.forceLimit = 0.1f; d6Desc.driveAngularVelocity.x = 0; d6Desc.driveAngularVelocity.y = 0; d6Desc.driveAngularVelocity.z = 0;

Usted conduce la velocidad a 0 con una pequeña fuerza, este movimiento manera se reducirá y se objets dejará de moverse en el suelo. No es exactamente igual que la fricción pero cerca.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top