Ocean Rift


In the original Ocean Rift demo I essentially had a bunch of models with a looping animation moving around underwater. This was a great proof of concept but once I added the ability for the player to swim the illusion was reduced; the animals were basically just models moving around on rails after all.

Early this year I joined Samsung and Oculus VR’s Gear VR initiative to develop Ocean Rift for their (incredible) mobile device. The project has been immensely challenging in many ways, and it has led me to develop a generalised animation system for aquatic animals. The primary reason for development was aesthetical; as mentioned, I wanted these creatures to behave as realistically as possible—but arguably procedural animation offers several advantages for mobile devices. While the CPU overhead of animating something procedurally is probably greater than moving through a simple blend tree, it can be very fast if there’s no physical simulation taking place, and there’s no memory overhead in storing animation clips for each animal. The motion and behavioural space is also inherently limitless, as everything is calculated on the fly.

The first animation system I developed for Ocean Rift was a sea snake. Previous experiments in creating and animating the giant Hell Worm monster from Crashland (described in this blog post) had led me to produce many prototypical animation systems, including one based on snake ambulation. Applying this to a sea snake model and linking it to a rudimentary AI, that pulsed waves through the virtual muscles, generated some quite convincing animation as you can see below:

Quest Gets 'Oculus Venues', Finally Connecting Quest Users with Oculus Go & Gear VR

The key thing here is that the snake’s animation will always appear reasonably plausible because its joints are always moving in a continuous smooth pattern. Provided that you extrapolate a decent movement vector from this animation it can look very convincing as something physically swimming around.

Extending this system to a shark required the addition of other scripts that controlled various functions of the body such as the fins, tail, and jaws. In the following video, the parameters that drive the shark’s behaviour are randomised every few seconds. You should notice that sometimes this leads to very erratic motion of the creature; this is essentially due to the animal moving it’s backbone at a high frequency. However, perceptually you see an agitated great white shark exhibiting behaviour very similar to what we find in nature.

As the animation system became more advanced, I’ve been able to animate and produce increasingly elaborate and complex behaviours. For example the following footage shows an early prototype Kronosaur (now extinct) swimming around, doing barrel rolls and snapping at invisible targets.

Fun fact: Adult Kronosaurs were 10 meters in length, about the same size as a bus.

However, currently the most complex animation system developed for Ocean Rift is exhibited by the dolphins. Being the most excitable, acrobatic and friendly aquatic creatures they also represent the biggest animation challenge.

At first the dolphins are distant creatures swimming around but eventually they start to investigate and interact with me. You will also see them exhibit a variety of behaviours that are totally emergent like twisting, twirling and diving. The cool thing is this encounter will be completely different every time.

Samsung Reportedly to Release "multiple AR and VR products" in Coming Months

The ability to bring virtual creatures to life has always been of great interest to me, and with the advent of VR I can now actually meet and interact with them in the virtual world which is immensely exciting. This industry is in its absolute infancy but it’s going to be really fascinating to see how it develops over the coming years, and just how far procedural animations systems like this can be taken to give the player totally unique and evocative experiences.


This article may contain affiliate links. If you click an affiliate link and buy a product we may receive a small commission which helps support the publication. See here for more information.

  • Both of these demos are two of my favorites. Oh the thrill of climbing out of the map in Crashland :D Feels like escaping a nightmare! Eh! And deep waters are not only scare in real life, they’re terrifying in VR too!

    I put a first-VR-timer in Ocean Rift a while ago, and he didn’t want to come out, so it’s not all scary. He never… got eaten. I would love to play Crashland in the DK2 as well… it has some nice atmosphere and intensity.

    Very nice article, I find procedural animation very exciting. How many times have we not seen animations loop with a jerk, trigger with no blending, conflict between body parts. The spider video is just immensely cool and creeps me out to no end. If he made a demo where that crawled around on a table in front of me… I would not sleep for a week. Or get used to it? Not sure :P

    Looking forward to what he’ll bring to the VR table. And all this talk about Gear VR, that phone is super expensive, if this continues I will become poor and not being able to sit as the phone would fold in my pocket.