Welcome to the Oculus Developer Forums!

Your participation on the forum is subject to the Oculus Code of Conduct.

In general, please be respectful and kind. If you violate the Oculus Code of Conduct, your access to the developer forums may be revoked at the discretion of Oculus staff.

Oculus Touch quick start guide - plus free skinned hand models

Hey, so you just got Touch? Fantastic. I thought I'd make a quick list of points to help you get going with Unity integration. This might be obvious stuff to others but I thought with the number of additional devs receiving Touch kits and Oculus continuing to hand them out this might benefit some. And Cyber [or anyone else], please correct me if I'm wrong about the following stuff:

1.First up, grab the latest Oculus Unity Utilities and Touch integration. This stuff is still evolving so to avoid errors and snags, make sure you're up to date. See the ReadMe file in the OvrTouch folder for these points and more info.

2.In your project, once the Touch sample package is imported, bring in the Touch prefabs and connect up the right and left hand anchors. You can find the prefabs in the OvrTouch/Content/Hands/ folder. Select the prefabs one at a time and drag the appropriate HandAnchor transform to the Touch Anchor field on the prefab.

3. To prevent odd movement glitches and update issues, it's recommended that you parent the hand prefabs into the PlayerController hierarchy, preferably under the camera coordinate space. Under the TrackingSpace node seems to work well for me.

4. Set: Edit->Project Settings->Time->Fixed Timestep = 0.01111111 to reduce judder and hand tracking latency.

5. Don't forget to try the sample scenes in the OvrTouch/Content folder. OvrTouchDemo and TapeMeasure in particular for a taste of the haptics capability.

6. Now to the fun stuff. I think Oculus prefer that we not use the blue sample hands in projects we distribute or show to others. I skinned up a pair of replacement hands you're welcome to use if you like. They're a bit higher resolution than the samples [and let's face it they're a pair of white male hands which may not suit you or your project!] but you can at least get going with them if you want to move away from the blue ones. They look like this:



Get them from my dropbox here: https://www.dropbox.com/s/v71kr0p5ooaxvhz/HumanHands.zip?dl=0

In the zip file you should find the following items:
  • r_hand_skeletal.fbx  <-- replace the identical item in your OvrTouch/Content/Hands/Models/ folder with this
  • l_hand_skeletal.fbx  <-- replace the identical item in your OvrTouch/Content/Hands/Models/ folder with this
  • humanHand_3D_COLOR.jpg  <-- put this wherever you prefer to keep textures
  • humanHand_3D_NRM.jpg  <-- put this wherever you prefer to keep textures
  • humanHandSkin.mat  <-- put this wherever you prefer to keep materials
These hands come from a blender model created by SuperDasilhttp://www.blendswap.com/blends/view/81285 licensed under the Creative Commons. I have remodeled them a bit to match the Oculus touch sample joint proportions and capped the ends to be a little more pleasing to the eye. Should updated Oculus Touch samples come along with significant changes I can update these to match.

7. Finally you'll want to grab things in your own project huh. Items you wish to interact with need to be rigidBody physics objects which means you'll want to setup the usual components required for that. This may also mean you need to set up colliders etc so your objects don't fall through the floor when you put them down [or throw them for fun]. Simply add the supplied Grabbable.cs script [OvrTouch/Script/Hands/] to your object and you should be good to go.

That should get you up and running. If anyone else has useful info to share please do, the more the merrier.

-julian

-j

www.julianbutler.com

Love is a snowmobile racing across the tundra and then suddenly it flips over, pinning you underneath. At night, the ice weasels come.

Comments

  • cyberealitycybereality Posts: 26,156 Oculus Staff
    Awesome work! Thanks for sharing.
    AMD Ryzen 7 1800X | MSI X370 Titanium | G.Skill 16GB DDR4 3200 | EVGA SuperNOVA 1000 | Corsair Hydro H110i
    Gigabyte RX Vega 64 x2 | Samsung 960 Evo M.2 500GB | Seagate FireCuda SSHD 2TB | Phanteks ENTHOO EVOLV
  • pjennesspjenness Posts: 686
    Neo
    Thanks Julian!

    I  have these implemented into "Drifting in VR" already. Work well! :)

    -P

    Drift VFX Visual, Virtual , Vertical

    Want 970GTX on Macbook for good FPS?
    https://forums.oculus.com/viewtopic.php?f=26&t=17349
  • VRoximityVRoximity Posts: 4
    NerveGear
    Thanks for the rigged hands! It's always good to have an extra pair... :)
  • cyberealitycybereality Posts: 26,156 Oculus Staff
    I like this thread, so I made it an announcement.
    AMD Ryzen 7 1800X | MSI X370 Titanium | G.Skill 16GB DDR4 3200 | EVGA SuperNOVA 1000 | Corsair Hydro H110i
    Gigabyte RX Vega 64 x2 | Samsung 960 Evo M.2 500GB | Seagate FireCuda SSHD 2TB | Phanteks ENTHOO EVOLV
  • christian.ahlersHGchristian.ahlersHG Posts: 2
    NerveGear
    Hi, I was trying to modify these hand meshes in Blender (add gloves), then export them again as fbx files and use those in a Unity project.
    But the importing and exporting of the fbx files breaks the armature and bone weights.

    So could you maybe release export-ready blender files of these hands, so artists can modify or replace the models without breaking anything? That would be fantastic.
    (And maybe also tell us your fbx export settings for Blender if there's anything unusual that we need to be aware of.)
  • JulianBJulianB Posts: 41
    Brain Burst
    @christian.ahlersHG Hi Christian, I produced the skinned hands using Maya using the FBX import and export options there. I haven't used Blender sorry so I cannot advise you with the FBX export options Blender supports. Looking on the web it seems that indeed even importing FBX files into Blender can corrupt things, but that may be fixable by selecting the correct import options. Some of the tips on this page might help? http://digitalrune.github.io/DigitalRune-Documentation/html/6f749972-9cb2-4274-b283-c327ba45e379.htm
    -j

    www.julianbutler.com

    Love is a snowmobile racing across the tundra and then suddenly it flips over, pinning you underneath. At night, the ice weasels come.
  • christian.ahlersHGchristian.ahlersHG Posts: 2
    NerveGear
    @JulianB That's a real shame. I'll keep trying and report back in case I succeed. Thanks for the reply.
  • GlightgamesGlightgames Posts: 69 Oculus Partner
    Thanks for the post, the fixed timestep is news to me! I'm going to try this one out. :)
  • djohnston-vision3djohnston-vision3 Posts: 5
    NerveGear
    Cheers Christian, very useful.

    Is there an option i'm not seeing to force objects to snap to a pose when you pick them up, regardless of their orientation when you grab them (or, as I imagine, is this outside the scope of the Grabbable functionality)?

  • pjennesspjenness Posts: 686
    Neo
    edited December 2016
    Cheers Christian, very useful.

    Is there an option i'm not seeing to force objects to snap to a pose when you pick them up, regardless of their orientation when you grab them (or, as I imagine, is this outside the scope of the Grabbable functionality)?


    That is outside of the scope. However you could make a class to either add to the object, or inherits grabbable and setup a pos and rotate vector for pickup.
    I have done this for items like swords etc so it places itself in the hand by default. From there the player can actually grab it with the other hand and adjust as needed.

    My script polls to see when the items becomes grabbed and does it. but in hindsight..prob better to inherit and overide the grabbable function to add the additional orientation. Saves polling

    -P

     
    Drift VFX Visual, Virtual , Vertical

    Want 970GTX on Macbook for good FPS?
    https://forums.oculus.com/viewtopic.php?f=26&t=17349
  • fzyythfzyyth Posts: 1
    NerveGear
    Thanks for sharing! 
    where can i find Unity touch sample packages? i can't find it in oculus download page.
  • JkazemekJkazemek Posts: 2
    NerveGear
    Thank you for taking the time for this!  VERY appreciated!
  • chs3734chs3734 Posts: 1
    NerveGear
    Is this outdated? 
    Because i don't have a OvrTouch/Content/Hands/Models folder. Also, the mesh now gets created when starting an application for the normal hand models. So there is nothing to drag those things onto in the editor.
  • FupsGamerFupsGamer Posts: 1 Oculus Start Member
    +1
Sign In or Register to comment.