Whats the best approach to Image Based Room Scale AR gameplay?

0 votes
asked Jan 22, 2020 by gametesting (120 points)

I want to create a game where I can play on a map in AR/VR with my phone. I've already made it in AR foundation and the space tracking is ok, but the Image Tracking in AR foundation sucks big time. Image tracking always worked great in Easy AR and now that Easy AR supports AR core/kit I would like to port it to Easy AR.

Game works like that. I have couple of entrances to the virtual map, and players can enter the map by scanning different image targets. So for example Player1 scans picture1 and enters the map from the north. Player2 scans picture 2 and enters from the south.

I tried motionTracking with image target. Image target to anchor my arena in a proper to that image target place and motion tracking to move around independantly to the image target beeing visible. And it kinda works but when I anchor the arena in the world based on the image target position the arena that is anchored to worldRoot is not exactly on spot when I move around. there is always a little offset. When I come back to image target and press it to reanchor it it jumps back in a place. The drift is not big but it still breaks the immersion.

What would be the best approach to move around in game world using space tracking while being possible to anchor the arena model differently based on various scanned pictures? Is there something I'm missing here?

Right now I as I detect and image target I touch it and on that event I place the arena next to it in a proper position and rotation and parent it to worldRoot transform. And that works as it should. It starts to drift around as I move.

Could someone direct me which EasyAR technology would be best for my use or what am I doing wrong? I dont need at this time occlusiom, envioroment mesh map, or any cloud features. Just simple space tracking and possiblity to anchor something in a space based on a detected Image Target position/rotation.


1 Answer

0 votes
answered Jan 23, 2020 by kenn (18,750 points)
Great work!

According to your very detailed description, I am pretty sure that you are not doing anything wrong when using image tracking and motion tracking. The drift is quite possible from VIO system (ARKit/ARCore/MotionTracker).

EasyAR did not define the image target as an anchor in motion tracking because it is a separated feature. A drift cannot be solved without lower level fusion, which is not available now in EasyAR.

You can try sparse spatial map feature, generate a map for the whole arena, parent arena to the map, and use LocalizationMode.KeepUpdate to relocate map continuously.

Before a further suggestion, I want to know what problem does the drift bring and how are different users involved in the game? I can now list two possible problems. One is that the arena drifted do not align to the image when user come back to the entrance, but what about when not at the entrance? Are there any other parts of the arena sensitive to the drift? Second is the multi-user interaction do not align, but I am not sure about if and how this looks like.
Welcome to EasyAR SDK Q&A, where you can ask questions and receive answers from other members of the community.