Henry VR Trailer and Source Assets Released

Oculus Story Studio Blog
Posted by Story Studio
September 21, 2015

Today we’re excited to release the VR Trailer for Henry on Oculus Share. In the trailer, narrated by Elijah Wood, you’ll have a unique, new, interactive moment with Henry and get to know his story. The full length Henry short will be available for free when the Oculus Rift comes out in Q1 of 2016.

We are just as excited to release the Unreal Engine project and assets for the Henry VR Trailer. Our mission at Story Studio is to “Inspire and Educate,” and a core part of that is to share our projects as we go along. We’re releasing this project so that you can learn from our work and be inspired to tell your own stories. VR storytelling is a lot of work, but it’s not impossible, and our goal is to demystify the process. Have at it!

So what can you expect from the project assets?

We learned to make VR experiences in Unreal Engine 4 by looking at the Unreal community examples, and we hope this example can aid you. It is small in scope and concisely shares how we organize our assets, how we control Henry’s gaze through blueprints, and how a stylized character can be designed and animated. The project also contains a few extra easter egg assets from Henry’s world that aren’t used in the trailer but may be useful for your education or prototyping.

With this project, we want you to see how the sausage is made. We haven’t spent a lot of time cleaning up the assets or code so you can see a practical example of how a VR story could be made in Unreal. We also won’t offer any ongoing support for the assets or code – we’re a small team focusing on our next productions.

We are happy for you to use the assets to explore your own ideas and seed your own projects. These assets can all be used under a creative common license for non-commercial use.

This is the first of several projects we hope to give to the community and we expect the scope to increase as we learn how to best provide examples.

Instructions for Download and Launching:

To use the project, you’ll need a PC running Windows 7 or 8.1 with the 0.7+ Oculus Runtime. Once installed and built, the total package will take up about 40GB of hard drive space. In order to install, you’ll need to:

  1. become a UE4 developer (https://www.unrealengine.com/register)
  2. link a GitHub account to UE4 (https://www.unrealengine.com/ue4-on-github)
  3. get Visual Studio 2013 (http://www.visualstudio.com/products/visual-studio-community-vs)

We didn’t make a lot of changes to the Unreal codebase for the trailer but we did make an important one (see below). This change will require you to build the project from source rather than just running on a stock version of Unreal.

Once you are set up on GitHub and have become a registered Unreal developer (all free), you can fork or clone/download our repository located here:

NOTICE: If you are not signed into github with a registered Unreal developer account, you will get a 404 error when loading the URL above.

After doing that, follow the instructions in the README.md file found in the root directory of the repository (you can also read this file directly from the GitHub repository site which might be useful as it contains information about how to clone or fork the repository to your local machine). We’ve added a step to the standard Setup.bat file that will download the trailer project and binaries to your machine so if you are familiar with the stock Unreal setup, this should be exactly the same.

Once setup is complete you should see a Henry folder in the root of your forked/cloned repository. You can either launch directly from Visual Studio or, after successfully compiling, you should be able to open the Unreal Editor by clicking on the Henry/Henry.uproject file.

Overview of the Project:

The project contains .umap and .uasset files, UE4’s scene description files that contain definitions of shading, lighting, animation, textures, modeling, and logic. Along with the .uasset files, you’ll find some of the original source files that were imported into the project, including wav, png, and tga files. There is also a set of 4 plugins written in C++ that are custom logic written specifically to build Henry.

The “Content” of the project is loosely organized into 10 sections:

  1. Animation – where the fbx and uasset files live for Henry’s skeletal animation in the traile
  2. Audio – where the wav and uasset files live for the narration, music and foley of Henry’s traile
  3. CharacterProps – a grab bag of some of the character props used in Henry’s worl
  4. Characters – contains Henry’s unreal skeletal mesh, his shading files, and the blueprint assets that control his gaze
  5. Globals – contains a grab bag of assets used across all of our projects, like cameras, player controller defines, player pawn defines. Some of these assets are not used in the trailer
  6. Lighting – contains lighting functions, LUTs, and textures used to light Henry. A lot of these assets are not used in the trailer
  7. Maps – contains the umap files used to define the trailer scene. TRAILER_Main is the persistent level. TRAILER_Logo, TRAILER_Sets, TRAILER_Title are all sub-levels
  8. PostFX – contains blueprints and post process shaders for applying post image effects
  9. Sets – contains static mesh, and texture assets for some of the architectural props from Henry’s world
  10. TrailerLogo – contains textures, materials and curves used to animate the title cards you see in the Trailer

The 4 C++ plugins located in the “Plugins” folder are:

  1. OSSInteraction – a handful of custom functions used to drive Henry’s interactive gaze
  2. OSSStageManager – a small, unfinished system for managing when story events should be cued
  3. OSSShading – a handful of helpful material function extensions we used while shading Henry and his world.
  4. OSSUtilities – a small grab bag of utility functions to extend blueprints

Here are the changes we made to stock Unreal for the Henry VR Trailer:

  1. We made a small change to USkeletalMeshComponent that allows us to manually write to bone transforms from blueprint (used for controlling Henry’s eyes during the interactive moments).