07-15-2022 04:19 AM
I'm creating an app for the Meta Quest2, where a user can walk in and out a room ( L shaped with an open door, nothing fancy ), which has been built based on a real life location, so the virtual environment ( built in Maya using technical drawings of the place ) match the IRL environment.
Now I'm having the following issue and I would like some advices:
While doing the room scale, I tracked both the inside of the room and a little bit outside the room ( in front of the door ) and set the pawn start location outside the room, at a specific distance from the door, so IRL I also have the same distance as the starting point of the pawn....as soon as the app starts, the pawn has a predefined orientation ( always looks towards the door ), while if I start the app and I'm not looking towards the door IRL, I have a misalignement between the virtual and IRL locations.
To temporarily solve this issue I created a 3d printed stand for the Quest2, so that it sit thight there, and I placed the stand in front of the door at a specific distance ( the stand is also placed on top of a pedestal to be able to have the Quest2 at eye level ), so that it matches the distance between IRL and virtual start location.
In order to sort out the orientation, I used one of the buttons on the controller to turn on the visibility of the room scale tracking area ( show/hide Guardian Visibility ), so that while the Quest2 is still on the stand, I can look inside the Quest2 and physically rotate the stand to match the orientation between the Guardian tracking area and the virtual environment, using the Guardian tracking area as a guide.
When the two environment seems to be aligned, I get the Quest2 from the stand and test it by walking inside the room, and with still the Guardian visibility turned on, I check if the two envirnoments aligned properly.
It works, but is not very user friendly, and if the stand is not locked in place after the orientation alignment, the entire calibration is messed up.
So is there a proper/different way to align/orient the Quest2 so that the IRL environment match with a virtual environment which has the same geometry?
Thanks in advance.
09-01-2022 07:27 AM
For anyone interested, here is an update of the setup.
I ended up building an aluminium frame and test the entire setup on location, and well it works!
First I built a designed a Quest2 holder using CAD software and print the prototype using a 3D printer, then I also create a big frame ( 1.6x0.8meters ) that will act more as a panel with a front panel with the company ad ( in the picture there’s still no front panel ) and on top of it there is the 3D printed Quest2 holder ( it is shiny because I just used a pint to make the print stronger, without any nice aesthetic paint on top of it ), where on one side you have a knob with a single hole, while on the other side you have a circular slot also with a knob, but if you unscrew the knob you can turn the 3D print so that you change the alignment of the Quest2.
The test went very well and using the setup to view the guardian boundaries allows to have a pretty good alignment between the VR location and IRL location.
The next step would be to eventually remove the frame and just have a hinged aluminimum bar with the 3d print attached, fixing the hinge on the wall, so that you can have the aluminium bar at 90° to the wall, do the alignment, and then lower the alinimium bar ( thanks to the hinge ) so that it’ll stay parallel to the wall.
09-02-2022 11:05 PM
Use something related to Scene Component or Spatial Anchor. it is supposed to do things like these.
I am studying the mechanics for now
09-02-2022 11:10 PM
Scene component seems to to the thing you want. You map the room with quest and spawn a wall with the right texture for each wall, a floor with the floor and so on
09-06-2022 01:24 PM
Thanks for the reply, I'm downloading the Ue4 Oculus branch to see how it works and eventually use this solution.
09-19-2022 12:05 AM
I would try something to align a plane to another plane.
you would make 3 point using spatial anchor and then align the door with this plane.
this way, by aligning one plane you would align the entire scene (make the first plane the root of the entire scene)
its a virtual to physical world alignment, using spatial anchor that persists across sessions, so you dont have to do every time you start the app
09-30-2022 06:21 AM - edited 09-30-2022 06:21 AM
I saw that you made a real scale map. I'm trying to do the same with engine engine 5. I scaled my room office from UE5. I would like to ensure that the quest 2 headset is always correctly aligned when starting the program. Can you help me please ? I don't know bueprint very well...
11-10-2022 02:02 AM
Hey there - i am looking for a solution also ... currently i am exprecting a valve tracker to arrive and go thet route ... whet is your status concerning your project? Really interesting 🙂 Best regards - Marcel
11-10-2022 03:50 AM
You can do what I did, meaning that you place the headset on a support with a specific orientation, then start the app and the orientation will be the same one as inside the project, meaning looking where you choose to.
I added a reset orientation button that does exactly that.
11-10-2022 03:52 AM
So you're going to replace the location/rotation of the Quest2 by using a Vive Tracker?
Because if so with the Vive Tracker you can achieve 100% precision, due to the fact that the tracking is optical and you cna have a specific tracker orientation, so you can control both and have them to be very precise.
Not sure if you cna override the Quest2 inside-out tracking and simply replace it with the Vive Tracker data...this would be an interesting experiment 🙂