top of page
background_edited_edited.jpg
 
Rockman: VFX Breakdown
 
POSTED ON OCTOBER 28, 2024

VFX before and after

Changing Concepts

What began as a simple way to fill my time quickly evolved into an unexpected adventure. After relocating to a new country and facing numerous challenges revolving around a work visa, I found myself in a rut for months. In search of a creative outlet, I dusted off my drone and embarked on a personal project. Thus, Rockman was born—a concept that started with a basic tracking shot of exploding columns, but soon transformed into something much larger.

Original layout with FX caches

The original concept was laid out with simple columns that were mocked up in Houdini. Rough FX simulations were cached and scattered according to the shot. A 3D humanoid reference was placed in the scene to give me a sense of scale, as often we need some reference point to determine the size of 3D assets.

​

The scene was captured on a DJI Mini 2 and tracked in Nuke Indie using the Camera Tracker. This provided the 3D scene which was later brought into Houdini for final layout.

Houdini FX RnD of exploding columns

Origins

The concept originated from an image I rendered years ago. I wanted to explore what a human-like character may look like if he were composed of simple rock forms. The idea was simple, as was the execution. The difficulty was figuring out what to do with him (or her).

Original concept

The initial test to the left was a Mixamo animation of a character being kicked backwards. I found a frame I liked and did some SOP magic to turn him into rocks.

I lit the scene with a single directional-light, and a little fill-light and voila!

I ended up running it through an RBD sim which was the start of the Rockman journey.

Rockman concept rendered in Unreal Engine

Rough Layout and Animation

Fast forward to October, 2023. I took my drone down to the cliff near the beach in Bat Yam, Israel and decided to bring my vision to life. Only problem was that vision wasn't locked down - it kept changing. Once I decided to film a simple tracking shot, the creative juices started flowing. Initially a character made of rocks was going to run through ruins (composed of columns and various set pieces) that would be exploding around him. The shot seemed dynamic and exciting at first, but like all creative endeavors it was bound to change.

Rough layout of the scene

Screenshot 2024-10-29 at 10.15.05.png

Character rig from Mixamo

The final RLO was similar to what's seen above, but the animation was re-worked for a better end result. The process typically involved multiple animation caches from Mixamo and manual blending to match the timing I was looking for.

Screenshot 2024-10-29 at 10.13.46.png

Animation controls

Hero animation

After completing this shot, I realized there must be a simpler way to set this up. I had made some custom tools to loop Mixamo animation clips to better fit my workflow, but it was honestly a pain in the butt.

I think the whole kinematics and animation workflow is the better way to go than manually blending clips together.

I suppose it was a brute-force method, but I'm happy I went through the trouble.

Character LookDev

The LookDev was the most fun and creative aspect of the project. It involved figuring out the layers of the Rockman character: what he looked like, what he was composed of, how he moved, etc.

I think if I were to revisit this project again, which I would love to do, I would explore another element of the character where dust or small rocks fall off of him as he moves, giving another element of dimensionality to him.

Character AOVs (mattes, depth and relative height)

In the video above, I have the different elements separated out as AOVs and combined in Nuke for fine control of each pass. I also made a height AOV which allowed me to darken the character in areas that are closer to the ground plane.

This was preferable to making roto masks for each character that would have wasted time needlessly.  This pass instead is procedurally generated in Houdini and rendered out as its own pass.

Character FX breakdown

rockman_layers.png

Various charFX layers

hero_anim.gif

Various charFX layers

The layers included:

  • base rocks

  • small "debris" rocks

  • grass

  • vines

These four elements allowed for just enough complexity that the Rockman felt visually interesting, but simple enough that I could manage each character in a reasonable time without being weighed-down with custom passes for five separate characters.

​

I could re-use the same elements for each character, but the Houdini network allowed for similar outputs for different inputs.

What I mean by that is each character had a separate base mesh which, when fed into the Houdini network, output different shapes. But because it's the same network, we get similar results for each separate character. This allowed me to deliver consistent and believable characters that live in the same world, but look visually different enough that satisfied my intention.

Screenshot 2024-10-27 at 20.12.51.png
Screenshot 2024-10-27 at 20.16.43.png
Screenshot 2024-10-27 at 20.17.01.png

CharacterFX

FX and Compositing

The FX elements were all rendered out of Karma in Houdini 20, and composited in Nuke Indie. They were separated into three main sections:

  • Ground explosion

  • Bullet impacts

  • Generic smoke

​

The ground explosion element can be broken down into multiple simulations:

  • two main Pyro elements

  • shock-wave

  • RBD simulation of the ground

  • Vellum grain simulation (dirt)

  • smoke trails from the large debris pieces​

Character FX breakdown

FX elements

The end-result of combining each element allowed for a believable explosion. The trick in FX is to layer multiple elements together, but they have to live in the same world. If the gravity is too strong on one element, it may ruin the entire effect and pull the viewer out of the shot. Drawing unnecessary attention to your effects is a sure-way to lose the magic of VFX. I think that's a problem with a lot of VFX in features (I'm looking at you, Marvel) - the moment the viewers go "wow, that's a cool explosion!", we lost it. Because cinema is about telling a story, and if your audience is too focused on how something was done - they're not paying attention to what really matters.

But I digress..

FX Breakdown

Ground Fracture

I just want to quickly touch on how I achieved the RBD ground simulation for this shot, because there are some relatively advanced tricks I used that you may find useful.

​

To be continued...

active passive.png

Active and static RBD

I'm a paragraph. Click here to add your own text and edit me. It's easy.I'm a paragraph. Click here to add your own text and edit me. It's easy.I'm a paragraph. Click here to add your own text and edit me. It's easy.I'm a paragraph. Click here to add your own text and edit me. It's easy.

​

​

active passive.png

Separating static and active pieces

fracture_straight.png

Typical Fracture -> Detailed Edge

fracture_add_detail.png

Ground Fracture

I'm a paragraph. Click here to add your own text and edit me. It's easy.I'm a paragraph. Click here to add your own text and edit me. It's easy.I'm a paragraph. Click here to add your own text and edit me. It's easy.I'm a paragraph. Click here to add your own text and edit me. It's easy.

​

​

edge_shrink.png
piece detail col.png

Lip isolated to add further detail

I'm a paragraph. Click here to add your own text and edit me. It's easy.I'm a paragraph. Click here to add your own text and edit me. It's easy.I'm a paragraph. Click here to add your own text and edit me. It's easy.I'm a paragraph. Click here to add your own text and edit me. It's easy.

​

​

I'm a paragraph. Click here to add your own text and edit me. It's easy.I'm a paragraph. Click here to add your own text and edit me. It's easy.I'm a paragraph. Click here to add your own text and edit me. It's easy.I'm a paragraph. Click here to add your own text and edit me. It's easy.

​ I'm a paragraph. Click here to add your own text and edit me. It's easy.I'm a paragraph.

Click here to add your own text and edit me. It's easy.

​ I'm a paragraph. Click here to add your own text and edit me. It's easy.I'm a paragraph.

​

low_to_hi_res.gif

Low to hi resolution conversion

cluster_sim.png

Low res -> hi res simulation

cluster_sim_transfer_hires.png

Low to hi resolution conversion

Low to hi resolution conversion

low res rbd chunks.png

I'm a paragraph. Click here to add your own text and edit me. It's easy.I'm a paragraph. Click here to add your own text and edit me. It's easy.I'm a paragraph. Click here to add your own text and edit me. It's easy.I'm a paragraph. Click here to add your own text and edit me. It's easy.

​ I'm a paragraph. Click here to add your own text and edit me. It's easy.I'm a paragraph.

Click here to add your own text and edit me. It's easy.

​ I'm a paragraph. Click here to add your own text and edit me. It's easy.I'm a paragraph.

​

glue_constraint_by_piece and chunk.png
glue_chunks.png

VEX code for separating cluster networks

bottom of page