How do i make better vr movements

You can write your topic however you want, but you need to answer these questions:

  1. What do you want to achieve? Keep it simple and clear! i want to have a sphere under my character that rotates by using your left thumbstick

  2. What is the issue? i dont know whats useful.

  3. What solutions have you tried so far? Did you look for solutions on the Developer Hub? some vr games uses a sphere under your character and no one made a model for that.

if you dont understand what i mean. play Clashers VR and move while looking whats under your torso.

Toy around with some VR code that already exists like Nexus VR or VR Hands from quinowenryanjen. We can’t give a one size fits all solutions because there isn’t one. You’re going to have to experiment with pre written code to see what they did, and morph what you know into what you want to create.

i can already make vr support but the only problem is i cant add the grabbing feature.

Because the default character uses humanoid, you would need to either manipulate the default humanoid walkspeed like how Nexus VR does, or make your own character system and render those body parts like how VR Hands does.

Using CFrame would work well, as you can align objects to the camera.

Could you not just weld the object to the characters hand (or set the parts cframe to the hand’s cframe)?
If your character is physics based (network owner reliant) then you could set the object’s network owner to you (and along with your character model if needed).

(Hey wait a minute I thought this topic was about sphere movement not object grabbing)

the hands doesnt have collisons. if i press trigger then if its touching a part called “Grab” then weld it. the only problem is it wont work

also the vr script is client side because i dont know how to make it server sided

Well, when you press the trigger past the threshhold the client checks for all parts in a certain radius or hitbox, if the part’s name is called box then send a signal to the server and tell it to weld that object to your hand.

but since it’s client sided you have to weld said object onto the hand with the client instead of the server.

but how? show me an example because im a little new to programming

Like I said in the first post:

This model contains that grabbing code I talked about. If you’re very new to coding or you don’t know how to interpret what’s inside of it, then maybe reduce your scope of what you want to make until you get some more experience. I am not saying you should stop coding, but instead start small and work your way up.

What I do for my game is I use a custom character. I make a unanchored-collidable ball and name it “HumanoidRootPart”. I then use a BodyVelocity to roll the ball. I use a formula to get the ball to roll the amount your pushing the joystick as well as the direction you are facing. And I believe Boneworks uses a system similar to this with a rolling ball. Once I get the rolling ball down I can move to other features like the hands. But before I do that I need to get the Camera set up. So I create a small ball and make it’s position 5 studs above the HumanoidRootPart with RunService.RenderStepped and make the Camera CFrame match the small ball’s CFrame. Then I get the hands CFrame using (game:GetService(“VRService”):GetUserCFrame(Enum.UserCFrame.LeftHand). I then create two parts for each hand, use an Align Position to position the hands. And now I’ve got collidable hands. I can interact with parts, and even hold a part.

However if you don’t want to do any of that and just want to my system which I’ve made Opensourced then use this:

3 Likes