Key steps of a quality VR project


Fabien Benetou @Utopiah, WebVR developer

Potential steps

  • define the need
  • select the target platforms
  • clarify the scope
  • feasibility study
  • price quote
  • storyboard the experience outside of VR
  • visually prototype with a VR result
  • functional prototype
  • asset creation
  • asset integration
  • testing on target platforms
  • iterate on the last steps until budget or allotted time is finished
  • deliver
  • record issues and positive sides for future projects

Highlights can be quite specific to VR so focus on those mostly. (Add my own prototyping visual.)

define the need

  • educate 1 000 000 persons on a difficult topic
  • allow 100 artists to be more creative
  • make 10 coworkers more efficient
  • make 1000 strangers aware of a new product

select the target platforms

  • what is my audience?
    • how large? how economically privileged?
    • how tech savvy? how risk averse?
      • coaching on site?
    • do they have disabilities?
    • will they be in fixed known location?

select the target platforms (bis)

  1. quasi free mobile (Cardboard)
  2. mobile with 3DoF (DayDream/GearVR)
  3. room scale (Oculus Rift/HTC Vive)
  4. Custom hardware

clarify the scope

I have a need, I have an audience, how will my VR project solve the problem my audience is having?

  • write down step by step what your project do, including :
    • before putting the headset
    • in the headset
      • with details of how they will interact with your content
    • after putting the headset

feasibility study

Now that you have a detailed step by step description of what the user will do, is it possible?

  • photorealistic rendering?
  • hours of high quality video?
  • stream over an unreliable network?
  • read pages of text?
  • live 3D scanning integration?
  • something never done before? not even a PoC?

feasibility study (bis)

Know when and how to "cheat" i.e. 360 photos/videos as background (cf 20m rule)

price quote

Either internally or with 3rd parties, how much will your project cost? How many days of

  • artistic directing
  • software development for integration of all content, interactions
  • 3D modelling
  • 2D texturing
  • 360 video shooting, stitching, editing
  • asset integration
  • testing on all platforms

storyboard the experience outside of VR

  • 6 pieces of paper = 1 room
  • 360 photos
  • 360 drawing
  • clay modelling

... anything at all to get some sense of the result without coding or making assets.

visually prototype with a VR result

  • 3D editor using pressets
  • in VR painting using Tiltbrush, Apainter, etc

How I do it

WebVR result to client can test instantly the updated version with nothing to install or update.

functional prototype

Assuming your project does "something" beyond displaying content, even if some form of interaction to just play it, making it work. Assets at this point are not required so it can be done in parallel.

Most of the unique software development should be done here and in a specific engine

  • native game engines
    • Unity , Unreal, CryEngine, Amazon Lumberyard
  • WebVR frameworks
    • AFrame, ReactVR, PlayCanvas, Vizor
  • VR only SDK
    • DayDream, BlenderVR

Criteria for tool selection (sorted by importance)

  1. existence of productions with target quality
  2. experience of current team
  3. target platforms
  4. pace of iteration
  5. quality of the documentation and learning materials
  6. responsiveness and productivity of the community

asset creation

Example of tools

360 video edition with Premiere

3DsMax

UV mapping

Riging in Maya

Mixamo

Unreal editor

Unity code editor in Visual Studio

Audio editor

Positional audio

Motion capture

Basic rules for content creation

  • 2D images
    • usual compression rules, jpg for photos, png for text (lossless)
  • 360 photos (equirectangular)
  • 360 video (equirectangular then container and resolution depending on the target platform)
  • textures (mipmap rule, power of 2 e.g. 512x2048)
  • 3D meshes (polycount, depending on the platform)
  • shaders for visual effects

asset integration

  • always underestimated
  • very first iteration will be extremely difficult
    • especially if the team hasn't worked together
  • once the workflow is established though with tools that work well together (import/modify/export/test that all functionalities are supported) then the following iterations are a lot more efficient.
    • (arguable) competent team members can use pretty much any tool despite their preference
  • version everything you can.

This is also why picking the right tools is important but not as much as having a team competent enough to make the tools work well together no matter what.

testing on target platforms

Ideally physically but takes time

  • ideally automated using e.g.
    • mocap,
    • remote controlled devices,
    • (ATurk equivalent) etc.

Being design of visuals or interaction everybody is always assumed wrong until it's ACTUALLY tried in the headset.

iterate on the last steps until budget or allotted time is finished

  • functional prototype
    • testing should have showed you imperfections
  • asset creation
    • some assets are probably missing
  • asset integration
    • missing assets to add
  • testing on target platforms
    • everything changed must be tested again on ALL platforms
    • it's a fast pace moving environment, APIs, hardware, everything can change between iterations!

deliver

Because it works now doesn't mean it will work in 5min

  • Steam/Windows/SteamVR/etc can update at any point between 2 tests

Deliver On line

Your user will always have

  • a different version of software from your testing stack
  • a bad connection

Distribution channels

The real ones

Others...

Deliver on site

  • release form, knowledgeable staff
  • demo with screen mirror, nobody cares about the HMD itself
    • makes better photos to promote your content
    • people want to see where they will go, that it's safe
      • but sometimes you want to surprise them...
  • you will always run out of battery if you are on mobile
    • pack extra batteries, charging cables, phones
  • you will always have a bad Internet connection
    • preload assets locally
    • get your own Internet access point
  • charge your controllers between sessions

record issues and positive sides for future projects

Plenty will go work but it's OK, it's a learning process for everybody, if you have fail-safes you will manage. Next time have better fail-safes!

The future! (is coming faster than you think)

Sound reflection and reverb

Sound occlusion

Unity In VR scene edition

Unreal in VR scene edition

Texturing in VR

Modeling in VR

Going further

Programming VR content using AFrame and WebVR

UX & VR - Now that you can design entire worlds, how can you do it right?

Lessons learned from the W3C with the different browser vendors.

Still have time...? Q&A! Workshop!

Let's make teams of minimum 3 persons

randomly pick :

  • 1 client + 1 user + N producers

in the N producers

  • 1 artistic director
  • 1 developer
  • 1 audio engineer
  • 1 3D artist
  • 1 2D artist for the textures
  • 1 directory for 360 videos and photos

Let's pick a topic

  • entertainment (game, creativity)
  • tool (configurator, prototype)
  • marketing (360 gallery, branding experience)

etc

Let's pick a budget? timeline? ...

For today we have 0euro and 20min ;)