Move objects along an axis or a plane with VRC Pickups in a synced fashion with acceptable interpolation.
Head to my VCC Listing and follow the instructions there.
This project uses custom git filters to reduce the amount of noise generated by Udon and UdonSharp. These filters are not required in order to contribute, though without them all UdonSharp asset files will show as modified and those “changes” should not be committed.
Listeners array in the inspector. These scripts must define both of these public methods:
OnBeginMovement()OnEndMovement()SetLocalPositionOfToMove api function on the MovementGrip script to set the local position of the toMove object and sync itMake sure that the VRC Pickup has its Orientation set to Grip or Gun while the Exact Grip/Gun are left empty. That way the invisible pickupable object will not move towards the hand, it simply stays at the exact relative position that it was at when you picked it up.
Also make sure to set the rigid body to not use gravity and to be kinematic.
In regards to the desktop issue mentioned above, I’ve thought about ray casting from the center of the screen to find where you’re actually picking up the object and use that as a relative position. Theoretically this would fix the issue, but the chance for edge cases is not exactly zero, and is also non trivial because getting the center of the screen isn’t easy. Or it is and I just don’t know about it.
com.jansharp.movement-grip
Undefined
1.2.2 (Changelog)
2019.4 or later
No dependencies
No legacy packages