1
\$\begingroup\$

I am a Game Design student currently working on my graduation project. For this project, I want to develop a VR room, which can be walked through freely by using a smartphone. I already made a 1:1 scale replica of a meeting room (in Unity 3D) in the office I am currently working.

So I have been exploring different technologies that allow distance measuring techniques using markers and AR applications to measure distance between physical objects.

for example: https://www.youtube.com/watch?v=Tk31uGo7xHo https://www.ourtechart.com/augmented-reality/augmented-reality-tutorial-47-shapes-combined-trackers-unity3d-vuforia/

Now is it possible to use these methods to translate the measured distance into a vector 3 movement in a VR room? Also, is this relatively easy to do for a beginner programmer?

To be clear: The goal is to allow free movement through a pre-built 1:1 scale 3D room in VR by using a smartphone and markers in the physical room. Which hopefully will create some cool VR experience for the players.

Could anyone give me some advice? For example; is there anyone who already tackled this problem and is willing to share knowledge with me?

Thanks in advance

\$\endgroup\$
1
\$\begingroup\$

This is possible, but not easy. Here's the things that are very difficult:

  1. The monocular camera standard on smartphones. Ideally you'd want a 3D camera to provide depth information to assist in tracking movement. Markers can help with this, but you'll have very little flexibility in how you move around the room.
  2. Position tracking with a smartphone. Smartphones are OK with rotation, and they can do GPS just fine. However, small movements and movements inside a structure are exceptionally difficult to accurately track with existing smartphone technology. Again, markers can help with this, but there's going to be a major issue with continuity of markers. You'd likely need to have one or more markers in view of the camera at all times for somewhat reasonable tracking.
  3. This is not a beginner level project. Nor is it a game. If your major is in game design, perhaps you should be designing a game, instead of creating underlying technology?

SLAM algorithms are currently the best bet for something like this. People are working on this for mobile. Essentially you'd analyze the frames coming in from the camera to find key points, paired with the rotation of the device, you can calculate lateral movements.

Combining multiple sensors and averaging can help with drift. Check out this project for an example of that. The video contains links for the SLAM library and Android application. You can likely improve on the tracking with the use of carefully placed markers.

\$\endgroup\$
  • \$\begingroup\$ Thanks for the information. This application you showed in the link seems useful. I will check it out and see if it helps. The curriculum of mt school dictates I need to make an application that needs a basic level of interaction. What I want to have is a prototype that does not need to be perfect but can set a foundation for further development after I graduate. \$\endgroup\$ – Simon Veninga May 18 '17 at 9:56
0
\$\begingroup\$

I've given some thought to this problem in the past, and while this probably isn't going to be a top scoring answer, it should at least help you think about the problem.

If you plan to use just markers, and a monocular camera, then you have to have some other known in order to dead-reckon your position.

One way is to use markers of a known size, and to help account for spatial drift, use square markers. You can then do some math on the distortion of the shape to calculate your relative position to the marker. Tagging each marker with a unique icon or color can help you discern which specific marker is in the view in cases where there is only one in your frame.

This method doesn't require any special sensors, as all your measurements are geometrically calculated from the shapes in your view.

Hope this helps.

\$\endgroup\$
  • \$\begingroup\$ I've seen some use QR codes instead of shapes to tag each reference marker. Hope it helps. Good luck! \$\endgroup\$ – Stephan May 21 '17 at 19:05
  • \$\begingroup\$ Any chance you have any video reference? \$\endgroup\$ – Simon Veninga May 22 '17 at 12:36
  • \$\begingroup\$ not that i can think of. if you think about a square, if you face it straight on, itll be square, if you shift left or right, youll have a tall narrow rectangle. if you go left and down, youll have a rectangle with the left side skewed vertically. these kind of knowns allow you to take the image of the shape, and do math on how your position would have to change from center in order to result in the same distortion and scale. \$\endgroup\$ – Stephan May 23 '17 at 18:05
  • \$\begingroup\$ Okay thanks a lot for this info. I will try this out :) \$\endgroup\$ – Simon Veninga May 24 '17 at 18:22
  • \$\begingroup\$ Good luck! Carnegie Mellon has an active area of research on this kind of thing, so you might check their department site for resources and publications. \$\endgroup\$ – Stephan May 24 '17 at 19:39

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.