Across a VR short story for Oculus Rift

Across is a short interactive story about two characters who live on opposite cliffs, one side is a paradise, the other a wasteland. When the character in paradise decides to help the other across nothing goes according to plan, and the viewer finds themselves right in the middle of the action!

Designed for Oculus Rift, Across is a full room scale experience where the viewer is invited to walk around and explore the scene as it plays out around them.  With clever code, the story never moves without you but plays out dynamically depending on where you look.  This way you’re sure to catch all the action and experience the story as if it were happening just for you.   Welcome to the future of storytelling.

Demonstrating “Across” at a recent VR expo

#blog

Contact me to discuss your Virtual Reality project

25 May, 2016

MISSING EVERYTHING

Since I began working on “Across” I’ve wrestled a lot with how to direct audience attention.  As soon as the first few moments of the film were in place I excitedly invited a friend to check it out.  It was his first experience in VR and I strapped him in eagerly anticipating his reaction to the few story beats I had working.  To my dismay, he missed it all.  Literally.  He became so enamored with the environment that he spent all of his time examining the trees and the waterfall on the tropical cliff. By the time he discovered the characters, their animations were done, the story beats had played and he had no idea what he had missed.

At first I considered that maybe this was an inevitable by-product of showing someone VR for the first time. I speculated that perhaps I should expect viewers to watch a VR film several times to discover all the details.  But when my friend finished watching the short the first time he thought he had seen all there was to see. If I wasn’t standing in the room forcing him back into the experience to see the rest of it, he would have walked away and never looked back.

VR ESTABLISHING SHOTS

I decided that the issue was with the setup.  I reasoned that if the viewer had the opportunity to see everything important at the start of the short, they would know what to focus on.  With that in mind, I reworked the beginning so that the two characters both walked out at the same time and stood opposite each other while I kept the viewer back at a distance.  It was my take on a VR wide shot. Establish the scene before “cutting” in.  Editing 101.

I brought in more willing volunteers (also new to VR).  This time, because I kept them at a distance for so long, they adopted a posture of watching from a distance as if they were watching television. As the film moved them closer for the story to begin they stood back further and further, trying to see both characters at the same time.  This was disappointing to see because most of the fun in the film is getting close to the characters.

One viewer even failed to notice the two characters, despite the long wide shot.  Their focus was drawn to everything around them.  When I showed them the film again, they reacted in surprise, “Were those characters there the first time?” On the third viewing the same person finally saw all the animation.  When I explained it had been the same film all three times they found it hard to believe.

THE INFLUENCE OF VIEWER ATTENTION

The level of influence a viewer’s attention has on what they retain is incredible.  Just because a character did something right in front of them, didn’t mean they were seeing it.  Often, when I asked people to explain what had happened in the story they would mix up details and explain something different to what I had seen them looking at from my computer monitor. To tell a story you have to guide not just a viewer’s eyes, but their mind.  You have to give them the relevant pieces clearly and in the right order to communicate a story.  People were missing my story because their attention and interest were focused on the wrong details in the wrong order.

THE SLOOOOW PACE APPROACH

I tried one last attempt to pace the film.  I removed the long wide shot and simply brought the viewer in right away and allowed them a few moments to explore the environment.  I then paced out the animation and added long pauses between sections.  The result was a pretty boring story that seemed to take forever to get anywhere.  However, the viewer managed to catch much more of the story.  The gaps allowed for them to explore the scene and have time to discover the characters.  Yet, they were still missing things and the few who caught the characters right away became bored when nothing happened.

I knew that things would improve once I got the sound design in place, but I couldn’t help think there was a way to refine the visual experience to work without sound.  I was hoping for a visual language of story telling that I could rely on, much like I do in traditional film.  But all the language I  used fell flat.

BREAKTHROUGH AT LAST: THE MAGIC OF PAUSING

Finally, I decided that if I couldn’t control the viewer I needed to find a way to control the scene.  I am not a programmer by any stretch, and even with the help of Unreal’s visual scripting I felt lost at first.  After a lot of persistence and searching forums I eventually hacked together a blueprint that worked well enough (it could be so much better I’m sure!).

I created a function that would look for two things, 1) was the character on screen? and 2) did we need to wait for that character to come into view before continuing the animation? I then created an object in the scene with a simple blueprint containing a Boolean variable for each of the characters.  I exposed those variables to matinee and then added them to my matinee timeline.  I added a key frame and set the value to true when we needed to be looking at the character and I added a false key frame when the animation could play even if we weren’t looking.   If the function saw that the character we needed wasn’t in view, it would set the matinee play rate to 0.  When it came back into view, the play rate switched to 1.  By making sure the bounds for the On Screen check were a little wider and taller than the actual screen, the viewer never sees the pause or the un-pause effect.

The In View Function blueprint. 

Calling the In View Function in the level blueprint. 

Animating the “Wait For” cues for the characters in Matinee

Once I had all of this working I brought in a new tester.  Once again they had never tried VR.  I strapped them in and stood back to watch.

THE JOY OF DISCOVERY

The result was fantastic! They reacted much like everyone else did and immediately explored the scene.  After looking at the trees for a while, they turned and noticed something moving out of the corner of their eye.  It was the first character walking toward them.  This drew them in and they watched the character approach the cliff and fall.  They stayed there for a while, enjoying the near-field effect of the character’s head but eventually they got curious and looked around for what was going to happen next.  Once again, they caught the other character out of the corner of their eye.  It drew them in… and so the rest of the film played out.  Every time the lure of the environment took over, or the curiosity to explore another part of the scene happened, the animations paused and waited patiently for the viewer to return.  The experience was exhilarating!

As they finished I asked them what they thought.  The thing that stood out the most to them was the way in which they felt they were discovering everything as it happened.  They had no sense that the film had been on pause.  Instead it had all played out, to their perception, in real-time.  The sense of discovery this created was very exciting for them to experience.

Changing playback based on the viewer’s gaze makes so much sense for a discovery based story-telling medium like VR.   I’m surprised it took me this long to arrive at the solution, but I’m also surprised at the effect it has on the viewer.  I didn’t expect it to work so well.  Watching someone who had never used VR discover the story for the first time without missing a single plot point was amazing.

I’m convinced this approach is the way forward for successful VR storytelling and I can’t wait to explore it further!

Click here to see other posts about “Across”

Creating Across

ACROSS – A VR SHORT FILM

19 Feburary 2016

“Across” is a short film for Virtual Reality and my attempt to learn the ropes of this new storytelling medium.  When I first put on a VR headset in 2015 I wanted nothing more than to dive in and make my own content for this exciting platform. I got my hands on a used Oculus Rift DK2 and upgraded my computer and began working on “Across” at the start of February 2016 and it’s slowly taking shape.  I hope to share some of the details of what I learn through the process, so keep checking back.

I wanted to base the design of the film on two key ideas.  The first was to use the “miniature world” concept whereby the characters and the scene appear tiny to the viewer, inviting them to lean in and explore.  The second idea was to tell a story that fixed on one point in space where I could then place the viewer allowing the story to play out in front and behind them at the same time.  From these constraints I came up with a story centered around two characters on opposing cliffs, allowing me to place the viewer right between them.

In figuring out the workflow, I referenced the fantastic blog post on the Oculus Story Studio website about their film “Henry”. Using their workflow as a starting point I adapted my own tools to the process and started ironing out how to move between the different software packages.  Here’s a brief look at some of the work so far. Enjoy!

1) Blender – 3D asset creation, character rigging and Animations.

2) Unreal Editor 4 – Layout, textures and materials, lighting, sound and VR

Thanks for reading! Please keep checking back for more!