This system is hands down (ha-ha) the best new feature of SteamVR since I upgraded. I can't even begin to tell you the amount of work it has saved me. Major thanks!
Poking at this with the new hand tracking update Virtual desktop has in open beta for Quest. Playing around in 2019 Unity with Steam VR's legacy OpenVR API, and absolutely impressed how well it works. Didn't help my issue (how to attach SteamVR's specific poses to a rigged humanoid in OpenVR api), but tis was definitely worth a watch!
An amazing tutorial explaining in great detail how to achieve some very cool interaction poses in VR. Thanks for taking the time it's much appreciated. My issue isn;t covered in this tutorial but I learned so much, :)
For some reason when I try to create a pose around an interactable object, the pose either doesn't get applied (even though I saved it) or it's offset. Any thoughts?
The offset issue can be fixed by selected the saved pose asset and deselecting the "Ignore root/wrist pose data" checkboxes for BOTH left and right hands
@@Theasstasticvillain In the end the best solution for me was to just recreate the pose and keep the hand root in the starting position. Take a close look at the way the other poses are done and their settings.
@@1000_Gibibit This is mostly true and while the nothing above the root in the hierarchy and generally the root itself should never be moved I sometimes find the hand flips and moves position anyway if the checkboxes a not selected and in rare confusing cases the object seems to override the hand making my hand upside down or backwards when holding some items. No amount of flipping switches in the Inspector will fix it and I have to make a new pose in a new location of the object in these cases. Its a guessing game whether or not it will work each time; Its been two years and this still needs proper documentation from Valve.
The funky part is that these curated poses will enhance use of any VR controller, if I've understood this correctly, which is super. I do wonder if it somehow can adapt to varying hand sizes, but anything is possible with enough time I guess. Very late here so will finish watching tomorrow, to get all the details 😅
Please help me with this anyone. Everything looks fine but when I try to pick up the object in VR the hand itself is in a place it shouldn't be in. PLEASE HELP EDIT: I figured it out! I was trying to move the wrong part of the hand to change position. So if you're person with the same problem, you need to move the actual hand model itself and it should work. So if you need to change the position of the right hand, move the part called "VR_glove_right_model_slim(Clone)". I hope this can help some people!
For people who already posed their hands using the various root objects, here's a solution from another comment for visibility: The offset issue can be fixed by selected the saved pose asset and deselecting the "Ignore root/wrist pose data" checkboxes for BOTH left and right hands
Is there a way to have multiple poses on a big object, and have it play the "closest" one, so I can, for example, grab a bottle by it's top (a tight pose around the neck) or on the side (a more open-palm pose)
Hi Zubolo, one question: we are making a game that use custom hands, Is there a way to change the hands on the pose editor to the custom hands used in the actual game? Thanks for the answer. :)
I cannot make one finger (index) to move, despite it's set to free (or any other option). It's just in place where pose indicates - does not indicate my index finger movement...
Excellent video. Two questions: Is it possible to show off the 3 other types of movement visually? (Free, Contract, Extend) and with regards to scale, how would you handle a game where the player scales dynamically in game? Is there a way to select which pose to use in script based on some global "player scale" number?
Took a little to figure out but it was incredibly easy to implement into my own framework save one thing. I can't figure out how (or if it's possible at all) to change a blend starting pose at run time. I'd like to be able to set the start of a blend to the hands current pose during run time and continue from there. I've tried setting the bonePositions & boneRotations of the main skeleton pose on a skeleton_poser. I've tried creating an instance of a pose and applying bone positions / rotations to that and then setting the skeleton_poser main pose to the new instance. I've changed the main pose on the skeleton_poser to a different pose but the blend still uses the original main pose. It would be great to know if it's possible to edit a blends starting pose at run time. Thanks.
Amazing! This helped me so much! I got one question: Is it also possible to use this script with an object, you don't pick up? (e.g. a window handle i want to turn and have a gripping pose for it or my hand becoming flat when touching a flat surface)?
I have a problem with the hand position, where if i rotare the hand to a new position, when i pick up the object, my hand has the reverse position. So if i want to grab a pencil from the bottom but the hand was on top of the pencil and i move the hand to the bottom, the pencil will flip and id be grabbing it by the tip. What am i doing wrong?
Just discovered this today. Go to Assets > SteamVR_Resources > Resources. There should be a '.asset' file named SteamVR_Settings. Open that in the inspector, and set Preview Hand Left/Right to the models you want the poser to show.
Thank you for the tutorial, it's really helpful! However, I am facing a problem where the "Import Pose" button is greyed out and I cannot select it like what you did in the video. I followed exactly what you did step by step but it fails at the Import Pose button. Please help!! Thank you
So I’m using WMR (Lenovo), what steps do I need to take to get the hand models showing instead of the wmr controllers? (Sorry for the basic question :/ ) Also thank you so much for this video, I’d love more, maybe a deep dive into the object package/spawner either way? Great video, thanks!
Fantastic video, I really enjoy the new pose system that you developed. However, I was wondering how to go about implementing this into a fully rigged 3d model, where the hands are the actual 3d models hands (or just custom hands in general). I have an IK system setup so the hands of the model are tracked to the controllers, I just want to link the finger bending/positioning to this system. Do you have any tips on how to accomplish that?
I used a blend shape for the deforming, and a custom shader controlled with a script for the color change. The shader and model should be included in the unity plugin if you want to check them out!
When I click "Show Left Preview" or the right counterpart, nothing happens. It was working and so I have some previews shown, when I unshow them I cannot get them back. Any suggestions?
Yeah we should have thought of that haha. In the editor script SteamVR_Skeleton_PoserEditor, the top two variables are the names of the hand prefabs. You can change those strings to any unique prefab names in the project and it will search for them, for example changing leftDefaultAssetName from "vr_glove_left_model_slim" to "vr_glove_left" will load the thicker glove model instead of the slim one. Sorry for the slightly hacky solution.
@@ZuluboProductions Thanks for the quick response, that's the kind of fix I like! If by any chance your rig is wrong, so the indexes of the skeleton don't match up with the hand rig, it creates a loop of instances of the hands until you deselect the object with the poser, managed to solve with with a conditional, but if unnoticed can crash the engine.
@Suraj S Had to cheat my way through it changing the texturemapping like it was 1995 all over again. It has to do with the rig hierarchy organization of the hands.
Quick question: is the 'wrist_r' transform supposed to affect the model? I can move the wrist arbitrarily far in edit mode, say y += 2, save the pose, and it doesn't change the location of the hand when I pick the object up. Wrist rotation doesn't seem to affect the final pose either.
Yep, that’s the right behavior. The wrist transform is the reference for the pose when it is applied, the intention being that the virtual hand should line up with your real hand as best as possible. If you want to work around this, I recommend making your own version of the Skeleton_Behaviour script that applies the pose how you want (say, using the controller root as the reference)
For those reading this in the future, the wrist rotation and position offset can be applied if you select the scriptable object for that pose and uncheck "Ignore Wrist Pose Data" for each hand
Hi Zulubo, thank you so much for this great tutorial, love your work! I was wondering if you could give me some hints, I want to use the SteamVR player prefab and have then hands working but using trackers instead of the controllers. I have my trackers set to handheld right hand and handheld left hand, so they do get linked to the LefHand and RightHand game objects but, the Hand script doesn't instantiate the hand models with the poses. What I am trying to do is to be able to see the hands and then make them blend poses when hovering over objects. I have a custom made controller that also uses trackers but I want players to be able to see their hands as they need to be able to see where to hold the objects with both hands. I would set it up with two holding positions. I imagine that if it was possible to use trackers as hands and we could blend the grab position on some objects it can be useful on virtual objects that could be moved but don't need to be picked up, like twisting doorknobs to open a door, pushing buttons or pulling levers. The hand would blend to a grab pose and the object would snap to the hand while the hand is inside a trigger, and then when you move the hand out of the trigger the hand would let go of the object and blend back to an idle pose.
It might seem obvious but where should we add the vr_glove prefab and all the needed script into the "Player" prefab. The all poser system seams pretty clear but without having the model and the proper script set-up on your player, it doesn't work. I had look around for any kind of tutorial but they always asume that models are already in place and even if I try with the sample scene you're using they didn't show up. Thanks for your help and yes i'm a beginner in VR development
i have an issue and i'm dying right now, when picking up my gun it attaches fine, but the second i move my character, the gun sort of lags behind. i have my poses set and i have both the intractable and throwable on it, everything on my intractable is off accept the "highlight on hover" Function, and on my Throwable, my attachment flags are set to snapOnAttach + DetatchFromOtherHand + VelocityMovement, i have a grabPoint det on the gun for the offset but it is a child of the main gun obj so it shouldn't affect it, and the rest is just set to default , what do you think could be wrong?
I'm having trouble giving a single object multiple grab points with different hand poses? If I want to grab a knife by the blade I can created a pose for that and if i want to grab the knife by the handle i can create a pose for that to. But how do i go about having the hand detect which part of the object its about to grab so that it'll choose the right pose?
Totally depends on what you’re trying to do. In a compact project, the Lab Renderer is gonna give you fantastic performance and very solid visuals. The downside is that it’s difficult to write custom shaders, and post processing does not work to the best of my knowledge.
Hey so you made the steamvr interactable system or just the posing? Is there an easy way to have the posed hands and held object be prevented from clipping through stuff like they do when they are not holding anything?
I want to add multiple hand poses to an item. For example, if I grab a gun by the nozzle I want it to have one pose, and if I grab it by the handle it should have another pose. It should choose pose by position. If I'm close to the nozzle then it picks the nozzle-pose and if I'm close to the handle it chooses the handle-pose. Is there some way to add multiple poses to an item, and it chooses the best fitting pose?
I made a cube and attached “Interacteble”, “throwable” and “skeleton poser” skript. But when a grab the object my hands disappear. How do I do, so I see my hands when I grab the object?
i love this video, very well done. i have learned a lot and applied this in my projects. there is something i have been struggling with, and it is the REVERSE of what you have demonstrated, how do you lock the hand to the object (while retaining the same poses) instead of the object to the hand? edit: wow 5 minutes after typing this i figured it out, hand.AttachObject(this.gameObject, GrabTypes.Scripted, 0) with an interactable and skeleton poser component on the object
I'm having trouble with this tutorial right at the beginning. I just downloaded/imported the most recent version of the Steam VR Plugin today and there is no Steam VR_Skeleton_Poser script?
@@ZuluboProductions, but last time I updated to New input SteamVR, it always give errors to me, if I only bake action to default... It problem only was with my SteamVR..) I sent a repprt to asset store to fix it) are you planning do more tutorials on VR techniques?
i play around this.and result. various bug happened like gun is on hand on start and when grab with other hand it switch when let go it go back other hand.while its other hand .another hand is frozen.after getting correct it works question how grab it and keep it hand without squeezing and drop it after squeeze again.like gun .not granade that this work fine
hey! thanks for this, great tutorial and asset, I was really hoping you could help me with something. I'm trying to override the default pose with the reference fist pose provided in SteamVR. I tried doing it using the skeleton_poser for the right hand and using BlendToPoser. It seems messy and it only works for one hand. Is there a better way + make it to work for both hands?
@etaki Did you figure this out? All I want to do is adjust the poses the hands use when the user provides input while they're not attached to any object, but I can't seem to find where this is controlled.
The skeleton poser is very buggy right now. I'm using Unity 2019.4.10f and SteamVR 2.6.1. The skeleton poser script in Inspector folds up every time I add a new pose. It spawns multiple clones of left hand on gameobject. Dose anyone have the same issue?
@@raven5847 I just found a fix! Add the steam vr skeleton poser script to the object. Do not select a current pose yet. In the top right of unity right click on the tab "inspector" and then switch from "normal" to "debug". Then scroll down to the skeleton poser script. Next, go into Assets > SteamVR > Prefabs and drag the left and right-hand prefabs into the poser script like so: "Override Preview Left Hand Prefab" (drag in left hand), "Override Preview Right Hand Prefab" (drag in left hand), "Preview Left Instance" (drag in left hand), "Preview Right Instance" (drag in right hand). Then switch from debug back to normal and scroll down to the poser script. Select a current pose and there you go! Hope this helps :)
@@ZuluboProductions It is replicatable using the poses in the Interactions_Example scene as well, I have made a GitHub issue to discuss it more thoroughly, I suspect it may be an issue with versions of Unity/SteamVR App? It should be issue #305 on the steamvr_unity_plugin repository. I will upload a copy of the pose there to be safe also.
Hey you probably won't ever see this but the pose doesn't work and i can see it's because of the controller pose animation when you touch the touchpad the glove touches it or whatever it's called but it's making the pose(s) bugged out and pretty much overwriting the pose I'm trying to do and yes I did try and save it but nothing is working it would be nice to get some help.
I downloaded steamvr from the assetstore and after four hours of not getting the hand animations to work I tried the example scene provided and it doesn't work there either. The hands don't displa when picking up an object, what am I doing wrong?
@@ZuluboProductions Hey, yeah, I noticed that I got an error saying "Skeleton action: /actions/default/in/SkeletonRightHand is not bound. Your controller may not support SteamVR Skeleton Input. " I tried adding the Skeleton Action in the vr_glove_right prefab as it was empty but it didn't correct the issue. Anyway this is most likely the cause of the problem, commenting out the offending code does render the hand but without animations. Btw, is there an hardware hmd check somewhere in the code? I'm not running wmr but I am running a pimax, could that cause this issue?
@@ZuluboProductions Hey, I partially solved the issue, the cause was that I had only one controller paired and the input tool did not like that at all. Anyway, now I have the next issue, the hands do render now but they flicker between a broken and non broken state. It's as if unity tries to render the left hand on the right hand half of the frames imgur.com/a/XKRIQDD Thank you again for your time
Hey, thanks for the great tutorial! If you could answer a short question i have for the project i'm working on that'd be even better :3 So, i have a joystick the player can grab and move to control a platform he is standing on. Due to current coding limitations i can't have the poser on the actual joystick i'm rotating as that breaks the entire underlying code for different joysticks (got this code from another programmer). Do i have to go into the code i got and figure out how to fix it so i can have the interactable/poser/joystick scripts on the object that's being rotated, or is there a simple way to let the hand follow a different gameobject than it's on? If anyone is able to help with this, that'd make my week, thanks in advance! :)
Any update on Mike's comments below? (github.com/ValveSoftware/steamvr_unity_plugin/issues/305) this offers some form of work around but still no understanding of what is happening and why.
I would actually highly recommend giving a shot at integrating this feature into your current system, it’s designed to be grafted on to existing code easily. I’ve added it to my custom interaction system in Vertigo 2 and am working on a video about that process
Excellent video and definitely the best steam VR pose tutorial I've seen so far, but please leave out this background music, it's so distracting. Either a better music or wayyyyyy lower volume would be nice.
Wondering if there are any plans to integrate this with a system where the hand models are not floating in the air. currently I am using a system like this ruclips.net/video/6Pfx7lYQiIA/видео.html to have my character be inside the world and have made my own hand posing system but its not as a nice as this at all.
This is a great system and works almost perfect. However, as many others here, I was also having issues trying to properly set the hand position. I spent hours trying to figure this out yesterday, so much so I decided to create a video on how to do this so others don't have to go through it. What you have to do is set the Ignore root pose data and ignore wrist pose data to false in the Scriptable Object (where the pose data is saved) See this for more: ruclips.net/video/iZ1-T59vk5Y/видео.html @Zulubo Productions Any chance you can expose those two options in the SteamVR_Skeleton_Poser script? It would help us a great deal. Also please do let me know if this is not the proper way to do this. Thanks!!
Very useful! Will always forward this video to those who want to learn to develop for knuckles.
This system is hands down (ha-ha) the best new feature of SteamVR since I upgraded. I can't even begin to tell you the amount of work it has saved me. Major thanks!
Poking at this with the new hand tracking update Virtual desktop has in open beta for Quest.
Playing around in 2019 Unity with Steam VR's legacy OpenVR API, and absolutely impressed how well it works.
Didn't help my issue (how to attach SteamVR's specific poses to a rigged humanoid in OpenVR api), but tis was definitely worth a watch!
Awesome! Can I use this with the new Unity XR Plugin Framework?
An amazing tutorial explaining in great detail how to achieve some very cool interaction poses in VR. Thanks for taking the time it's much appreciated. My issue isn;t covered in this tutorial but I learned so much, :)
For some reason when I try to create a pose around an interactable object, the pose either doesn't get applied (even though I saved it) or it's offset. Any thoughts?
I have the same problem, did you find the solution?
The offset issue can be fixed by selected the saved pose asset and deselecting the "Ignore root/wrist pose data" checkboxes for BOTH left and right hands
@@1000_Gibibit I un selected those checkboxes but my hand is still offset or the pose just isn't working at all, any debug suggestions?
@@Theasstasticvillain In the end the best solution for me was to just recreate the pose and keep the hand root in the starting position. Take a close look at the way the other poses are done and their settings.
@@1000_Gibibit This is mostly true and while the nothing above the root in the hierarchy and generally the root itself should never be moved I sometimes find the hand flips and moves position anyway if the checkboxes a not selected and in rare confusing cases the object seems to override the hand making my hand upside down or backwards when holding some items. No amount of flipping switches in the Inspector will fix it and I have to make a new pose in a new location of the object in these cases. Its a guessing game whether or not it will work each time; Its been two years and this still needs proper documentation from Valve.
The funky part is that these curated poses will enhance use of any VR controller, if I've understood this correctly, which is super. I do wonder if it somehow can adapt to varying hand sizes, but anything is possible with enough time I guess.
Very late here so will finish watching tomorrow, to get all the details 😅
Absolutely, not knuckles specific at all.
Great video, can't wait to try this out!
Please help me with this anyone.
Everything looks fine but when I try to pick up the object in VR the hand itself is in a place it shouldn't be in. PLEASE HELP
EDIT: I figured it out! I was trying to move the wrong part of the hand to change position. So if you're person with the same problem, you need to move the actual hand model itself and it should work. So if you need to change the position of the right hand, move the part called "VR_glove_right_model_slim(Clone)". I hope this can help some people!
You are a legend, thanks so much
For people who already posed their hands using the various root objects, here's a solution from another comment for visibility: The offset issue can be fixed by selected the saved pose asset and deselecting the "Ignore root/wrist pose data" checkboxes for BOTH left and right hands
Is there a way to have multiple poses on a big object, and have it play the "closest" one, so I can, for example, grab a bottle by it's top (a tight pose around the neck) or on the side (a more open-palm pose)
Hi Zubolo, one question: we are making a game that use custom hands, Is there a way to change the hands on the pose editor to the custom hands used in the actual game? Thanks for the answer. :)
I second this
What lines of code should I add for it to work for Oculus hands?
This is brilliant!
how can i make my own hand rig and its a humanoid so it has shoulders
i have my locomotion and eveything just dont know how to do custom hand
I cannot make one finger (index) to move, despite it's set to free (or any other option). It's just in place where pose indicates - does not indicate my index finger movement...
Excellent video. Two questions: Is it possible to show off the 3 other types of movement visually? (Free, Contract, Extend) and with regards to scale, how would you handle a game where the player scales dynamically in game? Is there a way to select which pose to use in script based on some global "player scale" number?
Very useful. Thanks a lot!
Took a little to figure out but it was incredibly easy to implement into my own framework save one thing. I can't figure out how (or if it's possible at all) to change a blend starting pose at run time. I'd like to be able to set the start of a blend to the hands current pose during run time and continue from there. I've tried setting the bonePositions & boneRotations of the main skeleton pose on a skeleton_poser. I've tried creating an instance of a pose and applying bone positions / rotations to that and then setting the skeleton_poser main pose to the new instance. I've changed the main pose on the skeleton_poser to a different pose but the blend still uses the original main pose. It would be great to know if it's possible to edit a blends starting pose at run time. Thanks.
this is exactly what I'm trying to do! please let me know if you do find a way to change the default skeleton
Hello,
When I catch the object my hand stays in the same pose and can't move anymore. Could someone please help me?
Amazing! This helped me so much! I got one question: Is it also possible to use this script with an object, you don't pick up? (e.g. a window handle i want to turn and have a gripping pose for it or my hand becoming flat when touching a flat surface)?
I have a problem with the hand position, where if i rotare the hand to a new position, when i pick up the object, my hand has the reverse position. So if i want to grab a pencil from the bottom but the hand was on top of the pencil and i move the hand to the bottom, the pencil will flip and id be grabbing it by the tip. What am i doing wrong?
Does anyone know how to apply this to your own hand models? I want to be able to view the preview pose with my custom hand models.
Just discovered this today. Go to Assets > SteamVR_Resources > Resources. There should be a '.asset' file named SteamVR_Settings. Open that in the inspector, and set Preview Hand Left/Right to the models you want the poser to show.
Thank you for the tutorial, it's really helpful! However, I am facing a problem where the "Import Pose" button is greyed out and I cannot select it like what you did in the video. I followed exactly what you did step by step but it fails at the Import Pose button. Please help!! Thank you
So I’m using WMR (Lenovo), what steps do I need to take to get the hand models showing instead of the wmr controllers? (Sorry for the basic question :/ )
Also thank you so much for this video, I’d love more, maybe a deep dive into the object package/spawner either way? Great video, thanks!
Check out the in-depth documentation on github! Here's the quickstart page. valvesoftware.github.io/steamvr_unity_plugin/articles/Quickstart.html
Fantastic video, I really enjoy the new pose system that you developed. However, I was wondering how to go about implementing this into a fully rigged 3d model, where the hands are the actual 3d models hands (or just custom hands in general). I have an IK system setup so the hands of the model are tracked to the controllers, I just want to link the finger bending/positioning to this system. Do you have any tips on how to accomplish that?
Nice. That blue ball you grabbed which totally squeezed which changed colour etc, how was that achieved please?
I used a blend shape for the deforming, and a custom shader controlled with a script for the color change. The shader and model should be included in the unity plugin if you want to check them out!
@@ZuluboProductions amazing, thanks for getting back to me so quickly. Great tutorial! Got my first scene with a grabbable ball set up!
When I click "Show Left Preview" or the right counterpart, nothing happens. It was working and so I have some previews shown, when I unshow them I cannot get them back. Any suggestions?
Wonderfull addition, by any chance is there any documentation on how to change the default poser model? It seems to be always the SlimGloves.
Yeah we should have thought of that haha. In the editor script SteamVR_Skeleton_PoserEditor, the top two variables are the names of the hand prefabs. You can change those strings to any unique prefab names in the project and it will search for them, for example changing leftDefaultAssetName from "vr_glove_left_model_slim" to "vr_glove_left" will load the thicker glove model instead of the slim one. Sorry for the slightly hacky solution.
@@ZuluboProductions Thanks for the quick response, that's the kind of fix I like!
If by any chance your rig is wrong, so the indexes of the skeleton don't match up with the hand rig, it creates a loop of instances of the hands until you deselect the object with the poser, managed to solve with with a conditional, but if unnoticed can crash the engine.
@Suraj S Had to cheat my way through it changing the texturemapping like it was 1995 all over again. It has to do with the rig hierarchy organization of the hands.
Quick question: is the 'wrist_r' transform supposed to affect the model? I can move the wrist arbitrarily far in edit mode, say y += 2, save the pose, and it doesn't change the location of the hand when I pick the object up. Wrist rotation doesn't seem to affect the final pose either.
Yep, that’s the right behavior. The wrist transform is the reference for the pose when it is applied, the intention being that the virtual hand should line up with your real hand as best as possible. If you want to work around this, I recommend making your own version of the Skeleton_Behaviour script that applies the pose how you want (say, using the controller root as the reference)
For those reading this in the future, the wrist rotation and position offset can be applied if you select the scriptable object for that pose and uncheck "Ignore Wrist Pose Data" for each hand
Hi Zulubo, thank you so much for this great tutorial, love your work!
I was wondering if you could give me some hints, I want to use the SteamVR player prefab and have then hands working but using trackers instead of the controllers. I have my trackers set to handheld right hand and handheld left hand, so they do get linked to the LefHand and RightHand game objects but, the Hand script doesn't instantiate the hand models with the poses.
What I am trying to do is to be able to see the hands and then make them blend poses when hovering over objects. I have a custom made controller that also uses trackers but I want players to be able to see their hands as they need to be able to see where to hold the objects with both hands. I would set it up with two holding positions.
I imagine that if it was possible to use trackers as hands and we could blend the grab position on some objects it can be useful on virtual objects that could be moved but don't need to be picked up, like twisting doorknobs to open a door, pushing buttons or pulling levers. The hand would blend to a grab pose and the object would snap to the hand while the hand is inside a trigger, and then when you move the hand out of the trigger the hand would let go of the object and blend back to an idle pose.
It might seem obvious but where should we add the vr_glove prefab and all the needed script into the "Player" prefab. The all poser system seams pretty clear but without having the model and the proper script set-up on your player, it doesn't work. I had look around for any kind of tutorial but they always asume that models are already in place and even if I try with the sample scene you're using they didn't show up. Thanks for your help and yes i'm a beginner in VR development
What is this music?
Can you use a blending behaviour for an individual hand? For example only blend the left hand to pose X, and keep the right hand on pose Y
Can't make it work, any other settings for the gabbable object other than adding the script?
Tutorial on custom hands in SteamVR will be helpful...
Is there anything like this in Unreal Engine 4?
i have an issue and i'm dying right now, when picking up my gun it attaches fine, but the second i move my character, the gun sort of lags behind. i have my poses set and i have both the intractable and throwable on it, everything on my intractable is off accept the "highlight on hover" Function, and on my Throwable, my attachment flags are set to snapOnAttach + DetatchFromOtherHand + VelocityMovement, i have a grabPoint det on the gun for the offset but it is a child of the main gun obj so it shouldn't affect it, and the rest is just set to default , what do you think could be wrong?
I'm having trouble giving a single object multiple grab points with different hand poses? If I want to grab a knife by the blade I can created a pose for that and if i want to grab the knife by the handle i can create a pose for that to. But how do i go about having the hand detect which part of the object its about to grab so that it'll choose the right pose?
Hi, what's the best way to handle hand animation in steamvr 2.0.1 ?
Seems that the skeleton poser is 2.2 only.
You're going to have to use imported hand animations and Unity's Animator component, or create your own animation system.
@@ZuluboProductions Thanks for your response.
Did you think it's a good idea to use the Valve lab renderer nowadays ?
Totally depends on what you’re trying to do. In a compact project, the Lab Renderer is gonna give you fantastic performance and very solid visuals. The downside is that it’s difficult to write custom shaders, and post processing does not work to the best of my knowledge.
Hey so you made the steamvr interactable system or just the posing? Is there an easy way to have the posed hands and held object be prevented from clipping through stuff like they do when they are not holding anything?
I want to add multiple hand poses to an item. For example, if I grab a gun by the nozzle I want it to have one pose, and if I grab it by the handle it should have another pose.
It should choose pose by position. If I'm close to the nozzle then it picks the nozzle-pose and if I'm close to the handle it chooses the handle-pose.
Is there some way to add multiple poses to an item, and it chooses the best fitting pose?
I made a cube and attached “Interacteble”, “throwable” and “skeleton poser” skript. But when a grab the object my hands disappear.
How do I do, so I see my hands when I grab the object?
Select the object and under the "Interactable" script there are options to hide or show the hand/controller on attachment.
How can I increase the sensitivity of the control when I catch the squeeze?
Hey, Just wondering does this work with circular drives? I can get it to work with everything except that.
Did you found any solution to this ? I've been searching for days now.
same question here
is this compatible with the new ECS stuff Unity is offering?
i love this video, very well done. i have learned a lot and applied this in my projects. there is something i have been struggling with, and it is the REVERSE of what you have demonstrated, how do you lock the hand to the object (while retaining the same poses) instead of the object to the hand? edit: wow 5 minutes after typing this i figured it out, hand.AttachObject(this.gameObject, GrabTypes.Scripted, 0) with an interactable and skeleton poser component on the object
Hello, I just want to fix the pose of my hand with the index point. By default, grab and grip button change the pose, in which script ? Thx
I'm having trouble with this tutorial right at the beginning. I just downloaded/imported the most recent version of the Steam VR Plugin today and there is no Steam VR_Skeleton_Poser script?
Man, you are really cool, I really wanted to know about it. Cause I make vr Graffiti and need blending poses) thanks) Want more VR tutorials
Glad it will be useful for you! Should work great for graffiti
@@ZuluboProductions, but last time I updated to New input SteamVR, it always give errors to me, if I only bake action to default... It problem only was with my SteamVR..) I sent a repprt to asset store to fix it) are you planning do more tutorials on VR techniques?
i play around this.and result. various bug happened like gun is on hand on start and when grab with other hand it switch when let go it go back other hand.while its other hand .another hand is frozen.after getting correct it works
question how grab it and keep it hand without squeezing and drop it after squeeze again.like gun .not granade that this work fine
hey! thanks for this, great tutorial and asset, I was really hoping you could help me with something. I'm trying to override the default pose with the reference fist pose provided in SteamVR. I tried doing it using the skeleton_poser for the right hand and using BlendToPoser. It seems messy and it only works for one hand. Is there a better way + make it to work for both hands?
@etaki Did you figure this out? All I want to do is adjust the poses the hands use when the user provides input while they're not attached to any object, but I can't seem to find where this is controlled.
The skeleton poser is very buggy right now. I'm using Unity 2019.4.10f and SteamVR 2.6.1. The skeleton poser script in Inspector folds up every time I add a new pose. It spawns multiple clones of left hand on gameobject. Dose anyone have the same issue?
I have this issue too, have you found a fix?
@@uncanny_valley2548 Sorry, I haven't found a solution :(
@@raven5847 I just found a fix! Add the steam vr skeleton poser script to the object. Do not select a current pose yet. In the top right of unity right click on the tab "inspector" and then switch from "normal" to "debug". Then scroll down to the skeleton poser script. Next, go into Assets > SteamVR > Prefabs and drag the left and right-hand prefabs into the poser script like so: "Override Preview Left Hand Prefab" (drag in left hand), "Override Preview Right Hand Prefab" (drag in left hand), "Preview Left Instance" (drag in left hand), "Preview Right Instance" (drag in right hand). Then switch from debug back to normal and scroll down to the poser script. Select a current pose and there you go! Hope this helps :)
@@raven5847 Never mind, it looks like that fix still throws errors...
@@raven5847 Ok the actual fix was just to update Steam VR
Hi Zulubo, is there a way to force (On Detached To Hand)? or cancel a hand pose even when you trigger is still down. Many thanks
I'm having an issue where my hand is slightly off when grabbing the object compared to when I set up the pose, any ideas?
Not sure. Want to send me the pose asset and I can check it out?
@@ZuluboProductions It is replicatable using the poses in the Interactions_Example scene as well, I have made a GitHub issue to discuss it more thoroughly, I suspect it may be an issue with versions of Unity/SteamVR App? It should be issue #305 on the steamvr_unity_plugin repository. I will upload a copy of the pose there to be safe also.
Great, we’ll take a look at it today
Hey you probably won't ever see this but the pose doesn't work and i can see it's because of the controller pose animation when you touch the touchpad the glove touches it or whatever it's called but it's making the pose(s) bugged out and pretty much overwriting the pose I'm trying to do and yes I did try and save it but nothing is working it would be nice to get some help.
It would be nice if you could see this and respond because it's the only thing i need to finish this thing in unity.
I downloaded steamvr from the assetstore and after four hours of not getting the hand animations to work I tried the example scene provided and it doesn't work there either. The hands don't displa when picking up an object, what am I doing wrong?
Are you using Windows mixed reality?
@@ZuluboProductions Hey, thanks for the response, no I'm using a Vive controller
Any errors in the console?
@@ZuluboProductions Hey, yeah, I noticed that I got an error saying "Skeleton action: /actions/default/in/SkeletonRightHand is not bound. Your controller may not support SteamVR Skeleton Input.
"
I tried adding the Skeleton Action in the vr_glove_right prefab as it was empty but it didn't correct the issue.
Anyway this is most likely the cause of the problem, commenting out the offending code does render the hand but without animations.
Btw, is there an hardware hmd check somewhere in the code? I'm not running wmr but I am running a pimax, could that cause this issue?
@@ZuluboProductions Hey, I partially solved the issue, the cause was that I had only one controller paired and the input tool did not like that at all.
Anyway, now I have the next issue, the hands do render now but they flicker between a broken and non broken state. It's as if unity tries to render the left hand on the right hand half of the frames
imgur.com/a/XKRIQDD
Thank you again for your time
Hey, thanks for the great tutorial!
If you could answer a short question i have for the project i'm working on that'd be even better :3
So, i have a joystick the player can grab and move to control a platform he is standing on. Due to current coding limitations i can't have the poser on the actual joystick i'm rotating as that breaks the entire underlying code for different joysticks (got this code from another programmer).
Do i have to go into the code i got and figure out how to fix it so i can have the interactable/poser/joystick scripts on the object that's being rotated, or is there a simple way to let the hand follow a different gameobject than it's on?
If anyone is able to help with this, that'd make my week, thanks in advance! :)
Works with VRTK?
Thank you Zulubo! Your work is awesome ^_^
Any update on Mike's comments below? (github.com/ValveSoftware/steamvr_unity_plugin/issues/305) this offers some form of work around but still no understanding of what is happening and why.
can you provide this source code on git hub?
Annnd there's yet another fantastic reason for me to scrap my current interaction system.
I would actually highly recommend giving a shot at integrating this feature into your current system, it’s designed to be grafted on to existing code easily. I’ve added it to my custom interaction system in Vertigo 2 and am working on a video about that process
@@ZuluboProductions Oh nice, I haven't looked at the SteamVR update much yet but I'll look into it.
Excellent video and definitely the best steam VR pose tutorial I've seen so far, but please leave out this background music, it's so distracting. Either a better music or wayyyyyy lower volume would be nice.
Nice video! But timestamps would be useful!
steamvr skeleton poser is pure trash, i tryed everything but it kept saying "hand preview not found" someone help me
Wondering if there are any plans to integrate this with a system where the hand models are not floating in the air. currently I am using a system like this ruclips.net/video/6Pfx7lYQiIA/видео.html to have my character be inside the world and have made my own hand posing system but its not as a nice as this at all.
This is a great system and works almost perfect. However, as many others here, I was also having issues trying to properly set the hand position. I spent hours trying to figure this out yesterday, so much so I decided to create a video on how to do this so others don't have to go through it. What you have to do is set the Ignore root pose data and ignore wrist pose data to false in the Scriptable Object (where the pose data is saved) See this for more: ruclips.net/video/iZ1-T59vk5Y/видео.html
@Zulubo Productions Any chance you can expose those two options in the SteamVR_Skeleton_Poser script? It would help us a great deal. Also please do let me know if this is not the proper way to do this. Thanks!!
no one:
zulubo's hand: 👌
can i use this in unreal engine 4?
Just Unity right now. An Unreal plugin with equal functionality is currently in development!
@@ZuluboProductions thank you for the answer this is nice i looking forward to it
Meat meat