Virtual floor VS real floor best practices for development

molton
Contributor

Virtual floor VS real floor best practices for development

Hello, my vive seems to be setup great, I've done many escape room type games with friends and it's always fun, but I'm developing one myself now and I'm noticing in my game and also alot of the other games I've played if the controllers are physically on the floor they are about half a foot under the virtual floor. is  my vive setup incorrectly or is this just good practice in vive game development so the player can easily grab things off the floor or manipulate items close to the floor?  Honestly I think it does work well for my project as there are several objects that already feel pretty low to interact with and by design they should be pretty low to the floor.  the virtual floor being less far away than the real floor never bothered me or anyone else using it, I'm just concerned that other people might be using my game and there controllers are on the floor and they feel like their gonna hit their head on every door frame and have to really get down low on the floor for certain puzzles 

 

I wanted to post on the developer discussion but it won't let me, whats that about?  

Vive Staff

Re: Virtual floor VS real floor best practices for development

@molton,

We have a role system to nominate developers to separate out end-user forums from developer forums - I've given your account the developer credentials required to post in dev forums. 

 

The way to test if your floor is calibrated properly in SteamVR would be to go into the in-HMD chaparone settings and activate the "floor bounds always on" setting which display the actual level of the floor. (See screenshot below)

 

Generally speaking, there are no best practices in VR - just some practices which have floated to the top. Some apps simply avoid putting objects near the ground or do add a few inches to the height of the floor as the Vive and Rifts controllers both have shapes which are not conducive towards picking up stuff that's 1:1 tied to the real floor. This is kind of a cop out of an answer but I think the proper response here would be to go with what user feedback from testing reveals to be the preferred solution as your interaction scenarios will be unique to your specific app. One solution that you can see in games like Moss is the idea of "magnetism" where your controllers and certain environmental puzzle pieces have a radius of influence allowing you to drive interaction without the need to have the controller directly touching the virtual object. That radius can be pretty variable and specific to certain objects depending on their size and orientation and the interaction outcome you're trying to drive. 

FloorBounds.jpg


David R

Technical Specialist - San Francisco, CA; Monday-Friday

Click here to send me a PM

molton
Contributor

Re: Virtual floor VS real floor best practices for development

thanks for all the good info, honestly I don't get to use my vive as much as I'd like to and I had no idea my calibration was off, I recalibrated and now all the games have the controllers sitting nicely on the floor.  I have to rescale a lot of things now, pretty ignorant of me to have checked that earlier, oh well, I know now.  I've played some experiences in the past where my character could not reach objects on the floor and that was extremely frustrating, I used to think that extra 6" under the floor was there to act as a safety against that but the game does look better with the floor where it should be.  Is it a common issue for people having the calibration off so that things on the ground are unreachable without sometrhing like that magnetism technique being used?  Do developers commonly put big colliders that stick out from the controllers a lot to prevent this?  The way it's set up currently the controllers colliders are about as big as the front of the controller

controller_on_floor.jpg

Is it common for the floor setup to be off so that the controllers are up off the floor by around 6" instead of under the floor or should this setup in the picture work for most players?