Rookie Awards 2024 - Open for Entries!
Ancient vs new
Share  
  Play by Play

Ancient vs new

by ulyssesp on 6 Feb 2021 for Rebelway FX Challenge

Our hero is heading into the desert sands to face off against a blood Hydra. Will his technology be enough to save him from this fierce foe? Rendered with vray. Compositing done in Houdini. Lots of pdg stuff to crank everything out.

3 1216 2
Round of applause for our sponsors

Update - 15 Apr 2021

Just kidding - this is my final entry. New and improved with the Rookies logo.


Comments (1)


Update - 15 Apr 2021

This is my final entry!


Update - 15 Apr 2021

Rebelway Challenge Post-Mortem

This was an insanely ambitious and fun project to take on while still learning Houdini. I'm writing this while rendering the final take a handful of hours before the project deadline. It's been both frustrating and rewarding on such a huge undertaking over the last few months - I hope you enjoy the result and I'm looking forward to going through everyone else's entries!

Full hip files and hdas will be available at https://github.com/ulyssesp/RebelwayChallenge soon.

Key takeaways

 Make a "final" render early

* Tweaks often are needed after a first rendering pass

* Compositing takes more time than expected

* Export any interesting attributes as AOVs

Work as close to realtime as possible

* Small simulation tweaks lead to huge changes

* Reducing the particle separation / voxel size / point number while making small tweaks saves days of resimulation and rerendering

Continuity is difficult

* Saving things to a central asset that's easily updated is essential

* Copy + paste between hip files gets confusing quickly

* Leave a largish overlap between hip files

* Always always always simulate until things come to a stop or get too wild - it's longer than it seems

Cheating is ok

* Put lights where they look good, not only where they make sense

* Attribute transfer is great for faking interactions between simulations

* Point replicate can save a simulation that won't behave or takes a long time to resimulate

PDG

* Make sure dependencies are set up correctly so that things recook when they need to

* File pattern + filter is useful for making sure things don't recook unnecessarily

* File remove is useful for forcing a recook

* Range generate + partition by frame should bookend most simulation / caching tops

Miscellaneous

* Add `id` to all simulations. It's unclear why this isn't the default.

* Cache everything because it might come in handy later

Video Sections

Intro

The intro was the most computationally heavy section due to the large size of the Hydra's motion and the speed of its animation. At first, I used a vellum solver to make the sand come up. It was unclear where the blood for the attack was coming in, so in the last week I changed to having the Hydra come up though a pool simulated using FLIP.

After the first render, I realized something was off - the blood didn't affect the ground at all! That made me realize that a lot of things in the scene needed some interaction that's consistent across all the sections. A quick attribute transfer let me color the ground using the cached blood simulation.

As the focus of a lot of the action, the hero's tech floaties were super important to make look right. In the intro we see the hero's blue and purple mixed with reflective color palette contrasting with the hydra's dark red blood. The lines around the floaties let the audience know that this is technologically advanced as opposed to the hydra's organic theme.

Shield

The shield scene is where I spent most of my tweaking time because it tells the story of the organic hydra coming into conflict with the technology of the cyborg.

The blood attack was a guided particle simulation up the body and arm feeding into a FLIP simulation once it reaches the hydra's claw. The particle simulation is primarily achieved using a POP curve force with the points pop replicated to spread out the trail after the simulation. The FLIP simulation is sourced directly from the particles in a downward trajectory until they crash into the shield.

The shield is constructed from a grid of lines centered around the hero's hand. The center lines are generated using the same HDA as the floaties - it was important to reuse similar elements from the floaties in the effects themselves.

Spin

Getting sand to render right and in time was really difficult. This is where I lost the most time in the process as I originally intended the ground to be made of sand particles. In the end, the ground is just deformed from the hero's movement, and sand particles sprayed up based on the claw and the hero's body hitting the sand.

Attack

In the final section, a lot of the elements used in other shots come together. The attack is the same particles and floaty destruction as the shield, and the lines around the hydra are using the same HDA as the floaties. I added the beam and the lines around it to further expand the theme of the hero.

HDAs

Lines

These were procedurally generated with a custom algorithm. It was important to be able to direct the lines to either be completely random, move to areas of the geometry with fewer lines, or move towards/away from a goal point.

Here's the pseudocode for each line:

1. Choose a point to generate a line from

2. Choose a neighboring point to go to according to the following options:

1. All: don't pick the neighboring point that this line visited last

2. Random: pick randomly

3. Unseen: pick the point the furthest away from all other simulated lines

4. Goal: pick the point the closes/furthest away from the goal

3. Set the velocity to the smallest of the max allowed or the distance to the next point in the direction of the next point

4. Run the simulation

5. If the point is within a tiny distance of its next point, go to step 2. Otherwise, go to step 4.

Camera

This is a small script for filtering out large geometries. It uses a volume to filter out points from a camera's frustrum between near and far values, and with a specified padding offscreen.


Update - 14 Apr 2021

Going til the very last minute on this one...


Update - 8 Apr 2021

The end of the sequence! Plan is to add some more geometry to the beam.


Update - 8 Apr 2021

Redid the shield scene and rendered it out. It's now a particle simulation that sources a fluid simulation when it leaves the tip of the hydra's claw.



Update - 8 Apr 2021

Shield scene coming in strong...


Update - 8 Apr 2021

A roll in the sand! Check out the coat on the cyborg material


Update - 8 Apr 2021

Finished a rough comp of the (close to) final render of the attack scene. Got all the elements - particles, blood + sand on the cyborg, floaty tech, and HDRI done.


Update - 26 Feb 2021

Full progress so far

Wanted to check what the full sequence looked like. Let me know if you have questions about technique or goals!


Comments (1)


Update - 23 Feb 2021

Attack and shield

This was an update that I was most fearful of getting right. It's perhaps the most interaction between the two characters in the whole project. Above is a first attempt at blocking out some of the important moves.

The hero uses technology to fight the monster. His color palette is blue-turquoise, and most of the things he uses are scripted and very geometrical. The shield is composed of a grid of cubes converted into lines. I created a custom HDA that moves lines along that grid and around the main tech at the center of the shield.


In contrast, the monster uses organic attacks and a red/orange color palette. It's very simulation-heavy and minimally scripted. The blood was especially hard to get right over such a large area. It's a pop network with a pop fluid node to create some semblence of  water.

The most difficult challenge of this part was to convey the story of the attack and defence in such a short period of time without having too much going on for the audience to track.


Update - 16 Feb 2021

RnD of a distortion effect on the yell. Accomplished by rendering the temperature volume of a pyro sim and using Resolve Fusion's vector distortion and ripple effects.

Some test renders for tech our Hero will be using.


Update - 9 Feb 2021

Some blood to complement the sand.


Update - 6 Feb 2021

First test render of the sand hydralisk