Get Procedural with Houdini

Page 1

sidefx knowledge Proceduralism in practice master the software

Create a flaming character

15

Behind the scenes with Moritz Schwind

edges

to Use shaders e ar w e g ed d ad

SideFX’s driving force simulate a Flamethrower in Houdini

houdini top tips

i n i d u ho ith w l a r du e c o r p Get

! e r o m d n a s ct e f f e e m a fl ct a r t s b a e t a ric t n i , s t o b o r ADD DETAIL ld i u b o t n r a e L Utilise the Arrimus boolean plugin

1


contents

04

Create a flaming character

10

Behind the scenes with Moritz Schwind

14

15 houdini top tips

22

simulate a Flamethrower in Houdini

28

SideFX’s driving force

32

Proceduralism in practice

2


Get procedural with houdini Master the software behind many of Hollywood’s biggest visual effects sequences, motion graphics masterpieces and TV shows

H

oudini has had a long histor y as an immensely power ful sof t ware, although that power seemed to come at the cost of a steep learning

cur ve. Those days are long gone and now Houdini is ar tist friendly, easier to get to grips with and even more capable than ever. With a version to suit ever y 3

budget, from superstar studios down to the free version, there’s never been a bet ter time to learn, so read on for our ex per t guides, tips and insight s.


Tutorials

Create a flaming character

4


get procedural with houdini

Create a flaming character

Houdini | Photoshop | Crazybump

Create a flaming character Use Houdini to build your scene and add some fiery pyro effects

FREE download

of Houdini Apprentice

Author

F

click here

Rob Redman Rob is editor of this very magazine but also runs an animation studio working across film, TV and print, specialising in motion graphics and visual effects. www.pariahstudios.co.uk

or many of us it can be easy to let the software we use lead us on the journey to our end result, when really we should be taking charge and making the tools do what we need. This makes us learn how to implement our various tools into our work, but sometimes one particular application doesn’t allow us to reach our end goal, or possibly not in the most productive manner. At these times we need to build a pipeline, where we take the most suitable tools for the job and make them fit together. In this tutorial I will guide you through my preferred workflow for working on scenes that entail lots of modelling, texture work and simulations, for a visual effects shot.

I’ll concentrate less on the modelling and painting and more on the overall scene setup, as I think it’s the approach to the process that is more valuable here. Besides, you probably won’t be working towards the same rendered output as me anyway. The main chunk of this process will take place in Houdini, which has some excellent simulation tools, with some presets that can save a lot of time. It also has very robust IOs, so getting your textured mesh in from a different application is simple, as is then taking it through to another if you require it. The most important aspect of this tutorial is to discover an overall process to help you get the results you need.

5

A note on Houdini. This is an incredibly powerful piece of software, with versatility and a non-destructive nature which enables you to perform edits that feel almost like time travel, meaning you can edit a creation made earlier, while retaining anything you did since. This is a joy and can be a life saver if changes are made late in the day, but it does come with a bit of a steeper learning curve. The payoff is substantial though, so I suggest you get the basics down first!

Download your resources For all the assets you need go to www.bit.ly/vault-231-procedural


Tutorials

Create a flaming character

References are king I say this a lot but getting references, even for the fantastical, pays dividends in the end and shouldn’t ever be overlooked.

01 Base mesh

To start with, you need a mesh to set fire to. It really doesn’t matter what this is, although there are some aspects to it that will help. For this example I’m going to be using a female human model in Cinema 4D, that I use and adapt for various projects, along with some extra geometry that I’ll create in Houdini. For my static image I don’t rig but pose in situ, knowing the look I’m after.

02 UV map the mesh

As with many projects you’ll need to UV map and create materials for your base mesh. I unwrap the mesh using Bodypaint but I’m not too worried about seams and stretching that wont be seen in the final image. I use separate maps for the head, torso, legs, arms and ears, for ease of painting and managing, as I don’t want to be creating weight maps for this particular project.

as a reference 03 Bodypaint

I keep Bodypaint open while I’m working on textures in Photoshop. Doing this means you can flip between the two and check results as you work, seeing as the link between the two is so solid. Working on layers in both apps is a breeze, so no matter what you’re painting, you can keep tabs on your progress really easily. To make this work, save in Photoshop as you go. When you move to Bodypaint you can right-click the texture and choose to reload.

04 Refine textures

In Photoshop I create my textures, starting with the main diffuse channel texture. I used a couple of different lava reference images, taking bits here and there, to build up the overall look. I used a 4K file to get lots of nice detail. For a similar look, create a base layer, which has a nice consistent look, then clone in details where you want them, to add variety and break things up a little. This is a good time to add in details you might need to define your character, like emblems, scars, makeup or other base-level design elements. 6

05 Add significant details

Next up you’ll probably want to define any areas that have meaning to the image, rather than being simple ‘background’ info. I added intensity around the hands, as my character was going to be arming herself with fireballs. I used various adjustments here, from hue and saturation to some manual dodging to get the extra brightness where I wanted it.


get procedural with houdini

Create a flaming character

Work to realworld scale Not only does this help simulations and asset library building, but it can be a huge help when working with teams, as a set scale means all members are on the same page.

06 Build other maps

It’s perfectly possible to create all the other textures you need manually using Photoshop, but I like to save some time and effort, so use CrazyBump: an application that is great at helping to build all the maps needed, from normal to specular. The app gives you some predefined objects and lighting to preview and simple sliders enable you to define the details.

07 Texture maps

The final output from CrazyBump consists of weight, spec, diffuse, normal and displacement maps. You can now use these in any render engine to build your materials, with the confidence that everything will match up and work, leaving you far more time for creativity rather than tiresome troubleshooting work or laborious Photoshop tasks.

08 Make the material

At this point it’s worth doing a quick material build to make sure everything works as it should. I do this in Cinema 4D, as I’m pretty quick here and it’s just a test to ensure I don’t hit any problems later down the road. When you do yours make sure you add the displacements and luminosity, otherwise this can result in problems if seams aren’t correct. I make the black areas a little reflective, with a Fresnel falloff to make them look ‘baked’ and glossy. Control the placement by mixing a Fresnel and the specular map.

09 Export the model

Now you will need to export from your host app, ready to use the model inside Houdini. Houdini can read a number of formats but FBX files feel like a good option, as I’ve had fewer issues with them and they are easier to deal with than OBJ files in lots of cases. I choose to export from Cinema 4D using FBX 7.5 and I uncheck any options that don’t apply, keeping just the geometry, normal and material selections. Choose a location on your drive and name it appropriately, then click save. 7

10 Start up houdini

Now we can construct the final scene, adding the pyro effects, environment and lighting. Open Houdini and head to File>Import>Filmbox FBX, then navigate to the file you saved in the previous step. You only need the options you chose to output. If you want to bring this file into an existing scene then go for the Merge option, but if you want to start a fresh scene, just choose Import.


Tutorials

Create a flaming character

Motion blur for flames The Mantra Motion Blur is particularly useful for helping to get the look of your flames right and can really enhance the look of the ‘tongues’, smoothing out and lengthening where it helps most.

11Hit the right scale

I’m a big believer in working to scale, from working in teams to building a library of easily reusable assets. However, when it’s time to work with simulations, working at real-world scale becomes more important. We want the flames to look the right size for our scene, so select the import node and in its properties adjust the uniform scale. For mine it’s .015, so it is about human sized.

12 From here on in

I’m going to concentrate on just one of the flaming areas here: the left hand. You can of course set up a fire sim for any object or group of objects, but you can also use selection sets, so if you only want part of a given object to burn then you can do that. For this example I’m keeping it simple so we can concentrate on the actual fire settings and material themselves.

13 Fuel Mesh To keep it simple I’m going to add a sphere to the scene, placing it in the palm of her hand. Open up the object node and select the sphere, setting the scale to fit your model and making sure it’s a polygon mesh, using the dropdown menu. Rename the node to ‘fuel’ to keep things organised.

Flame colour matching If you spent all that time painting textures for your base mesh, then when you get to the point of adapting the fire material, try to get the flame colours to match (where appropriate), using your eye or referencing RGB numbers.

14 It’s all in the details

Fire simulations look more believable when the fuel object has some detail to it, so connect a Mountain node to the sphere and play with the settings until you get some good variation in the mesh’s surface. You are looking for undulations and variation to counter the smoothness of the sphere. This helps by creating hot spots at different places, adding detail to the flame. 8

15 Burn baby burn!

The next step is to move to the Pyro shelf, where you will find some preset effects. Select the Smokeless Flame then click your fuel mesh and hit Enter. You’ll see a new node network has been created and some objects have appeared in place of the fuel mesh. Click play and the simulation will run. It doesn’t look as good as it could, so we will make some adjustments to help sell the effect.


get procedural with houdini

Create a flaming character

16 Round one adjustments

In the new network select the pyrosolver1 node and open the properties (hit p). In the Simulation tab reduce the Buoyancy to .2 (scene dependent). Now move to the Shape tab. Again, these settings are scene dependent, but I find a large dissipation rate works well. Disturbance and Shredding can be added, but be aware that too much shredding can create a messy ball of flame.

17 Turbulence

I find that the biggest impact on the final look being what I want is a balance between the shader and some turbulence. In the Shape tab check Turbulence and then beneath, check Visualize Turbulence, a great feature that lets you see the noise field. You can see my settings in the image but the biggest effect will be seen by cranking the turbulence number itself and by adjusting the grain and swirl size. It’s worth noting that you can visualise other elements like shredding in a similar fashion.

18 Voxel sizing

If you find you need more (or less) definition in your flames then you probably need to adapt your voxel size. A voxel is like a 3D pixel and defines the resolution of the simulation. To change this setting select the pyro node and open its properties. The first tab, also called Properties, has a field labelled Division Size and it’s this you need to change. A smaller value increases resolution. Beware setting this too small, as it will slow down compute times for the simulation.

19 Shader time

To better see results now is a good time to set up your renderer. For this I added a Mantra PBR node and opened the render view but have left the default lighting. For now, open up the Materials palette and double-click the Smokeless Flame material to access its properties. The default flame is pretty linear so to add detail adjust the gradient like mine, to add interest.

20 Volume light

The final step for this setup is to get the flames lighting the scene. Luckily Houdini has a great shelf tool for this. Head to the Lights and Cameras tab. From there select the Volume Light and in your viewport click on the flame. Make sure it’s selected (it will turn yellow) then press Enter. Done! Of course you can tweak the light settings in the properties if you so wish, but from here on out it’s up to you to experiment, set up your render and explore other options. • 9


industry Moritz Schwind

FREE download

of Houdini Apprentice

click here

industry insight

Behind the scenes with Moritz Schwind We talk to the Aixsponza art director about his inspirations, Houdini side projects and why working procedurally is often the best practice oritz Schwind is the kind of artist who ruminates on every little detail. The Munichbased designer is currently the art director at Aixsponza, whose clients include everyone from Nike and Red Bull to Nescafe and Fendt, and it’s his concept-driven process that ensures his work jumps from the screen. Like a lot of artists, Schwind first became interested in motion graphics when he was in school. He explains that the first time his work was shown publicly was in 12th or 13th grade, when his friends asked for his help in creating an original film. “Making a decent movie is really hard because you have to find actors, good cameras, set people etc, so it's really overwhelming for someone – especially when you're 16 or 17 years old,” he says. “I started out by making titles for those movies and realised that as a one-man band I could make decent titles in After Effects.” After he caught the motion graphics bug, Schwind went on to study a mixture of graphic design and digital media. Then, through various internships – including one at Sehsucht – and jobs as a motion designer at büro bewegt and as a technology consultant at RTT/3DEXCITE, he decided to revert back to his one-man band and stick it out alone in the freelance world. “I just

M

quit without really having another job,” he continues. It was during this time that he got to know Manuel Casasola Merkle, the creative director and partner at Aixsponza, and began working on the narratively driven, abstract film Seed. “It was a rather abstract movie, a rather long project which was unusual for the business actually,” Schwind says. “But I was lucky to get on that project.” Seed tells the story of a protagonist and antagonist caught in an eternal struggle. Schwind worked on the research, concept, layout, lighting, shading, rendering and a bit of modelling and simulation. “The project was extremely unusual in that we tried something that I think everyone tries at a certain point in their career and ultimately fails at,” he adds. “We tried a democratic design process. So we tried to incorporate as many people's ideas and visions as possible into it, which comes with its own set of problems because you are constantly discussing, you are constantly confronted with difficulties. It's difficult to implement changes.” The team worked with real-life actors on Seed, scanning their faces to ensure a realistic effect when it came to the film’s execution. “It was the first time for all of us,” Schwind says of the process. “One of the founders of Aixsponza happened to have 10

The ad for Nike’s Cage 3 tennis footwear has a cage-like design that mimics the shoe’s structure


get procedural with houdini Moritz Schwind

Nike Cage 3 “With Nike's Cage 3, the challenges were mainly technical as we had a rather short time to come up with a setup that allowed for the organic animation of a geometric structure, while maintaining a high degree of control over the structure's behaviour,” Schwind explains. “We solved this by using a combination of Houdini's built-in simulation tools together with bits of custom VEX code.”

11


industry Moritz Schwind

a friend who was building this giant rig out of 64 x 80 DSLR cameras which are used to scan actors, so Seed was kind of a test run for that. We were very lucky actually.” Schwind said that through this often difficult, diplomatic process, he learnt to not be so precious about his own ideas. “I'm not sure if you can say there's an overall vision but it's certainly a very organic vision. On the one hand there is a focus on being able to come up and iterate on your ideas and organically adjust your ideas to the overall

Another stand-out project for the studio this year was their print campaign for Nike, starring Portuguese footballer Cristiano Ronaldo and his branded soccer shoe Mercurial. It was all about ‘explosive supernova power’. “When you're working for Nike the nice thing is that, on the Nike side, you have an art director that speaks the same language as you do. So you figure out the style, the concept, the narration of the piece by just going through piles and piles of style frames.

“A concept keeps you from fumbling around while you’re in the project, which rids you of lots of time and energy”

Moritz Schwind, art director, Aixsponza

idea of the image, of the movie.” Technically speaking, Schwind was mostly using Cinema 4D and he spent most of his time trying to come up with “at least somewhat credible skin shaders”. “It’s really a nightmare when you work in a tool that is not developed for skin shading, which was Octane Render at the time,” he adds. “So you come up with your own shader trees with your shader setups and try to match what human skin is doing, which is the science in its own right. It's amazing. But it can be difficult to match.”

“We try to create the style frames purely in our 3D package; we try not to use excessive Photoshop so we can be sure we are able to reproduce these images in our 3D app, which is kind of important when you're aiming for motion pieces,” he adds. Part of the reason why Schwind has found such success with his work is his ability to make very technical projects artistfriendly. He focuses on concept, working procedurally to ensure the best result in his motion graphics output. “You can get along amazingly well without a concept 12

and I think many people try to, but it just helps to make a plan and to make up your mind,” Schwind says of his creative process. “It keeps you from fumbling around while you're in the project, which can rid you of lots of time and energy which sometimes, you plainly can't afford. When you're not sure where [a project] is heading it can be exhausting. So it's a way to plan ahead and protect yourself from derailing yourself and the project.” And while he doesn’t necessarily have a patterned recipe when it comes to embarking on new projects, he explains that having a fundamental understanding of the concepts and their requirements is key. “When you're working procedurally, you won't be extremely successful when you don't have a grasp of the fundamentals – I truly believe that. The same thing goes for a concept, so if you don't understand where a client is heading with a given project or where they’re coming from, you might misinterpret briefings, you might misinterpret feedback. So I think understanding of the client’s goals on the one hand if we're talking commercial work, or understanding your own goals if we're talking freelance or private projects. The same goes for just understanding the basic principle behind a given technology. It’s really helpful.”


get procedural with houdini Moritz Schwind

The team tried out a number of designs based around the caged structural design of the shoe, before settling on the final look for the campaign

Sowing the Seed

The idea of the Cage 3 footwear providing ‘caged’ total control for tennis players was the key idea behind the design of the shoe, which also fed into the ad development

He also attributes his experience in portrait photography as something that has helped him out along the way. “Photography was one of the most crucial aspects when it comes to my design education,” he explains. “We had a photography course in the second or third semester and it didn't seem like much to us then, but now it's really clear just how much you can learn by examining and executing real-life studio workflow when you've learnt to light things with flashlights or photographic equipment; it makes it so easy to see or light in your 3D render engine and to actually shape a design with light. It was definitely a cornerstone of my design education.” A personal project that Schwind embarked on this year was Entagma – a collection of tutorials, example scenes, tech notes – created by both Schwind and Aixsponza partner Manuel Casasola Merkle. The motivation behind the project was simply pushing themselves to learn something new and to share it with the wider motion graphics community, publishing a new video tutorial every second Monday. “When we started it was kind of hard to find Houdini tutorials that were focused on the design side of things, not purely the effects,” Schwind says. “We wanted to see if there was other people that are interested in this sort of thing.

How Aixsponza turned the abstract into the achievable with this original film

Amazingly it just worked and we're still really blown away by that side of it.” Technologically speaking, Schwind says he can’t pinpoint the best thing he’s learnt, but he does think that since their exploration into the design aspect of Houdini, there has been a more open mind from the community. “I think until about one or two years ago, people tended to use Houdini primarily for the effects, but I think the focus of most people has shifted a bit. We suddenly had designers that are popping up, who hugely relied on this generative art approach, so it kind of became fashionable. More and more people started looking into how to create those types of designs and setups and I think we've just been lucky concerning the timing.” As for whether generative art itself could continue to grow as a trend? “It's difficult to predict the future but I do think there is a big chance this could happen,” Schwind says. While he can’t give anything away about current or forthcoming projects, Schwind sounds excited for his future at both Aixsponza and Entagma. “I can't say too much about anything like that, I'm sorry!” he says, laughing. “I will say, just watch Entagma. We have lots of exciting projects lined up for the new year.” Get access to a variety of useful CG FYI resources at www.entagma.com 13

The first project Schwind worked on with Aixsponza was Seed – a free project with the aim of testing and trying out new ideas and concepts. Schwind worked alongside Ingo Walde on the creative direction and concept, with the team photo-scanning nearly every object. They used Octane and Arnold for rendering, Softimage ICE for a few shots, Houdini for a few others and heaps of Cinema 4D to gets the shells flying and glowing. A bit of World Machine was used for the landscapes, with ZBrush and Modo used for cleanup and retopo. “The challenges lay in combining multiple heterogeneous concepts into one abstract storyline that worked as a whole piece,” he explains. “Technically we spent a lot of time tweaking the skin shaders, which turned out to be difficult as we had to build our shaders from scratch. Also this was the first production that I participated in, that heavily relied on 3D scans as main geometry. A workflow I had to adapt quickly. Turned out it went smoother than expected.” Seed went on to become one of Vimeo’s top pick videos in 2015, and a staff favourite.


tutorials

15 Houdini top tips

discover how to make terrains with houdini on page 19 14


15

get procedural with houdini

15 Houdini top tips

FREE download

of Houdini Apprentice

click here

houdini top tips Industry experts share their Houdini tips and tricks to help you get to grips with the versatile 3D software

B

y utilising a node-based, procedural approach, 3D software Houdini from SideFX provides digital artists with a remarkable level of power, flexibility and control. It’s a complex piece of kit – so much so that you would be hard pushed to find someone who knows everything about it, or who really understands the software and its many features inside out. The majority of Houdini users utilise the software to carry out very specific tasks, with few taking full advantage of its highly extensive toolset and capabilities. That said, in recent times the software has become more artist friendly, so now’s the time to jump right in. So whether you’re completely new to Houdini or just want to hone up on its many features, going back to the basics is often 15

a great way to speed up your workflow or learn about tools that you may not already be hugely familiar with. Over the next few pages, leading artists share their top Houdini tips, including specifics on enhancing your workflow by Chris Rydalch (Blue Sky Studios’ FX technical director), character creation and rigging from Kalin Stoyanov (creative/animation director at Red Ring Entertainment), terrain generation with 3D artist Aron Kamolz and creating a robot with personality by freelancer Philipp von Preuschen.

Download your resources For all the assets you need go to www.bit.ly/vault-231-procedural


tutorials

15 Houdini top tips

Boost your workflow Kicking things off is Blue Sky Studios’ FX Technical Director Chris Rydalch with five top tips to reinforce your workflow

Automatic and Manual update modes 02 Use

01Cut Wires Mode hotkey

This hotkey is an excellent time saver when disconnecting nodes. By default, Y is set up as the key, so hold down Y and drag across network wires to disconnect the nodes. You can edit this to another letter of your choice, though. I've found that when I add X as a hotkey for Cut Wires Mode, I use it much more often. To do this, go to Edit>Hotkeys, then search for Cut Wires Mode. When you click to add X, it will warn you that X is assigned to Visualize Output, so click Remove Other. Only do this if you are happy with this change; since I disconnect nodes much more frequently than I put down visualizers, this works much better for me.

By default, Houdini is set to update (cook) automatically. For small to medium scenes, this is fine. But often production work involves lots of very heavy graphs and simulations. In these cases, it is valuable to switch to Manual cook mode. This will let you make changes to parameters and nodes without having to wait for the nodes to cook and the viewport to refresh. Click the Refresh button to see any changes you've made. Also, you can add hotkey shortcuts to pick which mode. To do this, go to Edit>Hotkeys and search for Update Mode 'Always' and Update Mode 'Never', which are the commands for Automatic and Manual modes, respectively.

03 UVs Along Curves

The UV Texture SOP (Surface Operator) is great for adding UVs along a curve. To do this, set the Texture Type to Rows & Columns and the Attribute Class to Point. Now you can access this in a wrangle using v@uv.x to get the UV value of a point along a curve. This works with multiple curves, and not just one at a time.

16


get procedural with houdini

15 Houdini top tips

04 Compound Bullet Shapes

Houdini Bullet Solver is very fast, and in most cases, the default collision shapes are good enough. When you find you have a lot of concave pieces, and the concave collision shape isn't working, you can generate a special compound collision shape. Compound collision shapes are several distinct pieces, but they are permanently glued together and treated as a single shape. The way this works is you toggle on Create Convex Hull per Set of Connected Primitives under Collisions>Bullet Data on an RBD Object or RBD Fractured Object DOP node. This will tell Houdini to look for the s@name primitive attribute, and all primitive shapes that share the same name attribute will be treated as a single shape.

05 Emit Particles from Fast-Moving Geometry

Often, particles need to be emitted from fast-moving geometry, and it’s not uncommon to find stepping in these cases. Thankfully, the POP Source DOP has some built-in features for these cases under the Birth tab. By default, Jitter Birth Time is set to Positive. I find I get better results by setting it to Negative and setting Interpolate Source to Back. This will interpolate the source geometry backwards in time, and birth the particles along that trajectory. This requires unchanging topology; your source geometry can be translating and deforming, but you can’t have varying point counts.

17


tutorials

15 Houdini top tips

Character creation and rigging Want to create characters in Houdini? Make sure you read these handy tricks from Red Ring Entertainment’s Kalin Stoyanov first

Bone Capture tool 06Biharmonic

Bone Capture Biharmonic is a fantastic tool for a quick character setup. When rigging the amarok werewolf for the Houdini 16 presentation, we decided to use it and were amazed by how well it handled all the usual suspect spots – elbows and knees. The deformations were extremely smooth and behaved properly. It did not need much more weight painting (the most boring type of work in rigging). We just did some final touches and voila!

07 GATOR

GATOR is a great tool for transferring weights and shapes from one object to another, and makes it really easy to add clothes, shoes and additional objects to an already rigged character. In Houdini, such a concept exists in the very core of the software and transferring the attributes was easy as it updates on the fly. 18

08 CHOPS

The biggest reason for me to choose Houdini as a rigging software is CHOPS (channel operators). For those who do not know about CHOPS – imagine the Animation Mixer (XSI) and Animation Tracks (Maya), but better and much more powerful!


get procedural with houdini

15 Houdini top tips

Terrains 3D artist Aron Kamolz specialises in building digital landscapes. Here he shares his top tips for creating terrains in Houdini

Houdini has a wide selection of geometry nodes for generating and shaping terrain

09 Work with the erosion node

When working with the erosion node, I always start with a low terrain resolution for the first erosion step. I do this to get strong, succinct details. Then I increase the terrain erosion, mixing in other details and do another erosion. This way you can get some exponent strong flow/erosion details for basic shaping of your terrain, and then you can add the smaller details on top. This workflow applies not only to the erosion node, but is also valid for the whole terrain generation process. Start low res for the bigger, dominant details and gradually increase the resolution while adding smaller details on top.

11 Mix terrain fractals

To get a more interesting-looking terrain, you should try and mix different HeightField Noise functions. Simply using only a HeightField node and then carrying out an erosion on top looks boring and uninteresting most of the time.

10 Use terraces

Since the erosion washes details away, it's always good to add some terraces before the erosion process, even if you’re aiming for a terrain without a terracing effect. If you use it right you won't see the terracing anymore after the erosion. Instead, your terrain profits from a bit more variety in details, since the terraces slow down the erosion process and give more space for sediments to settle down.

12 Make use of masks

Masks are your friend when working with height field terrains. You have several functions to choose from, such as mask to slope or mask to height. Use them to combine multiple height fields to get interesting-looking terrains. Some nodes also output masks, like the flow mask you get from the erosion node. Use them to texture your terrain. 19


tutorials

15 Houdini top tips

Create characterful robots in Houdini 3D Freelancer Philipp von Preuschen teaches us how to create robots with personality by utilising a Houdini workflow

13 Experiment with Houdini’s features

After my beloved Softimage had been EOL-ed I was looking for a new ‘home’, and I found it in Houdini. In order to get used to the new concepts that Houdini is based on, I started by modelling a few robot busts. I prefer to create robots with some personality. I started off with some sketches; as I knew from the get-go that the robots won’t need to move, I didn’t particularly care about mechanical correctness. The main rule for me in most cases is: it has to look functional, but it does not have to be.

One thing I discovered in Houdini is that it can make a big difference which part of a model gets split into its own Houdini object. Each Houdini object has its own SRT in the scene context. One could, for example, model a piston and then rotate it within its Houdini object, but the piston could also be rotated by the Houdini object that it is located in. Each method has its own pros and cons, and by experimenting and figuring out what to use I found it key when it came to successful mechanical modelling in Houdini.

14 Utilise plugins

15 Texturing

I have recently discovered a great modelling plugin for Houdini: Direct Modeling HDA by Alexey Vanzhula. I used it a lot for my project as it provides a functionality that is similar to Modo’s MeshFusion. It’s great for efficient hard-surface modelling.

I didn’t assign any UVs to my creation, and I used Redshift to render the robots. Its triplanar projection is a superb way to texture almost anything super fast. The other killer texturing aid is the curvature shader, as it makes it easy to give metal some edgewear. • 20


get procedural with houdini

15 Houdini top tips

The YouTuber Arrimus 3D released some nice round mechanical elements for free

es Houdini mak ol it easy to bo to some type in the model

21


tutorials

Simulate a flamethrower in Houdini

FREE download

of Houdini Apprentice

click here

Houdini FX (Indie or Apprentice)

simulate a Flamethrower in Houdini A look at how to create a flamethrower effect in Houdini and a comparison of the results between CPU and OpenCL simulated pyro

Author

I

Tighe Rzankowski An aspiring FX TD and former SideFX and Mill NY FX intern, specialising in technical and procedural visual effects using my primary tool Houdini, from SideFX. vimeo.com/trzanko

n this overview, we’ll discuss how to create a flamethrower and compare the results of the same simulation calculated with and without OpenCL acceleration. We’ll look at some Houdini tips along the way and emphasise what’s most important for achieving this effect. We’ll also take a look at how to render pyro

with some extra steps to get a nice look when compositing, and dive deep into a few custom VEX steps.

Download your resources For all the assets you need go to www.bit.ly/vault-231-procedural

22


get procedural with houdini Simulate a flamethrower in Houdini

Fire Hydrant What might be considered a fire fighter’s worst nightmare ended up a pretty interesting FX challenge

23


tutorials

Simulate a flamethrower in Houdini

02

01

01 Start with a model

You’ll need some geometry to get started. An animated disk will work well. You can animate it with a transform node by hand or with some expressions like:

sin($T*25) * 4 A fire hydrant modelled in Houdini with an animated hose from a wire simulation will also do.

02 Create Particle Source Isolate a piece of geometry at the end of the nozzle or use your animated disk. Scatter points on it and make sure they inherit normals. Then, put down a Trail SOP and set it to velocity. This creates a vector attribute representing the velocity of the particles. In a Wrangle node, linearly interpolate between the negated velocity and the primitive normal by a random amount for

03

Start small Always start small when working with pyro and make sure your forces are working as desired on a small-scale sim, like a sphere for example, before integrating it into your large sim.

each point to vary this vector, which we’ll use to influence our particle simulation. The code for this is:

v@v = lerp(-v@v,@N,fit(rand(@ptnum * @Frame), 0,1,ch(“minVariance”),ch(“maxVariance”)));

03 Particle Sim

Set up a simple popnet with our geo as the source. To make the sim smoother go to popobject>Birth tab. At the bottom, there are a few menus for choosing the interpolation type for sourcing. Set it to interpolate backwards. The source is now interpolating between frames. Add a few POP Force nodes to add noise and vary by age to give the particles some more movement.

04 Particle Sim Tweaks

One of the more important steps – this is where we’ll shape the

04 24

particles which will, in turn, shape our source volume. Let’s create a density ramp by age, so in a wrangle we’ll type:

@ageRamp = chramp(“ageRamp”,fit(@ age,0,ch(“ageMax”),0,1)); This will give us a ramp, which we can then manipulate by changing the ageMax parameters we created. To visualise and optimise, we need to add another line:

05a


get procedural with houdini Simulate a flamethrower in Houdini

@Cd = @ageRamp; To optimise, we’ll delete particles older than our max age. We can do this with:

if(@age > ageMax) { removepoint(0,@ptnum); }

Roll Your Own Blur 05 Motion

This step may seem a little tricky, but is one that really helps to fill the gaps between the particles between frames. We’ll be explicitly creating motion blur geometry to get the resolution we need for smooth streaks. At the core of this step, we’re creating points between where the point was at the last frame and where it is now. We’ll add a ramp to vary density along these streaks. If you copy this code (see image) into a wrangle and hit the add parameter button to the right of the code box, you will get immediate results after setting the parameters.

06 Create a Source Volume Creating a source volume from our particles is relatively straightforward thanks to the Fluid Source node. Put one down and in Container Settings set the Initialize dropdown to Source Fuel. Then, in the Scalar Volumes tab, make sure Method is set to Stamp Points. For the most part, this should do, but if your volume is still very sparse you can go to the Stamp Points tab and adjust the Sample Distance.

Greater speed To get an even faster preview, try lowering the resolution of the render as a whole. As the project progresses, increase the resolution until you have the detail you need.

07 Source Advection

To get extra wispy details in the source volume, use a Volume VOP to advect the fuel and temperature. This is a very deconstructed version of Houdini’s built-in cloud tools. We’re adding volume noise similarly to how you’d add noise to geometry in an Attribute VOP. For our purposes this will work better than cloud tools.

05b

25

Setting up bounding boxes for a pyro simulation is very important to ensure the simulation resizes properly and doesn’t exceed limits. We’ll need an initial (init), tracking and max bbox (bounding box). Init bbox is the bbox at simulation start frame, tracking is the bbox as the source animates and max is the maximum bounds of the region where the pyro will simulate. The max bounds is very important; to get an idea of the space the source occupies over time do a few time shifts and then create a max bbox around that.

09 Pyro Sim

Copy an initial pyro dopnet from the shelf tool to get started. To set up our bboxes, in the smoke object change parameters so that they point to the centroid and bounds of the initial bbox. Also, set

06a

06b

08 Bounding Boxes


tutorials

Simulate a flamethrower in Houdini

07 up tracking and max bounds with a gas resize dynamic. This should be enough to hit play and see the pyro simulate for the first time. Next is shaping the look with micro solvers and combustion settings. Make sure to start at low resolutions and get the general shaping right, then bump up the resolution as you continue to hone in on the look. If your source is moving really fast and you’re experiencing stepping artifacts, try increasing the FPS of your scene. Tip: Keep in mind that the viewport downsamples all volumes to a max resolution of 256x256x256 by default, so if your volume is higher than this, it’s better to look at renders to gauge the look.

10 Pyro Shading

Houdini’s pyro shader is all you’ll need as far as a material is concerned. The default parameters will give you a good start, but for the most part you’ll want to make some changes. Using ramps to yield non-linear lookups can create visual interest. Density of smoke plays a big role in getting a nice contrast.

08 Preview first Renders are the best way to preview how your pyro is going to look. It’s important to render very low-quality renders to get a sense of how it looks before committing the time to rendering out high-resolution and quality renders.

09 fire hydrant’s texture was done by Daniel Siriste.

12 Render Passes

It’s good practice to render out passes, as this gives more control when compositing. The passes rendered out for the pyro were the emission pass and the direct lighting pass for each light.

13 Compositing

Rarely will you get exactly the look you want in the shader, especially if you’re looking for some secondary effects like glow. I would recommend doing some colour correction, giving the highlights and shadows some contrast and balancing out the hues and saturation. To achieve a nice glow, isolate the highlights, do a few blurs of varying strength for a nice falloff and add them to the image.

11 Light the Fire

Pyro is self illuminating which means the fire is highly dependent on the shading, but lighting is also very important too. You’ll notice the effect of lighting on the smoke more than the pyro. The scene was lit with area lights primarily from the side, perpendicular to the camera. These lights add detail to smoke because the self-shadows become more pronounced. We’ll also add a rim, fill and environment light. The

10 26

14 GPU OpenCL vs CPU Pyro

To understand the difference between a CPU and OpenCL simulation, two separate sims with exactly the same settings, shading and post-processing were created. In the comparison images, CPU is on the left and OpenCL on the right. The look is relatively similar but OpenCL looks a bit cleaner and less noisy than CPU. OpenCL is estimated to be two to three times faster than the CPU simulation. The GPU used was the AMD FirePro W9100 (big thanks to AMD for their support in this project!), 32GB of RAM and an Intel i7-3770 at 3.4GHz. Bear in mind VRAM plays a big part in the size of simulation you’re able to create with OpenCL. You can calculate OpenCL simulations with just a CPU and it will look the same as OpenCL on a GPU, it will just take longer than on a GPU.


get procedural with houdini Simulate a flamethrower in Houdini

Comparing processor types demonstrates the differences between CPU and GPU

14a

14b 27


industry

SideFX’s driving force

Company SideFX founded 1987

SideFX: Did You Know? As with any place where you work, it’s the people who make it unique. Here are some fun facts about SideFX! • One of the developers has a fairly fancy setup as a keyboard. It is unlike anything most people have ever seen and even has foot pedal controls (Kinesis Advantage2). Another uses the Dvorak keyboard layout. • There are three yearly internal image contests that take place and the prizes range from Pixar teapots, 3D printed characters and internal build splash screens (some images get very tasteful, use your imagination). • Thursday nights are reserved for D&D sessions, president included!

28


get procedural with houdini SideFX’s driving force

industry insight

SideFX’s driving force What keeps a privately owned company inspired to keep developing Houdini 3D software after more than 30 years? ideFX is the Toronto-based, Academy Award-winning developer of Houdini software – a 3D application best known as the tool of choice for visual effects in film, television, commercials and video games. If you see CG fire, smoke, destruction, explosions, ethereal dust, water/fluids, sand and crowds, there’s a very good chance the 3D artists used Houdini. Houdini is used in other capacities too – like fur and grooming, character animation, terrain-creation, lighting and rendering, and custom tool-making that comes in the form of vegetation, city-building, asset-scattering and much more.

S

THE EARLY YEARS

FREE download

of Houdini Apprentice

click here

SideFX has been developing 3D software for over 30 years. Houdini was launched at the 1996 SIGGRAPH conference, but started life in 1987 as a package called PRISMS. PRISMS was born on the production floor at Omnibus in Toronto, Canada, where SideFX co-founders Kim Davidson and Greg Hermanovic were working on computer animation and motion graphics projects for clients. As each project would begin, they would use the computer to create geometry, animate and render directly to tape. In a paper notebook, they would record each step taken to create the shot and all the settings used to get the desired results. When they showed the work to their clients who, inevitably, asked for changes, they would have to go back and rebuild the work to make the changes. They soon had a eureka moment and realised that the steps and settings listed in their notebooks could be recorded on the computer. From this idea PRISMS, their first generation of content creation software, was born. Now when a client asked for a change,

they could go to the appropriate step in the process, adjust a parameter and output the results. Over time, this evolved into a much more sophisticated solution with (potentially very large) networks of nodes – which can always be edited at any time. The director could ask for more changes and they could finish in the same amount of time. This was – and still is – the core principle of ‘proceduralism’. This is how Houdini artists are able to creatively iterate in a non-destructive workflow. Soon after the launch at SIGGRAPH in 1996, the smart CG artists in Hollywood picked up on Houdini’s capabilities and started using it for VFX in blockbuster films – and in the past ten years Houdini’s appeal has broadened to other users, such as TV and advertising production teams, video game developers, plus other sectors such as scientific and architectural visualisation.

SIDEFX TODAY Kim Davidson still helms the team at SideFX, while Greg Hermanovic went on to focus on real-time projects and rich user experiences (think Amon Tobin’s ISAM) and created his own company – called Derivative, which makes TouchDesigner – to pursue that direction. SideFX is still a proudly independently owned company, which allows its leaders to focus on the artists who use Houdini, and the team who develops it – rather than stock investors who demand profit metrics on a quarterly basis. This allows for longer-term planning and development roadmaps.

DEVELOPMENT COMPASS Building great features into the software is key, but time and resources are always limited – so how does SideFX decide which features get worked on and finished first?

“Watching an artist closely to see what they’re trying to accomplish helps us find solutions within Houdini to help them accomplish their tasks in the simplest possible way” Kim Davidson, president of SideFX 29


industry

SideFX’s driving force

From the early days to today, “Customers help us prioritise. We have strong and ongoing relationships with our users, and prioritise based on an assessment of effort and how critical the features are. If that sounds simple, it’s not – it requires an ongoing balance to make sure the dev team is working on the most important items,” explains Kim Davidson, president of SideFX. “Ultimately the best way to improve the tool is seeing an artist at work. Watching closely to see what they’re trying to accomplish helps us find solutions within Houdini to help them accomplish their tasks in the simplest possible way.” While Kim no longer writes code, Mark Elendt – the first developer hired at SideFX many years ago – still commits to the daily builds. When asked what drives the development of Houdini, Mark immediately responds, “Passion for enabling clients to

Time Machine: PRISMS New to Houdini? See its precursor, PRISMS. Taking a look at the PRISMS UI is not only about the retro fun factor. It’s also an opportunity to observe the original software logic and workflow, and see how those aspects inspired the various elements in Houdini. You’ll see the origins of the Geometry Spreadsheet, Mantra ROP, Material Palette, and COPs! See if you can spot the memory allocation and give your computer a hug.

Use existing shaders in the Lava Palette and edit your shader controls. You can see where the Material Palette in Houdini draws its roots from

“We work closely with clients, so we know and sympathise with the problems they have” Mark Elendt, developer, SideFX

make extraordinary art.” Reinforcing Kim’s comments on client feedback, Mark says, “We work closely with clients, so we know and sympathise with the problems they have. There is a very thin layer between us; they are not hesitant to talk to us, because we are responsive and help them.”

Make small changes to your geometry shader settings, change the specular colour output, and see the lights in your scene

Here you can see the orthographic views for making adjustments to your model; you can also see the vertex number of your selection!

This Render Dialog window lets you set the output of your animation sequence. Today in Houdini, this is the Mantra ROP

Here is COPs – still in Houdini today. COPs enables you to composite elements (images, text) and modify them with other nodes, layering the final results

LEARNING HOUDINI In the early days of Houdini’s evolution, functionality was prioritised over new user experience (we’re probably grossly understating this!), and Houdini developed a well-entrenched reputation for having a ‘steep learning curve’. Starting about ten years ago, optimising user experience has become an ongoing priority. It’s still a big, powerful application that takes years to master, but it’s much more approachable and accessible than in the old days, and these days learning Houdini is no different than learning any other application – you start with the basics and grow from there. Today – with thousands of new artists discovering Houdini each year – Houdini is rapidly shedding its under-the-radar niche status, and becoming a well-known and widely adopted 3D platform. So what drives SideFX? In summary, it’s the original company DNA, the love of art and solving problems, using computers to make art, and working closely with clients! Find out more about SideFX at FYI www.sidefx.com

30


31


feature

Š Media Rights Capital / Sony Pictures

Proceduralism in practice

In The Dark Tower, the same digital asset could be altered to make the blasts look different each time

32


get procedural with houdini Proceduralism in practice

Proceduralism in practice Go hands-on with visual effects studio RISE FX and their approach to procedural workflows in two recent killer projects ou may have heard a lot about using procedural workflows in modelling, animation and effects. But what does working procedurally actually mean, and what are the reasons behind using procedural tools? 3D World dives directly into this area with visual effects artists Andreas Giesen and Simon Ohler from RISE FX in Germany, a studio that relies heavily on Houdini and its procedural workflow approach. Two recent projects, the film The Dark Tower and the TV series Babylon Berlin, serve as case studies.

Y

What is a procedural workflow? One way to think about a procedural workflow is as a system that enables an artist to change only very few inputs in order to push multiple changes throughout. This might be to a single model, an entire city or animation scene, thus making it easier to make changes and to do ongoing iterations. “You can use these possibilities for areas like modelling, texturing, shading

and even animation,” outlines Giesen, an FX supervisor at RISE FX. “Especially these days where the amount of content that is expected to be created is so huge. An example would be a procedural city, with modular buildings, cars driving around and simulated crowd. That’s why in my opinion it’s not only an option, it’s necessary to create the content that’s needed in a reasonable time and budget.” Houdini is perhaps the most well-known ‘procedural’ software tool with its nodebased approach, but Maya and 3ds Max, for example, also incorporate procedural

of Houdini Apprentice

click here “So a procedural approach was obvious,” states Giesen, referring to the gun blast work. “But we used it to also shade, light and render several set extensions and environments like big rocks and canyons. As the main sequence we worked on was a shoot-out we did all the simulation work in Houdini, which involved mostly rigid body simulations and pyro. In one shot a column gets destroyed and here we used a combination of VDB fracturing for highly detailed pieces and Voronoi fracturing to get fast and clean simulation geometry. As there were several columns to destroy we built a

“There is really no alternative to working procedurally when it comes to FX work, but also many other areas” Simon Ohler, Senior Pipeline Developer, RISE FX workflows. RISE FX is somewhat of a procedural ‘evangelist’ of a studio, and artists there often talk of never going back once they begin to work procedurally. “One experience that is shared by many Houdini artists I talk to, me included, is that it can be quite hard to get started,” admits Simon Ohler, who is a senior pipeline developer at RISE FX. “Working procedurally surely is different to the concepts we got used to over the years, but once you get the hang of it, there is really no going back. There is really no alternative to working procedurally when it comes to FX work, but also many other areas like modelling, shading and even animation can benefit greatly from going procedural.”

In action: The Dark Tower

Director Nikolaj Arcel with actors Tom Taylor and Idris Elba on the set of The Dark Tower, preparing to film a VFX scene

FREE download

For Nikolaj Arcel’s The Dark Tower, the studio relied on Houdini for effects, lighting, shading and rendering work. One of their main tasks was creating a gun blast asset for the main character Roland (Idris Elba). 33

procedural system, so we could define the impact points and timing, and then the setup did the rest.” The gun blast shots, of which there were more than 30, might normally have been achieved via a Houdini simulation for every single shot. That would have been an extremely time-consuming task, so RISE FX decided to create a digital asset in Houdini which the lighting artist could then use to render the gun blast. “The first step was to create convincing caches, so we took a look at references and matched the look to real gun blast footage,” explains Giesen. “Then we created several variations for different wind directions and speeds. As for every shot we had a roto-mated gun with Roland’s hand, the asset automatically loaded the animation exported from Maya and the only thing the lighting artist had to do was to define the shooting frame. “Then the finger, trigger and cylinder animations were done procedurally in


feature

Proceduralism in practice

the asset with CHOPs,” continues Giesen, “shifted to the correct frame and also triggered the cache and light blast. The Mantra render-outs were already placed in the asset as well. So basically it took one minute for the lighting artist to drop down the asset, define the blast frames, choose a cache and hit the render button. That’s a perfect example of how it’s possible to use Houdini digital assets to improve the workflow dramatically.” With Houdini a major part of RISE FX’s pipeline, the gun blast was not the only aspect of the visual effects work for The Dark Tower for which the studio relied on a procedural workflow. “If we need to quickly generate huge and complex environments, taking a procedural approach can often save days or even weeks of work,” describes Ohler. “We generally use it for scattering vegetation, generating roof structures, city elements, cliff walls or just recently a whole canyon environment. The canyon environment in the film, for example, which is used in over 50 shots, was basically built by Andreas alone, and could then, if required, easily be adjusted per shot by only two other artists.”

Crafting a city: Babylon Berlin RISE FX’s latest project, Babylon Berlin, is a TV series set in the German capital between 1929 and 1934. The studio needed to re-create large parts of the city, complete with cars, vegetation and crowds. Building assets were constructed and re-used for different scenes, while RISE also relied on a proprietary tool called Packed Scatter inside Houdini to realise elements such as cobblestones and vegetation. “With this tool the artist can ‘paint’ plants or other objects,” says Giesen, “and as they are all packed geometry, even with hundreds of thousands of assets it is still very render efficient. “Another procedural tool we used here that was originally built for The Man from U.N.C.L.E. is called Roofie,” adds Giesen. “It creates automatic roof tiles for whole house sets. Additionally, there were several effects tasks like explosions, clouds, water simulations and crowds. Because of a long sequence with a plane flying through a thunderstorm, we developed a procedural tool which allows us to create huge cloudscapes in minutes.” The crowd system was perhaps the most relevant example of taking advantage of a procedural workflow, especially because it also dealt with cloth simulation for the clothing worn by the digital people. RISE FX artists began by building several Houdini digital assets to set up the crowd. Says Giesen: “We have our own agent container where all the layers of the agent

“We developed a procedural tool which allows us to create huge cloudscapes in minutes” Andreas Giesen, FX Supervisor, RISE FX get set up automatically, based on a naming convention exported from Maya, and here the artist also defines the settings which will be used later on for the cloth simulation. Then we have a tool to manage all the animation clips and actions and behaviours, which stores them in a database. A custom crowd source uses this database to choose the agents, and there you can also weight actions, like walking, running and idles.” Then, based on the database, the crowd source ‘knew’ which agent could use which action. A corresponding call was also made to a layer of rendering that might add a bag or other item as a prop to the character. “To get as much variety as possible we also have different clothing variations which will be selected randomly,” notes Giesen. “For colour variations we use stylesheets to choose from a specific colour palette.” RISE FX established an Agent Cloth Simulation digital asset, which could then be used in all the shots. “This asset,” says Giesen, “processes every agent individually based on the predefined attributes like stiffness, thickness and more. The advantage of using this procedural setup is that every agent can be simulated in a separate job on the farm and not all the agents get simulated in one huge job. So if you have 120 agents and every agent takes 20 minutes to simulate, with enough free nodes you have the finished simulation in 20 minutes, which then gets loaded as packed primitives which is also very render efficient. To make it artist friendly to control the distribution there are Houdini digital assets to paint the placement and to set zones for specific actions. The crowd simulation itself is pretty fast, even with thousands of agents. For collision avoidance and natural behaviour, we use fuzzy logic.”

Making procedural work for you Following a procedural workflow is possible not just in high-end TV and film effects work, but also for smaller shows or personal projects. Indeed, Giesen recommends starting with something simple when learning this approach in Houdini. “I don’t mean that you shouldn’t build complex setups,” he says. “What I’m referring to is that Houdini offers so many possibilities, that not always the first idea might be the best one – there is always a way to improve a setup. Also, people tend to go way more complex than is needed. For me an effective setup is the one which has the fewest nodes to achieve the desired effect.” 34


get procedural with houdini Proceduralism in practice

Below left: RISE FX’s crowd shots for Babylon Berlin were realised in Houdini and composited into liveaction plates

Below: A clay render and final shot for Babylon Berlin, which required re-creating the German capital and developing a crowd system

Bottom: Approaching these canyon environment shots for The Dark Tower meant views of the canyon could be tailored from shot to shot

Houdini in the studio Simon Ohler runs through how an asset modelled in Maya moves through to simulation and rendering in Houdini via a procedural workflow at his studio 1. When a model gets published in Maya we automatically create a Houdini surface asset, so the shading artist can immediately start creating and assigning materials in Houdini. 2. Materials are assigned as a SOP attribute, where we use procedural wild-card assignment that references material tags predefined in Maya (*metal*,*wood*). Each material can contain an arbitrary number of layered RISE shaders, a heavily customised version of SideFX’s Classic Shader. 3. Before publishing a surface asset, the artist can also assign custom split attributes which will be used to split the asset into several objectlevel nodes for easier separation into different render layers. All this is done in a special HDA (Houdini Digital Asset) we call the ‘asset container.’ This HDA is embedded in the HIP file. When the asset gets published in Houdini, we save the asset definition to a versioned OTL file on disk, which can be installed into other Houdini scenes. This workflow enables us to go back to previously published versions of the asset at any time. 4. If an asset has to be simulated, like a pillar being smashed, we install the published surface asset into a new Houdini scene. For handling geometry IO we have customised versions of fileand rop-nodes to read geometry and send simulations to the farm. Using these nodes, we can chain up several rops and file nodes to build more complex dependency networks that can all be sent to the farm at once. 5. If we want to pass the cached simulation along to lighting, we create a ‘render package’ HDA, which is also an embedded HDA, much similar to the previously mentioned asset container. Here the FX artist will add the file nodes he or she wants to publish and, if shaders have been created in the FX scene, will also add them to the package.

35


feature

Proceduralism in practice

Get your head around a procedural workflow SideFX’s John Moncrief has these tips for understanding the how and why of a procedural workflow in Houdini, via a proposed ‘window maker’ tool as part of building a skyscraper ou should think of a procedural workflow as a set of inputs driving multiple possible outcomes. It’s a system of instructions rather than a result. In this way Houdini becomes a ‘tool building tool’ rather than just a modelling, animation or simulation tool. For example, let’s say you are creating a skyscraper and you need to create 1,000 windows of varying widths and heights to go into this large building. Since all the windows are in the same building, they more than likely will all be of the same basic design style. So, instead of painstakingly modelling 1,000 windows (one for each hole in the wall of the building), why not make a Window Maker Tool for this task?

Y

01 Inputs for your window

The input to the tool could be the width and height of the desired window. The tool (your procedural system) will take that information and generate a window with the specific number of window panes needed. For example, each pane of glass can be no larger than two metres in height and three metres in width. For the first hole in the wall the window needs to be six metres by six metres, so we use our Window Maker Tool to draw two ‘input’ curves, one for height, and one for width.

02 Snapping points

With snapping on, just snap the first and last points of the curve to the righthand side of the window. To find out how 36

many window panes to generate, all the system needs to do is divide the input height and width by the maximum size a window pane can be.

03 Use the arclen() expression

For this example, we use the arclen() expression to measure the length of the curve we just snapped into place to find out that our hole is six metres tall.

04 Divide the height curve

We use the value on our Control node to set the maximum height of a single window pane to two metres. Now six divided by two is three; we need three window panes, so we divide the height curve into three segments.


get procedural with houdini Proceduralism in practice

01

02

03

04

05

06

05 Give the window depth

The same theory applies for the width. After you have the width and height curve segmented properly and skinned, it’s just a matter of using a couple of extrudes to give the window depth. Once the system/ tool is built you can apply it to any hole in the wall that needs a window. Draw two simple curves, and it will create the needed window panes to fill it! Houdini makes its procedural nature portable by enabling you to build a procedural system, create a simple user interface, save that system to disk, and use it in another 3D application.

06 Adjustments & directability

Suppose your art director wants something changed with the windows; say

that the maximum size for a window pane can now be four metres in height. Since you built a procedural tool based on a simple set of instructions, all you must do now is make one adjustment. Just tell the system that the max height is now three metres and it will push the change to all 1,000 windows. In our first system, we had one of the 1,000 holes in the wall that needed a six-metretall window, and our max window pane height was 2. 6 / 2 = 3. Now if that changes the max height of a window pane can now be 3. 6 / 3 = 2. The system will generate two window panes at three metres tall instead of three window panes two metres tall. Because you used the procedural system, this one change (the max height of the window pane) is replicated in 37

every use of the tool (every window hole, regardless of its size). So no matter if the hole in the wall was six metres tall (two window panes, three metres in height), or 27 metres tall (nine window panes, three metres in height), or 300 metres tall (100 window panes, three metres in height), it doesn’t matter, you don’t have to do any remodelling – just update the system with the new instructions. •

Author

SideFX’s John Moncrief John is the Education Training Lead at SideFX. Previously, he was the resident Houdini Dynamics instructor and curriculum manager at Pluralsight Creative. www.pluralsight.com


38


Issuu converts static files into: digital portfolios, online yearbooks, online catalogs, digital photo albums and more. Sign up and create your flipbook.