Search Unity

VR realistic hand grabbing

Discussion in 'VR' started by Softelectro, Aug 2, 2019.

  1. Softelectro

    Softelectro

    Joined:
    Oct 9, 2013
    Posts:
    16
    Hello.

    I'm trying to create a VR grabbing system with Oculus Touch which would allow the hand model to grab from different angles and positions on the object and still look realistic.
    I tried to build one with pre-created hand poses and different colliders on the object which allowed to detect on which side the object is grabbed, but this result in a large number of pre-created poses and position offsets for each side of each object. It takes too much time to implement and it is not convenient.

    Would anyone think of an elegant and effective way of doing this ?

    Thank you !
     
    Last edited: Aug 2, 2019
  2. Innovine

    Innovine

    Joined:
    Aug 6, 2017
    Posts:
    278
  3. Softelectro

    Softelectro

    Joined:
    Oct 9, 2013
    Posts:
    16
    Thank you Innovine ! This is an interesting technique and it looks really good !
    Too bad they didn't go further on their explaination, i would love to know exactly how the surface shape detection is performed and how they made the animation react.
    Do you have any idea how the shape detection could be programmed in Unity ?
     
  4. Innovine

    Innovine

    Joined:
    Aug 6, 2017
    Posts:
    278
    Not really. I'd love to have something like this in my own game but it seems really complicated. You can raycast from the fingertips and joints and I guess use the distances to animate the bones along their closing timeline. I guess some IK somewhere too :)

    I also notice that sometimes you have to relax your grip before you tighten it, for example if you are about to grip a 90 degree corner, if you grip when far away you'll catch it with your fingertips, but a better grip is to relax and slide your hand forward, letting the object push your fingers apart and then gripping. Seems really complicated to do in code..

    Right now I'm using a transparent glowing ball instead of a hand, as I think a badly done hand is probably more of an annoyance than an abstracted shape. I'm not running into any actual problems when manipulating things with this method, but basically every hand I've seen in a game felt about as useful as a pirate hook (at best). I don't know if I'll change this to be honest, even if hands would look really, really sweet. Glowing ball is also very easy if you need to support several different controllers.

    The best hand stuff I've seen has been with leap motion, and even that is kinda weird and wobbly. Virt-a-mate lets you manipulate scenes (ie boobs and asses) using leap motion (hey I needed some software to test the leap motion out :) but still the overall result is kind of unstable and you end up fighting the controls a lot. This reassures me that a glowing ball which feels good is better than a good looking hand which feels crap..nothing breaks my immersion more than fumbling around like I have boxing gloves on.

    I don't have knuckles controllers yet, maybe those will help with finger animation somewhat..
     
    Last edited: Aug 5, 2019
    hawken likes this.
  5. hawken

    hawken

    Joined:
    Aug 22, 2013
    Posts:
    475
    one approach right now is to put fixed joint colliders on your IK, when it interacts with an isKinematic collider it'll be pushed back
     
  6. Softelectro

    Softelectro

    Joined:
    Oct 9, 2013
    Posts:
    16
    Thank you two for your replies.
    Would anybody know some unity VR assets existing concercing grabbing and hand animations ?
     
    Last edited: Aug 12, 2019