VR hands not working as intended

I’m trying to learn how to use virtual reality, and I have the basics down. My only problem is that the VR hands look very big.

The thing is the dimensions of each part is Vector3.new(1, 1, 2).

If you’ve been to a VR Hands game on Roblox, you know that the size of the hands is way bigger than these dimensions.

This is what I use for the controller CFrame:

camera.CFrame * VRS:GetUserCFrame(userCFrame)

Just know that there isn’t anything wrong with the code. It’s just that I don’t know what the correct equation this should be. A lot of people do it like this, but it doesn’t do anything with the sizes. For those with good experience with Roblox VR development, do you know a way around this problem?

2 Likes

Try setting workspace.CurrentCamera.Headscale to 1 in a script

1 Like

You might be needing to use HeadScale.

You should set it to around 20-30 and then change the size of the hands to look right in VR.
Changing the HeadScale property from 1 might cause your code for getting the controller CFrame to not work right.
Try using this code for getting the controller CFrame instead:

local HandCFrame = UserInputService:GetUserCFrame(Enum.UserCFrame.LeftHand)
local HandCFrame = Camera.CFrame * CFrame.new(HandCFrame.Position * (Camera.HeadScale - 1)) * HandCFrame

3 Likes