What is 0x? It’s an open protocol that enables the peer-to-peer exchange of assets on the Ethereum blockchain. Still confused? This video is designed to simplify the jargon, and lift the fog.

Directed by Sandwich, we composed each CG shot in this piece. Character assets were created by a broad range of artists, with various workflows, making for a challenge in outputting harmonious renders. We invented several new techniques and compositing ideas to make it happen.

“What is 0x?” explainer video

It truly took a village. This project is the result of the creative efforts of artists on 5 different continents.

Environment design

As it’s revealed in the video, the room where everything takes place is actually a huge 0x logo. We designed a set of materials and means of lighting that was fairly flat and diffuse, highlighting the curved walls of the environment, without casting any harsh shadows, or drawing too much attention away from the characters.

0x environment design 1
0x environment design 2

Characters and alembic workflow

Alembic files are amazing, and proved to be a reliable means of transferring work between artists and software packages. However, they are not without their troubles. A huge part of our pipeline was re-texturing, creating polygon selections, and exporting tracking data and luma mattes for compositing.... tricky, but not impossible.

The main CG character of the story,
“The Kid”

0x character alembic workflow 1

The evil and heartless “Middleman”

0x character alembic workflow 2

The wood-carved “Real Estate Man” and hipster inspired “CEO” and “CTO”

0x character alembic workflow 3

Your friendly neighborhood “Bitcoin Bot”

0x character alembic workflow 4

Exporting 3D coordinates for alembics that don’t support PSR

Most of the alembics we were working with used point level animation to move geometry from point A to point B. That is especially problematic when exporting data for 2D compositing, due to the need for position, scale, and rotation data. We overcame this obstacle by cloning a cube onto the specific vertex we wanted to track. Using an Xpresso rig, we were able to translate that clone’s properties to a single parametric object, which was then baked down to keyframes and used for external compositing.

0x alembic coordinates

Exporting 2D compositing data for clones, complex hierarchies, and instance animation

An especially tricky scene to extract compositing data from. Each individual screen required a centered tracking point. The computer grid was built from clones of clones, and the screen was buried in a hierarchy several levels deep. The cloned object also contained animation that was powered by a series of falloffs and a Time Effector.

0x 2d compositing clones 1
0x 2d compositing clones 2

3D character placement for live action composite

All the live action plates were provided with a secondary render containing a stand-in character for scale and placement of the main actor’s green screen footage.

0x 3d composting characters 1
0x 3d composting characters 2
0x 3d composting characters 3
0x 3d composting characters 4
0x 3d composting characters 5
0x 3d composting characters 6