Deactivate room scale?

Hello,

i want to add the VR pawn to a Fix Location (Car)

How i can Fix The Pawn to a Location?

The player is not allowed to run around only Head Rotaion!

Is this a seated experience? Or the player can anyway move around IRL but you want to prevent that from affecting the position in VR?

Play in Stand, yes i want to prevent that from affecting the position in VR!

You can reset orientation, which kind of sucks since I don’t think there is a node to remove the offset that it adds (IE: permanent offset).

Or you can attach it to a scene component that you offset by the HMD’s relative position / rotation. If you are using the default Epic setup, you actually already have a scene component in the pawn that you could offset as well to account for HMD position / rotation.

I run something like that in my example content where I attach them to a car seat and allow them a set amount of freedom of movement, if they cross over that boundry it starts to darken their vision and then eventually stops allowing their character to move. You can also have automatic recalibration for this so that they can walk over and sit in a seat or on the floor and then use that as the new base location for seated play.

IE: like this

](VRoad Rash - YouTube)

Can you show me a example of the BP Logic?

Offset the VR root by the HMD’s relative X/Y location. There isn’t much to show…

Sorry but my english is not so good and i dont know exact what you mean

i try this but not work

https://forums.unrealengine.com/filedata/fetch?filedataid=122895&type=thumb

If you need a simple solution to switch from Roomscale to fixed position then why not just place a camera (For example in the driver seat of the car) and use “Set view target with blend” and make sure HMD controls camera (So user can still move his head)?

Because then it is still tracking the HMDs position as well? And you have the same problem of dealing with the offset and rotation.

Same Problem :frowning:

Can u show me please how i can make this?

Something like this. Head Target Position is a placeholder which is positioned in the vehicle (in this case an helicopter) to control where the head (aka Camera) needs to be once you are seated.

If you want to test how this feels in VR, you can download the demo helicopter experience here: Google Drive: Sign-in

OK Thanks this work but only one problem

if i rotate (Look left right ) my VR Headset the vehicle have little movements

You are not meant to run the code above in the Event Tick, otherwise it will continuously try to zero player’s offset respect to the Head Target Position, which makes for a very uncomfortable VR experience. You should call it only once, at the beginning of the experience, to place the player where it should be.

During the experience (Event Tick), you can check if the player has moved significantly away from Head Target Position and give them some indication (for example darken their vision) that they need to return toward that point as suggested by @mordentral above.

Yes i use Tick if i use BeginPlay on Start Game, is right position but i can walk!

but i need Fix position like Eve Valkire VR if you know this game is this not possible?

I never played Eve Valkyrie VR, but I am reading it has been designed as a seated experience, so you are not supposed to walk around anyway… I would be very surprised if they would force your head to be fixed in position with just rotations allowed. That would easily lead to cyber-sickness.

OK i use you sulution and say player before start please sit for this level! Thank you for help

How i can this make? i try a trigger box and begin end overlap but if i end overlap box nothing

You don’t need collision boxes. In your Event Tick: get the World Location of the VR Camera, subtract from it the World Location of the reference point (Target Head Position), get the length of this difference vector you just calculated.

If the vector length is > max_distance (say 30 units = 30 cm) then you can Start Camera Fade and go toward 50% black (0.5 alpha). If the distance gets back into range (so <= max_distance), you can do a Start Camera Fade and go back to 0 alpha (totally transparent).

ADDITION: if you want to be a bit more sophisticated, you can project the difference vector onto the XY plane (normal: [0,0,1]) and only consider the horizontal head displacement. In this way your player can also stand up if needed, but if they try to walk away from the reference position their vision will darken.

Wow Thank you but can you make a Picture? :slight_smile: