Premise
In late 2022, NVIDIA launched the NVIDIA Omniverse ecosystem to the public, which promised to be a very interesting platform. But in 2021, during their Beta phase, they announced some competitions to help promote the platform and let users explore the power of OpenUSD and NVIDIA’s rendering capabilities.
These competitions were called “Create With Marbles” because they provided a great deal of assets that they had been using in their Marbles demos, readily prepared for Omniverse users to be rendered beautiful within their ecosystem.
The first of these competitions involved doing a single great looking render with these assets. We had complete freedom to be as creative as we could be, so I used this opportunity to explore the power of properly rendered shadows, in conjunction with a procedural system in Houdini to help achieve the goal
Goal
Since I wanted to combine both a shadow-related effect, and some procedural system to achieve it, I quickly decided that I wanted to figure out a way to have the shapes they provided to show a shadow that represents something else. An Elephant, a sailing ship, the Eiffel Tower, etc..
I found out about the competition pretty late so I didn’t have a lot of time. So I went on with it to work within Houdini, making use of all the USD files they provided to achieve this goal.
Setup
Unfortunately, at the time I didn’t document the Houdini system and it’s now buried in some old hard-drives I need to recover. Which I want to do, or more likely, I should just re-do the project because I would be a lot more efficient this time around.
But in summary, The way this system worked is by providing a silhouette first of the shadow I want to create and a point which was the source of the light. And making use of VDBs and vector math, and some randomization, they system would pretty effectively make use of completely different assets to recreate the intended shadow. Which then programmatically, the system would add a bunch of wires (which were technically pencils from the USD assets) to make it seem like it could possibly be a real statue standing in a museum with a light.
Result
This was super effective and allowed me to test different shadow goals, which in the end I resorted for a Ballerina for a single reason, I LOVED the idea of working with a penumbras to create the skirt. This part was completely manual and I simply achieved the goal by manually placing small picks very close to the light source in the exact location.
Unfortunately, I didn’t win this time. However the experience was amazing, really proud of the work I did and was very impressed by Omniverse’s rendering power. It was so fast!