A self-directed sci-fi animated short film with a team of 13 collaborators (7 minutes).
I originally worked in a class group to design this character which involves my work in lighting, compositing, FX and animation. I found the idea of rebirth and rejuvenated life powerful and together, we decided to continue developing this idea together.
As the world decays, a dying botanist journeys across a post-apocalyptic Earth to sow the last seeds of humanity.
Previews
Early Previs

(Visual development - USD Solaris workflow)



Pōhutukawa FlowerFX
Sculpted Assets


Solaris Character FX Workflow

Animatic/Storyboard
Synopsis:
A dying botanist in post-apocalyptic earth must sow the last seeds of humanity to ensure Earth’s survival. That is until her journey takes a detour. A thousand years later, a glimmer of hope emerges, proving the potential for life to bloom.
Previs
First Motion capture Shoot
My original sketch

Concepting

Final Concept (Justin Cheung)

Concept Design (Alistair Hadlow)


Character Animation
I was inspired by a small, wind-beaten Pōhutukawa tree I encountered at the tip of New Zealand, near Cape Reinga, ‘the place of leaping.’ This 800-year-old tree is said to guard the entrance to a sacred cave, through which spirits pass to the next world. To me, it symbolised strength and resilience, standing in such a precarious, hostile environment. I reflected on the incredible journey of growth it must have taken, and the way it endures in such an exposed setting resonated with my ideas about growth and perseverance. This powerful image became the foundation for my character’s journey in Deep Bloom.

Justin Cheung concepted these final paintings.

Developmental sketches for my concept




I pitched this concept to the class and this was further developed by a team.




RBD simulation of Head

Cave Noise Generation with VDBs

MaterialX Design



Weight painted the dispersion of grains through attributes

Assorted grains of varying noise and sizes

Varied attraction weight of grains using a VOPS fractal noise and finally passing it in as an attribute.
