Dr. Strange VFX Recreation: a Rocky Start
It’s the first week of work for my capstone project and let’s just say I certainly have my work cut out for me this semester. Much like last semester, I went into this project thinkin that certain aspects of the shot would be relatively easy to create and that I’d be able to move through them reasonably quickly, but of course that never ends up being the case. So, let’s dive into the rocky situation (literally!) I got myself into this week, shall we?
After setting up the scene with the backplate, roughly starting to block out lighting, and creating the basic frame for the walls around the cobblestones, the first big thing I knew I needed to tackle was creating the cobblestones themselves since all the other effects in the shot are based off of them. Specifically, I wanted to generate the cobblestones procedurally so that they could have some sense of variation within the uniformity of the stacked stones. I have never done any procedural modeling in Houdini before, surprisingly enough, but through lots of research and lots of tutorials, I managed to get the hang of generating a not awful looking grid of cobblestones.
The method I used for this first iteration was using the line geometry, adding a point jitter to vary the distance between the points on the line a little bit, extruding that line into a plane, and then utilizing more lines and points to bisect the plane into a grid that wasn’t totally uniform. I split the plane using the voronoi fracture node, which was another first for me, but quite an interesting node I could definitely see myself using more in the future.
After that it was relatively simple, I fed the fractured plane geometry into a for loop where I added some roughness to the the shape of my boxes to turn them into weathered and rough-looking cobblestones.
They’re definitely not anything special, but I did learn a decent amount about procedural modeling and how to utilize more procedural tools within Houdini, so I’ll take the experience as a win either way. I do, however, think I’m probably going to end up trying out a different method for creating the cobblestones next week, since this one was still feeling pretty uniform despite the variance I added, not to mention it also was a little difficult to animate the actual individual stones from it. The next method on my mind is utilizing the copy to points node, which I think will end up working a lot better in getting more variation and also making the animation easier!
Trying to animate the cobblestones proved to be quite frustrating since I knew in my head what I wanted to do and the way I should be able to do it. In the first VFX class I took, we actually learned how to do an abstract effect that consisted of extruding faces in a ripple across a plane. So, in my head, I just needed to apply that method of creating a mask from moving a box across the grid of cobblestones where they need to be lifted and I would have the base for the effect in the Dr. Strange shot. But, working with full primitives instead of just faces like I originally learned to do the effect with proved to have some more complications.
So, I turned to my good ol’ friend that is YouTube tutorials, where I found a couple videos of people creating similar kinds of rocks/bricks and animating them as well. The method that ended up giving me some sort of success (and by that I mean having the stones move at all) was to use a couple attribute vops to measure the distance between the cobblestones’ original positions and their transformed positions when I moved them upwards in the for loop. That measured distance was used to create an attribute that I could then feed into an attribute vop after the for loop to displace each cobblestone in a wave moving forward, since I was able to set the origin point for the wave to be at the back row of cobblestones.
My work in progress for this first week didn’t prove to be anything special, but after my third time starting a project like this, I think I can afford to give myself some grace as I get into the swing of things again. Especially since I am, once again, stepping into uncharted territory within Houdini and am slowly getting the hang of these new tools as I go. I’m just going to try my best to roll with the punches and see where this newest educational journey will take me!