Creo que si entendi bien, la sugerencia de java3d - opengl esta mal hecha.

Realmente ese problema no se refiere tanto a como se va a representar (java 3d - opengl o directX) sino al modelo físico de como van a interactuar los objetos. Creo que el tratamiento que buscas es el de "inverse kinematics" (kinematica inversa) y hasta cierto punto "ragdolls".
Aqui hay algo de informacion al respecto ( que no se note que es google

)
En inglesinglesbueno, me dio

seguir buscando, me acuerdo que alguna vez en nehe tutorials un tipo publico un ejemplo muy bueno en c++ y Opengl de ragdolls, pero luego perdi la referencia y el ejemplo
Camilo
http://runegamedev.awardspace.com/Grupo PENTEX