SteamVR Skeleton Poser with the "circular drive" script
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!
Answer by Giantbean · Oct 29, 2020 at 03:16 PM
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.
Cheers.
@Giantbean Thank you for your answer. Today we found another solution which might work for you as well. We just added the circular and linear drive to the joystick. In the linear drive we set the start and end position to the origin of the Joystick, thus it only rotates in the limits which you set in the circular drive and has no forward or backward motion from the linear scrip. $$anonymous$$aybe these two solutions help other users who encounter similiar problems. Cheers!
Hello, I tried this but the hand poses on the joystick and it wont allow the circular movement, did you do something else to make it work? Thanks
Your answer
Follow this Question
Related Questions
how to map joystick for mobile game? 0 Answers
Weird hand disfigure 0 Answers
How can I make my VR controller stick to a virtual Joystick and still control it? 1 Answer
Programming Touchpad Joystick on Oculus Go 0 Answers
Multiple Scenes for iOS 2 Answers