Some Informations beforehand: I am using the Valve Index and the current Steam VR input PlugIn for the Unity version 2020.1.7.f1
Currently i am working on a VR-project where the player should be able to use a Joystick to move another gameobject. Therefore i attached the “Interactable” and “circular drive” scripts to my Joystick gameobject. This all works just as intended (Joystick can be rotated around his x-axis in specific limits and another gameobject can be controlled with it), but now i am trying to add a skeleton-pose to my Joystick. For some reason this only works with the linear drive script. I already found a workaround for this specific question where one should use the throwable script in combination with rigidbodys and a joint. But either i am using the wrong settings for this or this does not work at all in my scene. The only thing that happens then, is that i can throw the joystick through the scene. So the Joystick does not seem to attach to the joint and the other rigidbody.
My question would be now if anybody else has encountered a similiar problem or even has a solution for this given problem. Thanks in advance!
I ran into this issue and found no way to implement the skeleton pose with the circular drive. I’m sure it could be done if you extended or rewrote the circular drive but for me I used throwable with joints. If your taking the joystick off the console it likely needs its joints anchored to a connected rigidbody that has frozen transforms. As you mention the other rigid body it could be how the interactable is set or throwable is set up.
I have the attached rigidbody constraints all frozen.
The Configurable joint has X, Y, and Z motion as well as Angular Y motion Locked with Angular X and Z motion limited.
For the throwable script I have the mixed attachment flag set to ParentToHand and VelocityMovement.
I also set the Release Velocity Time Offset and Scale Release Velocity to 0 and checked restore Original Parent. but its worth playing with those settings.
Hopefully that helps and if not another may come along with a better answerer.
For Anybody who still have this problem, You can Add both components “Linear Drive” and “Circluar Drive”. (Of course you need Interactable and Skeleton Poser) And Linear Drive’s Start & End Position is Self, Set “Reposition GameObject” false. And You need To make Empty GameObject and put the “Linear Mapping” Component in it. And put it into your Linear Drive’s Linear Mapping Because This Will make a trash mapping value. Finally, You should set Circular Drive’s Hover Lock to True. This does not need RigidBody or joint.