Vincent Claes
Vincent Claes

Reputation: 4768

Detect blank or uniformly colored walls using apple arkit

Detecting vertical planes is possible now with ios 11.3 and apple arkit 1.5 (a good example: ARKit Vertical Plane Detection ).

But there is one condition; you need to have some color differences or structure on your wall in order to get detected.

Is it also possible to detect blank walls or walls that have 1 color?

Upvotes: 5

Views: 2621

Answers (1)

rickster
rickster

Reputation: 126137

There is a natural tension here that imposes some inherent design constraints.

For ARKit to even “see” a surface for purposes of world tracking — before even detecting it as a plane — the surface needs to have some texture. Variation in color, relief, points of high contrast, something that causes it to have some visual features.

That’s okay for a lot of horizontal plane detection use cases, since people like to buy tables made of wood, install floors made of tile, take countertops for granite, etc. But a lot of walls in home and office environments are lightly textured or featureless. You probably can’t get your customers to change their walls. (If you do, though, I can refer the guy who did great textured paint on my house...)

So instead you need to think about how this fits into your AR experience at a basic design level...

  • For horizontal planes, you could make experiences where a small stretch of floor/table near the viewer becomes the play field for a game or whatever, but you can’t just flip that on its side for a vertical plane experience.

  • Vertical planes detect better at larger distances — you can find a wall when you see its edges, or the furniture backed against it, etc.

  • Use estimated plane hit tests to place content on a wall, and refine your placement when plane detection kicks in later.

  • Don’t use vertical planes the same way you would horizontal planes. They can be boundaries or background scenery instead of the focus of an experience.

Upvotes: 5

Related Questions