TIPS AND TRICKS FOR
Artwork by Serjan Burlak
HOUDINI 18
Tips and tricks for
HOUDINI 18
TIPS AND TRICKS FOR
HOUDINI 18
The latest version of Houdini to make its way into the public has a lot to offer. Discover what it could do for you
he world of software development moves at a rapid pace, with the user groups and communities having come to expect new tools, features and bug fixes, along with speed improvements and increased efficiency. SideFX have released version 18 of their renowned procedural visual effects and animation tool Houdini, which aims to answer all the demands of its users. Over the next few pages you’ll discover some of the work created by Houdini experts, who have shared their thoughts on the tools and techniques that have made their way into their work. From rigid body dynamics simulations to creating destruction sequences and setting up realistic terrains, discover a host of helpful Houdini tips and tricks and insight from top artists.
T
ARTIST INTERVIEW
A geometrical VFX artist shares his work SERJAN BURLAK Designer, animator and VFX artist www.biogenic.design
Your art style is quite distinct, how did you come to develop it? The work I’ve published so far simply reveals what I have been preoccupied with for the past couple years – researching AI, neural networks, the geometry of languages, runes and hieroglyphics. How long have you been doing 3D? What was your first 3D app and how did you discover Houdini? I started in Maya in 2008. I found the UX annoying and counterintuitive, I switched to 3ds Max, then to Softimage, then to Cinema 4D and fell in love with its UI, camera tools and take system. I first heard about Houdini at Siggraph in 2011 when attending talks on the making of Tron: Legacy.
Houdini doesn’t have the most artistfriendly reputation. How did you end up with using Houdini? I embraced Houdini fully in 2016 when I was working on my submission for the ‘Marvellous Machines’ contest – I created a design of a Houdini node. That project was my homage to this software, driven by the intention to elevate how artists think of Houdini. Many fear it for wrong reasons, the software is not hard. Most artists just lack patience and discipline, hence the abundance of derivative work and mediocrity in the creative industry; many artists simply prefer to re-work someone else’s setups versus pursuing mastery, thought, craft, art, quality, storytelling and science. Learning Houdini is like learning a foreign language. If you rush it, your command of the language will be limited, but if you’re dedicated, you can become a 3D poet. I highly recommend Rohan Dalvi (www.rohandalvi.net), 3
Tips and tricks for
HOUDINI 18
Saber Jlassi (www.rebelway.net) and Adam Swaab (www.learnsquared.com) as talented Houdini mentors. Good, original, interesting, attentionworthy work takes time. It’s easy to blame Houdini as not being ‘artist friendly’. Which tool is artist friendly though? Maya? Modo? C4D? Blender? All tools have short-comings in one area or another. I think the point of navigation for 3D artists should not be about whether the software is hard or easy. Whatever vision I have, I want to be able to craft it to the nature of the envisioned result. I do not want my imagination to be limited by the technical capabilities of a 3D app. That’s what drives me. That’s why I design in Houdini. It’s a powerhouse. What is your favourite/most memorable/successful project to date? Tell us a bit about it. The most recent published project I can talk about is a critically acclaimed game Observation by No Code Studio and Devolver Digital. We got a BAFTA! Collaborating with Jon McKellan (No Code) was incredible, and the original score for the title sequence was composed by the legendary Robin Finck (Guns N’ Roses, Nine Inch Nails). Observation is a kind of 2001: A Space Odyssey – but you’re HAL. You’re not on a space station, you ARE the space station. This game is a sci-fi thriller where players assume the role of S.A.M., the station’s artificial intelligence, by operating the control systems, cameras and tools to assist a crew member in discovering what is happening to the station, the vanished crew, and S.A.M. himself. Observation is my favourite for so many reasons. Each shot is meticulously developed and encoded with clues about the game narrative (Easter eggs alert!). I developed custom rigs to art direct mutation and construction of neural networks and geometry in a way that hasn’t yet been shown before. Hundreds of tests. Hundreds of hours. In the finale our vision was to make the geometry go sort of supernova and a black hole at the same time, a tall order. Designing ‘The identity of SAM’ SAM was designed to mimic a spine – symbolising consciousness, structure and purpose. The face looks menacing and powerful, it’s screaming and laughing at the same time. SAM has a 4
‘crown’, a digital bionic pineal gland that allows instructions to be received from ‘the signal’. Designing ‘Digital Soul Meets Digital Matter’ The signal splits the mind, like a vaccine it injects its code into the digital architecture. It is rapidly and aggressively testing different connections, it moves fast and sharp, like it’s lashing out for solutions. Negative space resembles a human skull to signify this phenomena will have a major impact on consciousness. Confided in a cocoon, gestating, chained to the constraints of the environment, patiently waiting for the completion of recoding by ‘the signal’. The dark energy of ‘the signal’ is descending from the matrix and is integrating into the mind of SAM. Designing a ‘Molecule’ Before new consciousness is achieved, mutated bits are building a framework, a protected environment for this to happen safely. Check out the full project breakdown, including over 100 slides explaining art direction, iterations and design thinking, at biogenic.design/project/ observation.
Intricate designs such as those above play to Houdini’s strengths Houdini’s rendering abilities allow artists to produce innovative output
Tips and tricks for
HOUDINI 18
CLICK HERE TO FIND OUT MORE!
Houdini excels at procedural setups, not just for fragmentation, gases and dust but also for more typically motion graphical elements like this geometrical animation
Let’s talk about some personal projects, as you have full freedom to develop those. ‘Temples of Houdini’ (aka Houdini nodes) is still my favourite personal project. With each design I start by creating a story first, and then craft around it to fulfill it visually. Because imagination is not bound by the laws of physics, Houdini nodes are designed to manifest any idea. Masqueraded as a small box, a node is a massive digital temple. If you dive inside, you will find yourself in Tesla’s lab, a modern Hogwarts’ library, or Einstein’s study, a place that contains a wealth of leading edge research in alchemy, mathematics, physics and biology. Pipe an idea into a node and it travels through a tapestry of carefully crafted mathematical equations, refined lines of code woven elaborately like a Persian rug, to evolve the geometry of an idea further. An idea exists as a node completely transformed, enhanced with new attributes, ready for further evolution. Networks of nodes look like constellations of stars forming a galaxy, a digital nervous system that is giving an idea its shape, motion, character, life. A full project breakdown, design thinking and versions can be found at www.biogenic.design/project/houdini. The Houdini 18 splash screen was another homage to the software and its particle-based thinking. Have you seen Arcturus through a telescope? A deceptively tiny, vibrant orange particle that is 26 times bigger than the Sun, a massive consciousness powerhouse… sort of like Houdini, where we can build colossal worlds out of one digital atom, one particle. A project breakdown can be found at www.biogenic.design/ project/houdini18. Currently I am working on procedural language systems, hieroglyphics,
futuristic alien-like UI design elements and another animation piece that I will reveal a little later. You also have a tendency to do extensive brainstorm/research when you get into a project. I believe to take an idea to the next level of its expression you need to do a deep inquiry into the world of that idea; a word is a world – understand its anatomy, function, history, evolution. Perform sort of a ‘surgery’ on the ‘nervous system’ of an idea; it takes layers and layers of distillation to come up with a diamond. Akshay Tiwari and I are currently developing a pipeline inside Houdini in which we have a creative brief, a script, mind maps, references, assets, RnD, shots breakdown, animatics. The entire production lives inside a Houdini script – one unified creative landscape that contains not just the assets to render shots, but also the tapestry of how the entire idea architecture came to be. I will show that when I come to reveal the next project. What artists have you been most inspired by? Ash Thorp, Adam Swaab, Heribert Raab, Tim Zarki, Akshay Tiwari, Edon Guraziu, James Cameron, Alex Alvarez, Rohan Dalvi, Saber Jlassi, Trevor Kerr, Denis Villeneuve, Mike Hill, Russ Gautier and many others. Each of them has different styles, philosophies, each impacted my taste, design sensibility, selectivity, and some of them became very good friends. I really do love getting inspired by others – I love when the geometry of thought blooms and I see or hear something I could not have imagined before. I respect intention, craftsmanship and honest work. 5
CLICK HERE TO FIND OUT MORE!
TIPS FOR FEM SIMULATION How to enhance your FEM workflow in Houdini 18 EMILY FUNG Houdini FX artist vimeo.com/emilyfung o achieve a physically accurate solid object simulation, it’s often recommended to use the FEM (Finite Element Methods) simulation technique. Unlike a typical simulation that uses 3D models that represent surfaces of an object, FEM simulation uses finite element solids, which are solid objects, composed of small 3D tetrahedrons. In comparison to the point-based grains simulation technique for soft bodies, FEM allows more precise simulation, at the expense of longer simulation time. In the latest Houdini 18 release, the FEM solver has been updated and now has better support for highly non-linear material models. Using the new NeoHookean material models with the GNL solve method allows better accuracy and volume preservation. In this overview, we will discuss tips that could enhance your FEM workflow.
T
6
GEOMETRY PREPARATION
In order to perform FEM simulation, we need to use meshes of tetrahedrons. If you create your tet meshes using geometry with holes or intersections, that could easily cause the simulation to break or produce weird results. To create good tet meshes, we can use either the Solid Embed or a combination of Remesh and Solid Conform. In most cases, we will use Solid Embed. The best way to see if your solid objects are of good quality is to enable the Create Quality Attributes in the FEM Solid Object, then you can use FEM visualisation to visualise the quality after your DOP Import with the type set to Mesh Quality. Green means good tets and red means bad tets that could cause problems. You should always use the clip SOP to look at the interior tets. In Solid Embed, the interior tets can be made smaller by lowering the Max Tet Scale parameter. We should always try to get regular tetrahedrons across the mesh, while maintaining a good resolution to make sure the simulation is not too slow. Start testing your setup in a low resolution to get quick feedback; once you are happy with the behaviour, you can increase the resolution. FEM is resolution independent, so you should get similar results, but just more detail when you increase the resolution.
Tips and tricks for
HOUDINI 18
CONSTRAINTS
I will introduce two types of constraints that could be used to drive FEM simulations with animations.
WRINKLES QUICK TIPS
1 TARGET CONSTRAINTS
There are two types of target constraints. The first type is the built-in target constraints. By providing a Target Geometry, a smooth deformation will be performed on the solid object, based on the target strength you provide. Bear in mind that your animated target geometry needs to have the same topology as your input geo.
2 REGION CONSTRAINTS
Region constraints allow you to drive simulation using something that doesn’t have a matching topology to your tet mesh by attaching a solid object to another solid object. An example for this will be using animated bones to drive a solid object. You can use the method mentioned above to give it a target animation. Input both objects as solid objects and in the region constraint node, use the bone solid object as region, the other object as container. Now we have our FEM driven by the region constraint animation, you can change how much the constraints are influencing the solid object by giving it different strength attributes.
We will go through a simple workflow for wrinkling. The first stage is to create the geometry for wrinkles and the second stage is to simulate them. The first stage can be a FEM simulation or an animation. Here we will use a simulation. First we will create a tet mesh. We will also prepare our wrinkles geometry. Using either Solid Conform or Solid Embed, we will turn on Add Surface Triangles. This will create a surface mesh that we will later use as the wrinkles geometry. In our dopnet, turn on Embedded Geometry in the FEM Solid Object node and give it the path for our wrinkle geometry. Now Houdini will automatically output our
winkles geometry with the lowres simulation embedded to it. This is great because we don’t need to do any extra work and our wrinkles geometry will now have an animation which we can use for simulation later on. Now we just need to use our embedded geometry output as the input for the wrinkles simulation. We will use a hybrid object this time for the wrinkles. You should be able to get a decent start just by plugging in your geometry and animation. To create more wrinkles, you can increase the Shape Stiffness for the Shell of the Hybrid Object. The larger the difference between this stiffness and the shape and volume stiffness of the solid tets below, the more likely wrinkles will form.
POST-PROCESSING USING CHOPS
It is difficult to get a perfect simulation, especially when dealing with a large amount of geometry, as there is room for potential errors. In the example of the compression of gummy bears, there is jittering happening in certain areas. Since we are happy with the overall look, it’s more efficient to pick out the problematic geometries and fix them than re-simulating again. Here, we will run a post-processing pass on the gummies using CHOPs – a very simple setup that can save you hours of re-simulating. In this example, we will be running a filter node to the jittery geometries. The filter node smooths the input channel by combining each sample and a given range of its neighbour samples, and calculates a new value. We can decide how many neighbouring samples to use with the filter width attribute. In our example graph, we can see a vertex that is rather jittery. It is smoothed out by CHOPs and then applied to all the jittery vertices, for a smoother simulation.
7
Tips and tricks for
HOUDINI 18
GUIDED SIMULATIONS Tips for creating guided simulations using animated geometry in Houdini
G
uided simulations is a new and extremely powerful tool added to Houdini 18, which allows artists to use proxy or animated geometry to drive high-resolution simulations with art-directable precision, while maintaining real-world accuracy and detail.
SETTING UP ANIMATED GEOMETRY TO GUIDE SIMULATION
1
After fracturing the object of choice, create a bound SOP to ensure the entire fractured object is encompassed within the animated geometry’s interior. If the fractured object is concave, use multiple transform SOPs to conform the bounds to the edges of the fractured geometry to reduce any area of the bound that does not encompass the fractured geometry.
2
The RBD Bullet Solver works best when the animated geometry is divided into individual segments based on connectivity. This allows the fractured geometry within each segment to be animated specifically to that segment. To create the segments out of the bounded or ‘animated geometry’, drop down a grid for the x, y, and z axis. Then use a copy SOP under each grid to copy the grid in the direction of each axis. Merge the copy SOPs and drop down a mountain to create some variation between the segments. Under the transform node(s), drop down a Boolean connected to the mountain to create the segments.
4
To remove any small segments that may cause problems later in the guided simulation, measure the volume of each segment and delete based on a small volume threshold.
The animating of the animated geometry is contingent on the project, and is up to the artist to determine the overall simulation timing and look. In this project, the animated geometry bends and twists into itself, guiding the fractured building simulation to turn inwards and destroy itself. A bend SOP is placed under each blast, with the bend and twist parameters animated. Finally, an assemble SOP is placed under each bend SOP with a unique
ANIMATED GEOMETRY
HIGH-RES GEOMETRY
3
8
Under the Boolean(s), drop down a connectivity SOP to isolate each segment, then a measure SOP with the Accumulate parameter set to Per Piece, with the Piece Attribute set to class to run the volume operation over every connected segment. Next, drop down a blast with the expression ‘@volume<0.1’ to delete the segments with small volumes. Depending on the scale of the animated geometry, the volume threshold will vary.
‘Output Prefix’ name, the Create Packed Geometry toggle is checked on, then merged into a merge SOP. This ensures each segment has a different name when entering the simulation.
Tips and tricks for
HOUDINI 18
THE RBD BULLET SOLVER SOP
1
Drop down a RBD Bullet Solver SOP and plug in the fractured geometries’ high-resolution geometry into the first input, proxy pieces into the third input, and the animated geometry created in the last section in the fifth input. Constraints are not needed, but can be used in select cases where objects are constrained to guided pieces but are not actually guided themselves.
2
On the Guided Simulation tab of the RBD Bullet Solver SOP, enable Use Guides. Test out the simulation. Important parameters to play around with include Guide Strength, Blend, Instantaneous Linear and Instantaneous Angular Thresholds.
3
Guide Strength determines how faithfully each guided proxy piece follows its respective guide. In this project, Guide Strength was animated from a value of 3 at frame 108 to a value of 1.5 at frame 122 so that pieces are more strongly held to their guide during the initial twist. Additionally, the distance to strength parameter was decreased to a value of 3 so pieces that moved three units away from their guide geometry would have their strength multiplied by 0.25, resulting in the pieces becoming unguided. This is useful when a high overall Guide Strength is used, so that there are no unnatural pieces that are far from their guide.
4
The Blend parameter on the Simulation Settings tab is another
CLICK HERE TO FIND OUT MORE!
important parameter, to help dampen the simulation and ultimately reduce jittering of pieces, at the cost of accuracy to the animated geometry. In this project, Blend was animated from a value of 0.7 on frame 6 to a value of 0.5 on frame 55, back up to a value of 0.6 at frame 120.
5
Linear and Angular Instantaneous Threshold parameters were animated down so pieces had a higher likelihood of becoming unguided during the peak intensity of the animated geometry. Linear Instantaneous Threshold was animated from a value of 1.5 at frame 68 to a value of 1 at frame 118. Angular Instantaneous Threshold was also animated down from a value of 10 at frame 68 to a value of 9 at frame 118.
CREATING CUSTOM ATTRIBUTES TO DRIVE GUIDE STRENGTH OF MATERIALS
1
For more precision and control, a custom point attribute can be created and remapped within the RBD Bullet Solver. Because glass would likely shatter and unguide sooner than concrete would break apart, a point attribute called ‘@ guide_anim’ was created and applied to glass pieces only. To create the guide_ anim point attribute, drop down a point wrangle and insert it in between the proxy geometry and RBD Bullet Solver path, as the custom point attribute needs to be on the simulated geometry to have an effect. In the VEXpression write ‘f@ guide_anim = 1;’. This ensures all pieces will have a value of at least 1 when working with material groups down the line.
2
Drop down another point wrangle to change the attribute for the glass
pieces. The fractured proxy geometry has groups associated with the various materials, so within the point wrangle, the glass group was selected to be operated on. Within the VEXpression of the point wrangle write ‘f@guide_ anim = 0.125;’. This should overwrite the guide_anim attribute for glass pieces.
3
To remap the guide_ anim point attribute to the Guide Strength parameter, select the RBD Bullet Solver and under the Guided Simulation tab, check the Use VEXpression toggle within the Setup tab. Write ‘strength *= @guide_ anim;’. This will multiply each pieces guide_anim point attribute by the current Guide Strength parameter within the solver, resulting in pieces with a guide_anim attribute value below 1 to unguide faster when collided with.
9
Tips and tricks for
HOUDINI 18
TOP TERRACING
CLICK HERE TO FIND OUT MORE!
Discover the new Heightfield Terrace tool RAJENDRA KHIRODKAR Technical artist at SideFX ca.linkedin.com/in/vfxraj
T
he old terrain tools in Houdini have been replaced with the new HeightField Terrace (2.0), which enables you to achieve different step sizes in your terracing with the help of a single Terrace node, along with other features like Fade and Undulations to add a more natural look.
DECIDE THE HEIGHTFIELD RESOLUTION The sharpness of the steps in terracing depends upon three main factors: resolution of the heightfield (or grid spacing), the Step Size parameter and the Smooth Edges parameter. So, as an end result, if you want very smooth edges for your steps, itâ&#x20AC;&#x2122;s better to use terracing to create those bigger steps at low resolution, which is usually at the beginning part
10
of your terrain workflow. Itâ&#x20AC;&#x2122;s generally better to start working on large forms at a lower resolution, before refining details. If you want sharper and smaller steps, use the Terrace node towards the end of the chain. It will help you to have sharper steps, as we have more resolution towards the end, and also not a lot of operations are happening after terracing.
USE MESA AND CLIFF MASKS
THE STEP RAMP
The masking features in heightfields are great and will enable you to create any kind of mask using different attributes like height, slope, direction or occlusion. In addition to those tools, as a result of using the Terrace node, two more volume layers are added to your heightfields chain, the Mesa Layer and Cliffs Layer. And you can use these layers to create different masks for shading and rendering.
This is the new feature added in the Terrace node. By using the Step Ramp you can achieve variation in step size just by using a single node. The horizontal axis represents the height of your terrain, left corner being lowest elevation and right corner being the highest. And the vertical axis is the multiplier to the step size you have decided in the above parameters on the same node.
Tips and tricks for
HOUDINI 18
USE OF UNDULATIONS Although in a lot of the terracing structures steps are horizontally straight, there are some cases where you would want to break up
those straight lines to add some naturalism to it. That’s where the undulations come in. But the trick is using it in moderation to get a natural-looking result.
SCATTERING TIPS When you are creating huge environments, laying out each and every object at its proper place and making it memory efficient becomes such an important task. The scatter tool in HeightFields is the best tool to assist you in this task. So here are some tips for scattering millions of objects in no time. This attribute is super useful for distinguishing points for certain type of objects. Also you can create different attributes for instancing based on the Tag attribute.
AVOID INTERPENETRATIONS USING OUTER RADIUS AND FALLOFF PARAMETERS
USE A HIERARCHICAL APPROACH
The best way to use the HeightField Scatter tool is to ‘go hierarchical’. What is meant by this? Hierarchical in this context means to start laying out points for the biggest object in your environment. So for example if it’s a village we will start with houses, then we will layout trees, after that the bushes and rocks, and finally gravel rocks being the smallest will go last in the scattering chain. This also helps you to keep your node graph clear and well assembled.
The outer radius and falloff parameters on the HF Scatter node are very effective for avoiding penetrations in the objects. The outer radius is how far you want each object from one another. So usually we use the actual radius of the input object as the outer radius. And falloff is how much penetration you want to allow the scattering objects to have. Here a value of 0 for falloff means no penetration and a value of 1 means one object can penetrate the other until the centre.
TAG NAME ATTRIBUTE
This is a really handy attribute created by HF Scatter node. By default it takes the name you gave to the node, but you can change that to anything you want inside the parameters too.
11
Tips and tricks for
HOUDINI 18
INTRODUCTION TO SOLARIS
Discover key features of Solaris for Houdini 18 new module that comes with Houdini 18, Solaris brings the whole USD workflow into Houdini. This tutorial will talk about how to prepare an asset by using Solaris, and will provide tips on the authorizing
A
YUQING CHEN Houdini tech artist www.yuqingvfx.com variant process (a powerful function of USD files), as well as an introduction to using physical editing. Letâ&#x20AC;&#x2122;s get started.
PREPARE AN ASSET need to connect it to anything yet. About this material library LOP, we need to set material VOP and material path parameters by pressing the Auto-fill Materials button. Houdini will set these parameters automatically for us by detecting the amount and name of shaders inside material library LOP. Next we need to define the save path of material info. Append a configurelayer lop under the material library LOP, and define a path to save material information as a USD file.
1IMPORT OBJ INTO SOP LEVEL
Create a geometry node at /OBJ, and import the OBJ format file. Next we need to switch content to /stage, and create a SOP Import LOP node. Load as reference is the most common way to compose an asset into stage, but please note it is not instanceable yet. By specifying the primitive path, we are actually trying to manage the hierarchy of this stage. Usually an asset was composed by the geometry data and material data. So here we can set this to be /barstool_v1/Geom, which is organising the geometry data(mesh_0) to stay under this group.
MATERIAL/SHADERS 2 CREATE FOR THIS ASSET Create a material library LOP, dive in and create a shader for it. We donâ&#x20AC;&#x2122;t
12
3 ASSIGN MATERIAL TO GEOMETRY Now we need to reference material information into a geometry scene graph. After reference, we can notice that in the scene graph tree, geometry information and material information both stay under the /barstool_v1 group. Assign the material to the geometry. Create an assign material LOP, assign material info onto /Geom group. After assignment, we can find material information on the geometry group in the scene graph detail panel.
ABOUT HIERARCHY
By checking the scene graph tree we can see the current kind setup; our asset was organised from group to component hierarchy. The kind type attribute will help you to manage your stage in a logical way, and also affect draw mode options.
PHYSICAL EDITING
1ENABLE PHYSICAL EDITING
Solaris provides a new feature called physical editing. Users can finish classic placement type tasks in a more efficient and natural way. Enable this feature by checking the Use Physics option on edit LOP.
2 KEEP SIMPLE
If you are placing objects in a complex environment, try to keep it simple and clean. By using Prune LOP, you can isolate some specific parts you want temporarily. For example, if you want to put some objects on this table, for the efficiency, the best way to do this is deactivate some unrelated parts first, then use physical editing to layout objects. Physical editing will allow the objects to detect the collision object automatically, so only keeping the necessary objects will help the accuracy and efficiency. After placement, we can bypass the previous Prune LOP to see the final results.