Leo and Barry

Interactive VR Experience | Narrative | 3D Animation

This is an interactive animation about the friendship between two robots in VR.

Time

2018

Technology

UE4 / Oculus Medium / Maya / Mixamo / Oculus Rift


Concept

I got inspiration from the puzzle/adventure game Machinarium. I really like its steampunk-like art style and I also want to create a warm story that happens between robots. The story is surreal but it’s related to friendship which should be heart-touching. 

 
moodboard.png

Story

The main character Leo is a small robot who read about the story about iron giant so he wanted to build one to be his friend but he needs a battery to start it. He happened to know another robot Barry nearby collected a powerful battery so Leo invited him to his house. Barry thought the battery was valuable and could be used as his backup battery since he didn’t have too much power left. If Leo wanted it, he had to do a lot of things to make Barry happy. After that, Barry promised to give Leo the battery but Leo realized that he just wanted a friend and he already had one. In the end, the two little robots were dancing in front of the giant.

Character

I created two small robots in Oculus Medium. After exporting them, I used Meshlab to reduce facets and then uploaded them to Mixamo to auto-rig and do animation. According to my story, I found all the animations I might need and download them into a folder for further use.

Leo

Leo

Barry

Barry

Mixamo-1.gif

Environment Setting

I found a steampunk interior asset online but I felt the environment was too cloud and I didn’t like the yellowish color, so I rearranged the asset, changed its color tune by adjusting the parameters of the textures, and reset the lighting. I also added a post-process volume to avoid auto exposure which was annoying to me. 

Orignal envrionment

Orignal envrionment

After changing color tune and lighting

After changing color tune and lighting

Animation

Since I planned to do an interactive piece, Barry’s animation should be triggered by user input, so I tested how to call animation by pressing the keyboard first. The difficult point is how to make every interaction according to logic.

call-animation.gif

Process in Unreal

Animation Map

Animation Map

Cast to animation map in level blueprint

Cast to animation map in level blueprint

Trigger by overlap and motion controller input

Trigger by overlap and motion controller input

SOUND

Generate robot voice

Generate robot voice

Robot voice triggered by user input and animation time

Robot voice triggered by user input and animation time