For this purpose, I've knocked-up a test room which I can populate with different objects. Initially I've thrown a chair in there, to allow me to test whether an object has focus (i.e. dead centre of the viewport).
Test room design, using standard Unity shaders. Approx. 1000 triangles (total) with four 512x512 textures. |
The first thing I wanted to try to see how Unity's lightweight mobile shaders compared against standard shaders, because adding an extra camera (i.e. stereoscopic vision) is going to add some extra load (even if each camera's viewport is half the size).
The image above shows the version using standard shaders and a point light source, which pulled about 16-32 drawcalls on average. On my battered old Galaxy Note, it ran OK but was a little sluggish to respond.
The image below uses mobile shaders, which pulled things down to 8-16 drawcalls. The models & materials could be optimised further but I wanted to just get a ball-park feeling. As you can see, there's a considerable difference in appearance, the chief one being that any lighting effects are going to need to be baked-in to the environment textures.
Same room model but using mobile shaders. |
Chair has been "lit" to indicate that it is currently selected. |
A rotated chair. It's not exactly Halo 5 but it's a start. |
All-in-all, this has been a very successful experiment. I've gained a feel for how to interact with the API and now have the ability to interact with the user more. Next up: movement and switching between objects.