Developer Blog – VR is Mobile VR is All About Optimization

I’m working on a VR project! I learn stuff and share stuff, some of which is awesome!

It is not wrong to synonomize VR with mobile VR. Adoption rates for Android cell phones, obviously, greatly surpass that of dedicated VR hardware. Until the technologies merge completely, cell phones will always have greater market penetration. That’s why VR development is mobile VR development. And mobile VR development is all about optimization.

Building for VR, and mobile VR in particular, means ruthlessly optimizing your app/game. The reason is that the cell phone’s already (relatively) pitiful processing power is halved; the scene must be rendered twice, once for each eye. Samsung, purveyors of Samsung Gear VR, recommends limiting your game to 100 draw (set-pass) calls! Limiting a game to 100 set-pass calls is no mean feat. You’ll need to use every optimization strategy in the (this) book.

Optimization for mobile VR means:

  • LODs and Mipmaps
  • Low poly, low resolution
  • Object culling and object occlusion
  • Static batching/mesh baking
  • texture atlasing
  • lightmapping
  • And more…

The end user doesn’t understand technical limitations. They’ll never blame their precious cell phones. They’ll blame you, the developer, for any visual deficiencies. You’ll have to doubly impress viewers with an immersive experience in order to compensate for lack-luster (ie lack-specular, also lack-normal maps) graphics. Bottom line, optimization must inform every development choice from beginning to end.

With this particular project I’m beginning with a tropical island. The assumption is that given a much desired destination, players will be willing and active participants in the immersion. They’ll gloss over the visual limitations for a chance to spend a moment in the (virtual) sun.

To create the island I used, you guessed it, Terrain Toolkit. Unfortunately, I ran into problems immediately. When publishing to mobile the textures became overly pixelated. Optimization and optimal have a shared etymology. This level of pixelation isn’t acceptable, let alone optimal. In tomorrow’s post we’ll troubleshoot until we achieve optimal resolutions.

Leave Comment

Your email address will not be published. Required fields are marked *