Virtual reality

From polycount
Revision as of 08:24, 6 November 2015 by EricChadwick (Talk | contribs)

Jump to: navigation, search

Virtual reality or VR for short usually refers to stereoscopic 3D real-time rendering.

Art Rules for VR Environments

Juan "monster" Martinez posted this in the Polycount Forum thread Art Rules for VR environments?

At Playful we are building a VR game with Oculus. Before we ended up with our current art style we tried a slew of different art styles. I've developed on DK1, HDKit, Chrystal Cove and DK2 ( and others )

The biggest challenges are mipping and aliasing. The screen is just inches from your eyes and each camera alias and mips slightly differently. This causes a lot of discomfort. You also lose a lot of resolution with the camera shader used to send a distorted image through the lens.

(Anti-Alias is the smoothing of polygonal edges. Mipmapping is the smoothing of textures as the angle / distance increase from the render camera.)

These are the rules we came up with so far.

  • Use Chromatic Aberration to correct color bleeding from the lenses.
  • Don't use high frequency detail or noise in textures. Even with mip mapping enabled it just turns into swimming pixels.
  • 3D geometry "feels" way better than normal maps.
  • Specularity instantly give a lot of interest in VR.
  • We used a lot of angular and organic shapes because vertical and horizontal lines would align to the screen pixels and alias very badly.
  • We rendered the final image at 2592x1458 then down scaled to 1920x1080 to get better anti-aliasing.
  • In Unity we used the 8x Multi-Sampling. (Along with the upscaling.)
  • Skyboxes require a special shader to display the same on both eyes/cameras.
  • We are working on a shader that fades out texture detail at a distance to prevent mipping / swimming textures.
  • You need to maintain 76 FPS for low persistence to activate on DK2. This is a challenge because everything is rendered twice, once for each eye.

I'm sure I'm forgetting lots of stuff right now. If I remember anything pertinent I'll update.

Image by Playful.

Links



Personal tools
Namespaces

Variants
Actions
Navigation
Tools