Ayoub Hamidi Alaoui talked about the development process behind his Houdini-made project Ophidiophobia, explained how to set up moving snakes, and shared some useful tutorials for aspiring Houdini Artists.
Hi! My name is Ayoub Hamidi Alaoui, I'm a self-educated 3D Artist, based in Morocco. I started my studies by watching both free and paid online courses, from various online schools such as CGMA, CGCircuit, and RebelWay.
Currently, I'm working as a freelancer, I worked on various commercial projects, most of them is product visualization and Visual Effects, focusing on simulations, also I'm working on personal projects in my free time.
Picking Houdini as the Go-To Tool
I have always had that passion for the 3D world and visual effects, but I have never made the step to start learning until I got really inspired when I watched The Maze Runner and the VFX Breakdown of it, and that is what really pushed me to take the step to learn how to make similar effects.
In the beginning, I was kind of lost on what I should learn, but then I made my decision to learn more about simulations. I did not know about Houdini back then, so I started with Autodesk Maya until some friends introduced me to Houdini. I was sort of afraid to switch because Houdini is completely different, but then thankfully I did and that was a good decision.
I started using Houdini as my main tool, because of the node-based procedural workflow that makes it easier to traverse iterations as you improve your work, and that is one of the strengths of Houdini, also I was not bothering with plugins since Houdini is a full package.
The Ophidiophobia Project
The setup of the Ophidiophobia project was based on a previous project you can see above. I was watching some references of snakes crawling, so I thought about ways to recreate that motion and make it infinitely looping, so I jumped into Houdini and started running some tests. Then I created the setup for it, I liked the result so I thought about using that setup to create something abstract.
The 3D head I used is actually a 3D scan. I had to do some geometry cleaning though, as well as adding some facial features to match the look, I used Houdini's Soft Transform node for that because it's was easy and fast.
I wanted to give a sci-fi feel to the result so I added those blue cracks, I did that using cracked burning ground texture, then I used it to drive the Emission in material, also I applied the same map for the BumpMap, I chose to do that step using the material because it was simple and quick.
For the moving snakes, I tried to keep it as simple as possible.
The first step was Using Houdini Vellum Hair to simulate the curves and to control the thickness, which helped me to get a natural bending look and randomness.
Then I used the Sweep node. This node is really amazing to mesh curves with so much control as well as applying UVs along the curve.
I used it to mesh the curves from Vellum and to get the UVs that I'm going to use for the animation.
Then I used UV Transform. This node is the one that actually drives the whole animation, it helps you to manipulate the UV texture coordinates on the source geometry. I used it to animate the UVs.
It is really important though to use a seamless texture to avoid tiling.
Rendering and Lighting
The final part, as always, was the rendering. I'm using Arnold Renderer for all of my projects. For this project, I used the 3-point lighting technique to properly light up the object.
I used Key Light to catch the facial features and to create the main shadow. Fill Light was used to illuminate dark spots, and to disable the high-contrast shadows that the Key Light creates on a subject. Back Light was positioned behind the object to highlight shapes. I also used an HDRI to improve the lighting as well as to catch some reflections.
Before starting the render I had to set up AOVs to render passes:
- Specular (for reflections)
- Emission (to get the glowing effect)
- Position (to apply the depth of field)
I prefer to use Position pass than using Z-depth pass because I get more control and it's always giving me a clean result.
And finally, it is time to smash the Render Button!
The post-processing phase is really important to tweak the result and to add some other effects. For this step, I used Adobe After Effects. I used the free plugin called OpenEXR for after effects to extract the passes because I set the rendered image file format to .exr. That is how I archive the glowing effect and the depth of field, I also did some color correction to improve the quality of the image.
The first challenge that I faced was related to randomizing the snakes' texture, but it was solved really simply. I used For Each Loop iterations based on the count of snakes to randomly roll the texture along the tubes to achieve the randomness.
The other challenge that I actually face in every project is optimization because I'm using a laptop so I have very limited computer resources.
My main advice is to never jump straight to advanced tutorials because the most important thing in learning any software is to master the basics first, get comfortable with the software and know what you want to achieve with that tool, take your time and go step by step.
And another thing to anyone thinking about learning Houdini, don't get scared of VEX, it might look really scary, but it takes just a little bit of time to get used to it, and trust me it's going to be your best friend.
When it comes to tutorials, thankfully there are many tutorials out there related to Houdini. For free tutorials, I find the SideFX website providing you with great free and paid tutorials as well as YouTube and Vimeo.
As for paid tutorials, my favorites are CGCircuit (Applied Houdini by Steven Knipping), Learn Squared (Houdini Particles by Adam Swaab), ENTAGMA (both free and paid), and Rebelway.
Also make Google your best friend, never hesitate to search how to solve any obstacle you face, there are many Houdini Blogs and forums where you can get or find some help.
Good luck to everyone on their Houdini-learning journey, have fun!