How to make a Body in VR - PART 3 : WALK

Поділитися
Вставка
  • Опубліковано 22 лис 2024

КОМЕНТАРІ • 103

  • @NahFam13
    @NahFam13 4 роки тому +6

    You are extremely talented, thank you for taking the time to make these, 6.8k views just isnt enough. You are a national treasure.

  • @opiumonion
    @opiumonion 4 роки тому +7

    valem, can you do a tutorial on how to make items collide when holding them and making custom places to hold items? idk if you have done any of the two but if you havent, please make one!

  • @pixelb0i255
    @pixelb0i255 4 роки тому +6

    Can I just say one thing! Valem, these tutes are the most amazing VR lessons I have come across on the interwebs. I'll fund your Patreon so you can keep on doing these amazing tuts.

    • @ValemVR
      @ValemVR  4 роки тому +5

      Thanks a lot Andre it means the world to me to have people like you to support my work!

  • @bsce100
    @bsce100 4 роки тому +13

    Great tutorial! Could you please show us how to add grab capabilities to the hands of the body?

    • @andreyrumming6842
      @andreyrumming6842 4 роки тому +2

      Just add "OVR Grabber" script to the hands, then put a collider (Sphere collider is simplest) on each of your hands. Set the collider to "trigger", then fill in the "OVR grabber" parameters with the object you put the script onto. I believe there is also another parameter that you have to set the size to 1 before doing the same thing.
      Any object you want the ability to pickup, put "OVR grabbable" onto. Simple as that

    • @musilicks
      @musilicks 4 роки тому +1

      You could also try to do it on your own without the premade Oculus scripts, just to have more control. You could create two scripts - called grabber and grabbable, similar to oculus. You attach grabbable to anything that you want to grab, and you attach grabber to your hand. Then, add a trigger collider on your hand(s). Inside the grabber script, use the onTriggerStay() method to check if there is an object in your hands trigger. Inside that onTriggerStay() method, add a conditional statement to check if the player is holding down the controller trigger. So if they are holding down the triggers and there is an object in your hand collider, then check if that object has a grabbable script attached to it. If it does have a grabbable script attached to it, then connect a fixed joint between that object and your hand. Then you can have another conditional that checks if the player lets go of the controller trigger; if so, just destroy the joint between the objects. bingo bango bongo

    • @pixelb0i255
      @pixelb0i255 4 роки тому +1

      I would look at his Unity XR lessons. Trust me, it saves you a headache down the road. And XR is platform agnostic

    • @blaccy5991
      @blaccy5991 4 роки тому

      @@musilicks that is probably the worst custom input script ive seen

  • @BenParisi
    @BenParisi 3 роки тому +2

    You tutorials have helped me SO much. You are the Brakeys of VR :D Thank you so much. You're making me look good at work. Just subscribed on Patreon.

  • @dylanrnow
    @dylanrnow 3 роки тому +1

    Please do a tutorial on how to animate the hands when you like grip and stuff

  • @patricknercessian5940
    @patricknercessian5940 4 роки тому +3

    Great tutorial man!!! Please please please make a tutorial on arm twisting! Using Animation Rigging's Twist Correction doesn't seem to be compatible with Two Bone IK Constraint.

  • @dobbyspickle
    @dobbyspickle 3 роки тому +4

    Hey Valem, cheers for putting your videos out there and guiding people with their VR development. I ended up crossing a bug with the raycast of the foot IK, obviously the ray is shooting down to get collision data but it included my hands going near my hips, in a nutshell my feet ended up in my nostrils hah.
    I ended up making a LayerMask in the script and setting the ignoring layer of the raycast to body.
    all in all it worked however the feet don't detect the ground anymore and are extended beneath the floor.
    this is the change I made to your script to get rid of the nostril penetration.
    hasHit = Physics.Raycast(leftFootPos + Vector3.up, Vector3.down, out hit, ~IgnoreLayer);
    hasHit = Physics.Raycast(rightFootPos + Vector3.up, Vector3.down, out hit, ~IgnoreLayer);
    with adding a variable of public LayerMask IgnoreLayer;
    if you could shed some light on what's happening that would be awesome my dude.
    Cheers.

  • @julienweems6166
    @julienweems6166 4 роки тому

    Very useful tutorial. Helped me with my development. Thank you

  • @fo4357
    @fo4357 4 роки тому +1

    Thanks so much! I was trying to work this out myself, and you saved me a lot of time creating a base to work off

  • @onurcaba9896
    @onurcaba9896 2 роки тому +1

    Hi, thank you very much for one of great VR tutorial. I am really stuck at sholder rotation because, hands can not reach the actual vr hand position. I need to fix it.

    • @ValemVR
      @ValemVR  2 роки тому +1

      A fix for this is to scale the arm bone to increase the length of the arm :)

  • @JamesWjRose
    @JamesWjRose 4 роки тому

    Awesome. Simple and well put together. Thank you.

  • @SkarRock
    @SkarRock 4 роки тому +1

    Once again an amazing tutorial, there’s one thing that I’m interested in that I would like to learn how to do. With the new hand tracking on the quest I was wondering how you can making different things happen depending on what gesture your hands are doing like for example picking up and object when you close your hand. Thanks for the amazing tutorials!

  • @victorjohansson6455
    @victorjohansson6455 4 роки тому +2

    Wonderful tutoral as always! Anyone here managed to set thresholds for when the body should turn? My avatar currently turns its whole body when I look to the sides just the tiny bit, and I'd love to have an adjustable threshold on when the rotation should be changed so that it only rotates if you turn a certain number of degrees.

  • @samosamosamosamo5554
    @samosamosamosamo5554 4 роки тому

    Super boulot Valem, bon je dois t'avouer qu'il y a pas mal de trucs que je ne compends pas :D mais super tutos ca marche chez moi j evais maintenant rajouter la gestion du deplacement avec un des controller de l'index et puis je m'attaquerais a la partie skelette des mains mais sur l'index il semble que ce soit des animations et non une reco totale pour les doigts :D en tout cas merci beaucoup

    • @ValemVR
      @ValemVR  4 роки тому +1

      Avec plaisir samosamo jsuis content que ca taie aidé ☺️

  • @petroskontrazis5369
    @petroskontrazis5369 4 роки тому

    awesome tutorials man!!! Really helpful and to the point. Thank you very much for these!!!

  • @KentHambrock
    @KentHambrock 4 роки тому

    Awesome tutorial. Thanks for doing these!

  • @samialfarra4275
    @samialfarra4275 4 роки тому +2

    thank you , you are the top one in youtube . when you release tutorial of hand tracking with gun ?

  • @dorukhanakar
    @dorukhanakar 4 роки тому +1

    you're the best

  • @TacticalAssaultOfficial
    @TacticalAssaultOfficial 2 роки тому +1

    Hey Valem, this is an awesome tutorial. Thank you.
    Towards the end I see that your tracked hands are jittering when you move 9:23 . I'm also experiencing that jitter. Is there any way to smoothen that out?

    • @DaRealViso
      @DaRealViso 2 роки тому

      have you found anything out yet?

    • @burakttorun
      @burakttorun 2 роки тому +2

      I drag the robot into OVRRig and it works better

    • @TheScienceIsReal
      @TheScienceIsReal 6 місяців тому

      @@burakttorun Dude you just saved me so much pain and suffering, thank you legend

  • @jorn9298
    @jorn9298 2 роки тому

    I love your videos valem but allot of people seem to have problems with the head constraint for some reason it wont seperate from the body for many people does this no longer work or is it a matter of the 3d model

  • @willdo6002
    @willdo6002 4 роки тому

    Cool video. Do you have any videos where you show how to lift yourself up with different objects like a crowbar or hammer? Like in bone works?

  • @NiekHM
    @NiekHM 2 роки тому

    Great tutorial, i learned a lot from it. But, i am still stuck with one problem. When i rotate left/right because my headset is moving that way the feet stay in the direction the headset is looking at. I know it is because of the VRFootIK but i don't know how to fix it properly...

  • @HairySeagull
    @HairySeagull 3 роки тому +3

    Something to do about the character shaking crazily?

    • @Therian13
      @Therian13 3 роки тому

      I'm having the same issue as well...
      If you parent the model to the rig, it will stop shaking, but it messes with the head's offset then...

    • @HairySeagull
      @HairySeagull 3 роки тому

      @@Therian13 I guess the offset can just be changed then? But awesome that it fixes it!
      Thank you

  • @jotadani0076
    @jotadani0076 3 роки тому

    Thanks!!!

  • @ashb899
    @ashb899 3 роки тому

    Good videos, can you do one on best way to handle calibrating player height. Half the video could be scaling the 3d character to suit the headset and the other half of the video could be scaling the headset to suit the 3d character.

  • @theultimatenibbler7746
    @theultimatenibbler7746 4 роки тому

    really helpful! thank you

  • @hansrygaard7981
    @hansrygaard7981 3 роки тому

    What about make one with eyes and mouth tracking? :)

  • @zig424
    @zig424 4 роки тому +2

    Hey Valem. First off great tutorial. I followed everything to the T although there seems to be something missing. From part 1 to part 2 head, left arm and right arm prefab magically appear. So when I try to bind my ovrcamera to the head at the end of this tutorial I cannot do it since I don’t have the head prefab. How did you set that up ?

    • @ValemVR
      @ValemVR  4 роки тому

      Hi Simon these are just empty game object that I used. The best thing is to first make the tracking with three empty point that you can move around your scene to test. Then, you can drag them as a child of your vr camera and your controller position :) You can then even use them to adjust the offset between the position :)

    • @pureay2700
      @pureay2700 4 роки тому

      @@ValemVR can i use a ik'ed rig i made on blender. And parented the headset to the head ik and the controlers to the hand iks. The animation rig package isn't in 2018.4 and it won't let me build and run on 2019.3

  • @oldyeti_4986
    @oldyeti_4986 2 роки тому

    I couldn't figure out how you created the head target. In my case, I had to move the camera to move the whole body around. If anyone can help please drop a comment. Thanks

  • @yaoling_XR
    @yaoling_XR 4 роки тому

    Thanks a lot, you are a genius!

  • @octopro8937
    @octopro8937 2 роки тому +1

    hey valem, I did everything exaclty like you did but when I move my player forward and back the animations are really glitchy and do not look anything like they do in your video at 7:00, any help would be appreciated

    • @octopro8937
      @octopro8937 2 роки тому

      My bad, I am so sorry, I forgot to set the smoothing to a lower value, also thanks for this great tutorial. You have earned yourself a subscribe and a 10$ patreon subscription

  • @ZalkDrives
    @ZalkDrives 4 роки тому

    Valem, I would really like to see a tutorial for VR hand physics. It is the #1 feature that I would like to have in my VR projects, but there are no tutorials thus far.

    • @Snikabarz
      @Snikabarz 4 роки тому

      use finalik with puppetmaster

    • @musilicks
      @musilicks 4 роки тому

      Try updating the velocity and angularVelocity of your hand models in game, in accordance to the distance and rotation displacement between your hand models in game and your vr hands irl.

  • @OwiBones
    @OwiBones 4 роки тому

    hey valem, could you make a tutorial on how to create and implement your own 3D character in vr instead of the basic robot unity offers?

    • @kingsway.183
      @kingsway.183 4 роки тому

      I used a clone trooper and it worked just find a 3D model that has bones

    • @TheRealMobiius
      @TheRealMobiius 3 роки тому

      Just do it the same way, as long as it's rigged.

  • @nikpo973
    @nikpo973 Рік тому +1

    this, of course, is all wonderful. But how else to do finger animation ?

  • @Matthew.1994
    @Matthew.1994 4 роки тому

    what about making the 3d model bigger / smaler, depending on the player height

  • @jay-1299
    @jay-1299 4 роки тому

    Thank you for your great videos im just starting my development. I had a question how would i go around making entities like mobs? Maybe you could make a video on it or just a reply with a tutorial page would work fine for me too thanks anyways

  • @xxmbxx9414
    @xxmbxx9414 2 роки тому

    Hello, how can we add hand grip?

  • @sanchitgngplays
    @sanchitgngplays 4 роки тому +1

    Hello, I am using steamVR and it doesn't have those like options in its camera rig for placing hand transform and leg transform, could you please help

    • @ValemVR
      @ValemVR  4 роки тому +1

      Yes you have a similar thing with the [CameraRig] prefab from steam vr for example. You can see the head position and hands position. :)

  • @chris31911
    @chris31911 4 роки тому

    How would you go about remapping skeletal hands to work with SteamVR? Especially if the hands are part of a 3D model character already like say Mixamo models. Thanks!

  • @TheScienceIsReal
    @TheScienceIsReal 6 місяців тому

    The feet of my character come to a singular point and im not sure why? any ideas? The animation tree states are working properly but feet are infused together

  • @amiibler
    @amiibler 4 роки тому

    BONEWORKS HERE I COME

  • @Yucci
    @Yucci 4 роки тому +1

    Hey man, my idle animation is misaligned with the others. What I mean is that all my animtion works fine, but as soon as it switches too the idle animtion the character teleports underthe ground, I can still see my hand poining up from the ground and a bit of my head but the rest is just under the ground until i move or activate any of the other animations.
    Please help

    • @kingsway.183
      @kingsway.183 4 роки тому

      The exact same thing is happening to me man

  • @Icewind007
    @Icewind007 3 роки тому

    How do I turn off the rotation in the rotation animations like turnLeft and turnRight? There wasn't an "in place" equivalent for rotations that I found.

    • @Icewind007
      @Icewind007 3 роки тому

      Found it: In the Animation tab where you can turn on Loop Time, turn on Loop Pose. And under Root Transform Rotation, turn on Bake Into Pose.

  • @vrclubportal4347
    @vrclubportal4347 4 роки тому

    подскажи плиз у меня аватар за голову не таскается как у тебя просто дергается на месте когда передвигаешь :( в чем может быть проблема ? И в VRRig turnSmoothness пишет ошибку ! заранее спасибо .

  • @DevGamerShripadAgashe
    @DevGamerShripadAgashe 4 роки тому

    awesome tutorial 1 question do I have to get the 10$ membership to watch the next exclusive video on Patreon.
    I am just a student I would definitely like to show my support on buy subscribing to your Patreon but is it necessary to get the 10$ month membership to get access to the videos and code 😥 can I get access to next video tutorials in the 2$ or 5$ membership.

  • @tirelessart
    @tirelessart 4 роки тому

    Hey Valem
    Amazing tutorial series! i am now working on a system in which the player can calibrate his body size. unfortunately i have noticed that these IKs of unity have problems if the scaling of the whole body and/or the arms is not 1,1,1. Very strange offsets are then created. do you have an idea or solution for this problem?

    • @pureay2700
      @pureay2700 4 роки тому

      Try parenting it to a empty object and scaling the empty instead

  • @pureay2700
    @pureay2700 4 роки тому

    Is there a way to do this in unity 2018.4 the quest won't build for 2019 for some reason. I know how to make iks in blender but not a head ik wich is what i need

  • @yuusa42
    @yuusa42 4 роки тому

    Hey can you maby make a Naruto VR game it would be sooooo cool!

  • @milan7689
    @milan7689 4 роки тому

    when i import the animation rigging package i get 23 errors saying things like Library\PackageCache\com.unity.animation.rigging@0.2.6-preview\Runtime\AnimationJobs\BlendConstraintJob.cs(5,18): error CS0234: The type or namespace name 'BurstCompileAttribute' does not exist in the namespace 'Unity.Burst' (are you missing an assembly reference?) how can i fix this i really want to follow with the tutorial.

  • @vividhvivekraj4400
    @vividhvivekraj4400 4 роки тому

    is there any way to link the rig to the custom hands?

    • @ValemVR
      @ValemVR  4 роки тому

      Yes there is :) I made a tutorial about it as a part 4 of the serie. Its available on my patreon www.patreon.com/posts/34166092

  • @dominikspieler5308
    @dominikspieler5308 4 роки тому +1

    Hi Valem I would like to thank you for your really great tutorials! You can explain so well and stay active for years. Only very few can do that.
    Do you have experience with multiplayer in VR? We are two computer science students and are building an escape room. We already have experience with the Network Manager, but we would like to use the SteamVR Player Prefab instead of defining the transforms and rotations for each player instance. We haven't found a solution anywhere on the Internet. Nothing useful on github, StackOverflow, UA-cam, we tried Photon, gamedev.stackexchange, the Unity documentation but nothing could help us. So I turn to you as an expert :)
    Have you ever done something like this before?
    I wish you a really nice evening!

  • @LegendaryLiam23
    @LegendaryLiam23 4 роки тому

    I have an issue where whenever I look to far up, my body flips around 180 degrees. I assume this is because it now recognizes my back as forward direction cause the headset tipped. Has anyone been able to solve this problem?

    • @user-xb9qg8jl7q
      @user-xb9qg8jl7q 3 роки тому

      What i did was change the line with Vector3.ProjectOnPlane in VR Rig, for some reason the mapping changes, try switching headconstraint.up for headconstraint.forward, or something. It seems like the vertical rotation of the headset gets used in the transform instead of the horizontal rotation sometimes.

  • @primemover84
    @primemover84 4 роки тому

    Given the recent news that OpenVR is deprecated in Unity would you recommend not using SteamVR for new projects and instead using Unity's built in VR support?
    uploadvr.com/unity-deprecates-openvr-support/

    • @ValemVR
      @ValemVR  4 роки тому +1

      Hi Anthony, Steam VR is still relevant and will be for a long time. But, if you want to use Steam VR with the new version of Unity then yes its probably better to switch of. Steam VR won't work only with version above 2019.3. Also, Valve is working on an updated version of SteamVR for Unity so let's hope that this sdk will be similar to what we have now as I think it is really good. :)

  • @Thesomeonevr
    @Thesomeonevr Місяць тому

    anyone have the script (sorry im just lazy and new to unity)

  • @vrzerdix5035
    @vrzerdix5035 2 роки тому

    tu est français ?

  • @air9205
    @air9205 4 роки тому

    For some reason I can’t move with the joystick. Does anyone know a fix?

    • @musilicks
      @musilicks 4 роки тому

      You would need to add some type of locomotion script to your character. I'm assuming you currently only have the OVRCameraRig. Which has no controller script. You could make your own or try to implement the OVR Character Controller script

    • @air9205
      @air9205 4 роки тому

      somekid Going to try that later. Thank you.

  • @POV_GUY
    @POV_GUY 4 роки тому

    Can I ask how good I have to be in C# to be good programmer in unity ???

    • @musilicks
      @musilicks 4 роки тому

      It'd probably be beneficial to know the fundamentals of programming as well as the library functions and frameworks available from Unity while programming.

  • @gabrieltickle497
    @gabrieltickle497 4 роки тому

    so i know I'm late on this but with ik i realized that it broke the animation, you no longer walk you just slide, anyone know how to fix that?

    • @RobertKvsv
      @RobertKvsv 4 роки тому

      It doesn't do that in vr, only when you move it in editor

  • @tipx2877
    @tipx2877 4 роки тому

    That 1 guy who disliked

  • @NicosCheat
    @NicosCheat 4 роки тому

    Hey men can you record your screen in 4k it's difficult to see what is writing tank's keep going you'r tuto

  • @zylxbtw1931
    @zylxbtw1931 4 роки тому

    Are you french?

  • @eliassponsel6194
    @eliassponsel6194 Рік тому

    Please help! In part 2 my animation worked fine but now my animation wont work great. My avatar is only making super small steps and i dont know why. I printed the values of "DirectionY" on the console and it is changing from -1 to 1 dependig how i am moving "CenterEyeAnchor". In the Animator-Windows i can see the preview of the animation and everything seems fine.
    Do you see a problem in the script oder do you think i made a mistake with the animator? Thank you for help!
    Here is the script:
    public class VRAnimatorController : MonoBehaviour
    {
    public float speedTreshold = 0.1f;
    [Range(0,1)]
    public float smoothing = 1;
    private Animator animator;
    private Vector3 previousPos;
    private VRRig vrRig;
    // Start is called before the first frame update
    void Start()
    {
    animator = GetComponent();
    vrRig = GetComponent();
    previousPos = vrRig.head.vrTar.position; //vrTarget ersetzt durch vrTar im VRRig-Script

    }
    // Update is called once per frame
    void Update()
    {
    //Compute the speed
    Vector3 headsetSpeed = (vrRig.head.vrTar.position - previousPos) / Time.deltaTime;
    headsetSpeed.y = 0;
    //Local Speed
    Vector3 headsetLocalSpeed = transform.InverseTransformDirection(headsetSpeed);
    previousPos = vrRig.head.vrTar.position;
    //Set Animator Values
    float previousDirectionX = animator.GetFloat("DirectionX");
    float previousDirectionY = animator.GetFloat("DirectionY");
    print(previousDirectionY);
    animator.SetBool("isMoving", headsetLocalSpeed.magnitude > speedTreshold);
    animator.SetFloat("DirectionX", Mathf.Lerp(previousDirectionX, Mathf.Clamp(headsetLocalSpeed.x, -1, 1), smoothing));
    animator.SetFloat("DirectionY", Mathf.Lerp(previousDirectionY, Mathf.Clamp(headsetLocalSpeed.z, -1, 1), smoothing));

    }

  • @Fixy15
    @Fixy15 4 роки тому

    hello! can you teach me how to program any game? :(
    i don't know enythink ; - ; help

  • @-Berno05
    @-Berno05 4 роки тому +1

    Hey! Soo... I desperately need your help, I want to develop a VR D&D game for a school project, and I really need a 10, I have a basic understanding of coding and unity development, do you think you can make a how-to on your UA-cam channel? Thanks!

  • @romland29
    @romland29 4 роки тому

    Would you do a "How to make a Body in VR - PART 5?" where if you are in the air "Not Grounded" then the legs can ragdoll or not look like they are being pulled to the floor? I haven't seen this done anywhere and even Final IK doesn't deal with this particular issue. This would relate to climbing, jumping, and various other things while in the air with an avatar.

    • @pureay2700
      @pureay2700 4 роки тому

      You can try to make a script were when not grounded it turns just the legs to ragdolls. Just look up how to make just some bones ragdoll. Check out brackeys video on ragdolls. It should work

    • @musilicks
      @musilicks 4 роки тому

      Are you trying to get something similar to Lone Echo? They did a pretty awesome job with handling full body IK in zero G environment

  • @Armand-Oui
    @Armand-Oui 4 роки тому

    Super accent 🤣