๐๏ธFAQ
Last updated
Last updated
To adjust a hand's offset, double click the "Follow" value of the hand, this should be an empty object under your tracked controller, which you can use to offset the hand's position/rotation
Recommend adjusting the offset while the game is running, then copying the transform values, going out of play mode, and pasting the values on the transform again
This is a Unity bug with OpenXR on Android (as of April 2022). You should try fixing it by switching to the Oculus option on the input settings. This will still work with OpenXR input
Yes! In order to get the demo scene working in HDRP or UDP all you need to do is find and click the button in Edit > Render Pipeline > Update Materials
Note: The included highlight material will only work with the base pipeline, there are much better highlight materials on the asset store and online that I would recommend
Yes! You can connect the hands to a mouse and keyboard if you feel like it. The only exception is that this asset is designed to be used with a single trigger for grabbing, as opposed to a five-finger controller like the index (however this will still work with the index trigger/button input). See. ๐ฎController Input
Each Hand from the included packages has an [Input] Hand Controller Link Component attached to it that has public button values for the finger bending axis, the grab/release button, and the squeeze/unsqueeze button.
The subcomponents under the hand (Finger Bender, Grab Pointer, Teleport Pointer and UI Pointer) all have Controller Link components on them See. ๐ฎController Input
This is likely because the Break Force on the Grabbable is too low for the mass/speed of the hand and the object when grabbing. Turn this value up or adjust the hands/objects mass. This can also be because your reach distance is higher than your max follow distance on the hand.
The Majority of jitters are caused by Unity Physics not being precise enough. To correct this, you can increase the quality of the physics in the Physics Settings.
Default Solver Iterations and Default Solver Velocity Iterations should be increased, values above 100 yield very good results.
If Grabbables are jittering when being pulled apart by both hands reducing the break force so it breaks before jittering starts
Grabbables Rigidbody mass and drag will also affect jitter, objects of small mass and low drag are likely to wiggle more than objects of near-equal mass to the hand. Strongly recommend making small size/mass objects one-handed grab only.
Make sure that you have either imported one of the sub-packages and enabled the required settings from the setup wizard (Window/Autohand/Setup Window), or manually import the required layers.
After setting up the Hand you can use the hand.AutoPose(RaycastHit, Grabbable) to create an auto pose with creating any joints You can also disable the movement module in the Hand and set its Rigidbody to kinematic
The left hand can be an inverted right hand (or visa versa) by scaling the transform.x to -1. The "Left" value on the hand should also be set accordingly, true if left hand, false if right hand
Because the hand moves using physics updates, it can sometimes lag depending on hand and physics settings. Increasing the Follow Position Speed can help (which is an internal setting in the HandBase.cs class), but not too much without increasing the Rigidbody Drag can cause jitters. I also strongly recommend decreasing the physics timestep to at least 1/60, 1/90 for very smooth results and fewer jitters at higher follow values.
Auto hand uses rigidbody movement to control the hand's location, Unity does not support proper parent/child movements when both parent and child have dynamic rigidbodies. As a result, if you put your hand objects under a rigidbody vehicle they will jitter or fall behind when the vehicle is moving too fast.
User ColtonDyck on the Auto Hand Discord came up with a clever workaround for the problem and shared this video on the discord explaining his solution https://drive.google.com/file/d/1UGiHwAunw14aFBa0WH2xWMWa8v3igU_W/view?usp=sharing
Unity sometimes has problems when rotating physics objects that are children of objects not scaled at (1, 1, 1). Make sure to unparent these objects and use Fixed Joints if you have to.
Everything is based on Unity physics, so the physics material will affect how things interact. I recommend applying the Hand Physics Material to each collider on the hand.