VR DevLog 15: Static Dynamic Vertices

By December 18, 2013 Journal, Screenshots, Super Mega Mega, VR
ss10

Now something a bit more technical and rambling… But not too bad ;) … again this will help me more than anyone else :P

With the initial prototype for Super Mega Mega, the world is completely dynamically rotating around the centre point of the world.

This was chosen to ensure the VR head tracking camera wouldn’t have any major issues with things like motion sickness.

Also, the player movement code becomes a lot simpler when the player isn’t actually moving and the level just rotates on a single axis.

The problem comes now with performance. I’ve been starting to push the detail levels of all the levels up a lot and that’s increased the draw call and vertex count significantly.

Deferred rendering is being used to get some nice lighting and post effects but it really hammers the draw call count.

To reduce this I have a few options:

– Reduce the vertex count of the individual blocks significantly (Unity dynamic batching doesn’t allow more than 900 vertex attributes which means about 200-300 vertices for me) which would make this look shitty.. potentially only an option if the detail is replaced with normal maps.  This would add a lot more work into my pipeline…. not cool but has potential.

– Leave it where it is and just decrease the level sizes. Not cool either! Seeing the tall tower stuff is one of the coolest bits.

– Switch all the mesh blocks to static objects and change the movement code to adapt. This is the first option I’m currently testing out. Draw calls are reduced significantly but now the camera has to be rotated to follow the player. This might screw with your head when wearing the VR headset…. must really test this ASAP. If it doesn’t cause any problems I’ll switch all the levels into this static mode. Re-writing the movement will be a pain but it’s a once off thing.

If anyone has any pearls of wisdom here.. feel free to drop them on me @bluntgames

Anyway it’s good to be back in the middle of it all. Hoping to be able to share some awesome new stuff early in the new year!
-Ryan

p.s.

After writing this I think I’ve decided to embrace the ‘all normal-mapped future’. This will make the vertex count of the blocks restricted but it should be nicely compensated with the normal detail I hope. My only concern is the lack of quality in the silhouettes. I’ve also solved the non-manifold mesh generation that was plaguing the tool used for current models. Perhaps the best solution is a happy mix of dynamically batches models and auto-combined models.

The attraction of having everything in the world dynamic (destructible and movable) is far too appealing to ignore.

test test test