Log into your account to keep track of your progress. You can work through the lessons without logging in but your progress will be lost when you refresh the page.

TOTAL DURATION: 1h 20m 5s

One of the things that makes visual effects fun is that you get to blow things up without causing any real damage. In this lesson, you will light a fuse using particle sparks then explode a cartoon bomb using rigid body dynamics for the shell of the bomb and Pyro FX for the fire and smoke. This lesson will teach you how to set up dynamic simulations using a variety of shelf tools and network nodes.

To give you a complete understanding of the shot being developed, you will build all the elements from scratch, then simulate the effects. This will help you understand how the simulation nodes work within the wider context of a Houdini scene. In the end, you will render out the shot using the Karma renderer.

The complete Houdini Foundations for Houdini 19.5 is also available as Downloadable PDF and a Print-on-Demand book through the Lulu Ebook company. This 224 page book contains 9 chapters designed to help artists take their first steps into Houdini.

Research for this lesson by Michael Buckley

A quick overview of all the different parts of the Destruction FX lesson. Take a look at all the steps you will take to complete the project.
To create the bomb geometry, start with a primitive sphere and modify it to define the opening at the top. This will involve a few poly extrudes and bevels to define the geometry you will need for the final shape. Later in the lesson, you will fracture the bomb.
To create the Fuse, start with a Bezier curve that emerges from the top of the bomb. You can then snake the curve on the ground to create a longer fuse. Reverse the curve direction to get ready for animating the fuse then add a Polywire node to give the fuse thickness.
Animate the fuse using a Carve node that lets you control the length of the curve over time. Add a round cap to the fuse that will be used to emit soot and sparks. You need to set up tangents on the curve to ensure that the cap follows along properly. Next add some NULL objects to make it easier to export the cap for use in emitting particles.
As you develop this shot further, it would be helpful to have a camera set up to frame the final shot. This camera rig will be built by constraining a null object to a curve then using an aim constraint to point the camera to the null object. This will give you a camera that follows the end of the fuse to make it easier to evaluate the particles as they are being emitted.
To create a soot trail, use the end cap to emit a trail of particles. Learn how to emit these points properly and how to add forces such as gravity to control the motion of the particles. Learn how to set up collisions where the particles either stick to the ground or slide off the bomb surface.
To create sparks, start by copying the soot particle object and make changes to the new object to generate sparks. These particles will have shorter lifespan and will be more active. The Spark Trail node will give you the look you need to add sparks to the shot. You can adjust parameters on this node to get the look you need.
For the bomb geometry, a rigid body dynamics simulation will be needed. Start by fracturing the geometry then adding attributes that will create an explosion. You can then control the speed of the moving parts to art direct the look. Once the simulation is ready, you will cache out the geometry to work more efficiently as you move on to the PyroFX stage.
As the bomb explodes there needs to be an accompanying fireball. You will start with a Simple Fireball that works on the GPU then make changes to create a look that works for the shot. You can also incorporate the parts of the exploding bomb to push and influence the PyroFX volume in interesting ways.
To set up the shot for rendering, you need to export the geometry to USD files that can be referenced into the Solaris context. While you could import the geometry directly, having it cached out as USD will allow you to lock down your sequences then focus on lighting and rendering in Solaris. For some of these objects, you will add UVs before exporting to prep for texturing.
Learn how to reference all of the USD files into Solaris then import the camera from the object level. Apply materials to all the elements and start rendering with Karma to evaluate the results. Learn how to add a key light and prepare render settings to explore the final look of the shot.
To complete the shot, add the fireball USD file then assign the proper material. Next, you will set up another camera to create a wide angle shot of the explosion and then render out the two sequences to achieve the final sequence. You can then preview the results using the Mplay image viewer.

CREATED BY

rmagee
ROBERT MAGEE

Robert Magee is a Senior Product Marketing Manager at SideFX who has been working with Houdini for 20 years. He has created lots of learning material and demos designed to help artists understand how going procedural with Houdini can benefit their work.

More from Robert Magee

COMMENTS

  • sdugaro 2 years, 7 months ago  | 

    Nice one! Thanks.

    • PolyMarvels 2 years, 7 months ago  | 

      Robert, great series as always, thank you.

      • SerjKirchano 2 years, 7 months ago  | 

        Thanks! Clarifies a lot of details indeed

        • bharath453 2 years, 5 months ago  | 

          Hi, i need some help, if i click polybevel in houdini, it shows fatal error and get crash. What is the solution for this problem

          • jjin10688 1 year, 9 months ago  | 

            It might be because your pc doesn't use high detail if it is not a high-end PC.

          • spyco59 2 years, 5 months ago  | 

            Thanks Robert! Really appreciate having a PDF file to follow along! :)

            • luoyuepo 2 years, 3 months ago  | 

              And there is something wrong with the PDF file.

              On the Page 21, paragraph 2. The expression should be
              “ Set the Prune parameter to
              $F >200. After the expoding_bomb node, add another Prune LOP.
              Set the Prune parameter to $F <199."

              I did just just like the PDF said,and the bomb became invisible all along in the timeline.

              Hope you can fix this soon.And thank you for all the nice tutorials!

              • zengyuanelsie1 1 year, 10 months ago  | 

                I had the same problem and solved it with this:

                prune>primitive pattern>input last modified primitives

                • JoeRan 1 year, 10 months ago  | 

                  i had the same problem! thank you!

                  • AbhishekDhiman 1 year, 7 months ago  | 

                    input last modified primitives
                    thank you

                  • HArrCorr 1 year, 3 months ago  | 

                    thx, had the same problem,

                • dimitridev 2 years, 3 months ago  | 

                  thank you, great lesson!

                  • khyathikkrishna1223 2 years, 2 months ago  | 

                    it was a very good one, learned a lot. thanks

                    • dhuiting 1 year, 11 months ago  | 

                      Hi! I noticed the orient along curve works while we are on the construction plane (from 0-142) but at frame 143 when the cap starts rising up toward the bomb, it gets slightly off from the poly wire. It's close but not exactly on. Why is this?

                      • JoeRan 1 year, 10 months ago  | 

                        Unfortunately I'm stuck in the last step (number 11 - Render pyro fx)
                        Despite having 40 GB of RAM on the PC, the computer does not hold up!
                        Crash at the exact moment I enter the pyro effect usd.

                        • jjin10688 1 year, 9 months ago  | 

                          simple fire ball is not working help

                          • rmagee 1 year, 9 months ago  | 

                            Did you change the start frame to 200 and the Frame Range to 200-240? - Part 8 steps 1 and 2

                          • Dohesh 1 year, 8 months ago  | 

                            my file is exporting in usdnc how can i save in USD

                            • shung1021 1 year, 8 months ago  | 

                              when you try to bring in the USD in the reference node, there should be a drop down menu on the lower right hand corner that says "*.usd, *usda.... etc.," change that to just "*" and you should be able to see your USDNC files

                              • Dohesh 1 year, 8 months ago  | 

                                i also tried this method and its showing usdnc files but there is 1 error and the error is
                                "Unable to find layer file: 1/Houdini/Destructtion"

                                • AbhishekDhiman 1 year, 7 months ago  | 

                                  Thank you

                                • shung1021 1 year, 8 months ago  | 

                                  i assume the NC in USDNC simply means Non Commercial

                                • shung1021 1 year, 8 months ago  | 

                                  Thank you so much for this tutorial Robert! This tutorial helped me so much in getting started in Houdini!

                                  • jc.kumar.1002 1 year, 7 months ago  | 

                                    can you please help me with this?
                                    i am not finding Attribute adjust vector

                                    • fantasio 1 year, 6 months ago  | 

                                      Hi, I got an error when selecting Simple Fracture for the bomb. The network nodes are created but there's an error saying:
                                      "Error: Invalid source/obj/bomb_geo_fracture/rbdmaterialfracture/init_opencl"
                                      Anybody has an idea what's happening?
                                      Thanks a lot

                                      • fantasio 1 year, 6 months ago  | 

                                        I've change the Preferences of OpenCL Device from GPU to CPU and it seems to work.

                                        • taku5842 1 year, 5 months ago  | 

                                          Hi, I have a question.
                                          In part 6, the spark effect is output in the opposite direction (traveling direction), is there a solution?

                                          • natrianvfx 1 year, 5 months ago  | 

                                            Great tutorial. I had a lot of fun following this videos. Fx destruction is really fun!

                                            • Protozoaire 1 year, 5 months ago  | 

                                              Where are the tutorial scenes please?

                                              • rmagee 1 year, 5 months ago  | 

                                                This lesson is designed to be built from scratch.

                                              • enzo.nhr 1 year, 4 months ago  | 

                                                My popnet create particules in the wrong direction, as if the particules were created inside the sphere, not outside, which cause the soot trail to go the opposite direction it supposed to be :(

                                                • Kucheryat 1 year, 3 months ago  | 

                                                  you should try change scale-time in popnet node to about 0.20. that helped me

                                                  • Crazy_Chintu 1 year ago  | 

                                                    thank you.
                                                    It helped.....

                                                  • LukeP 1 year, 4 months ago  | 

                                                    Overall comments about this book and this training. I think it's a good example of how things should not be written and examplifies problems with Houdini documentation. For me at least. I'm sure others' opinion will be different. That doesn't mean that it wasn't useful. You can still learn Houdini from it, but it's supposed to be a Foundations book, right? Meaning that the focus should be on explaining core concepts. Something that MOEEN SAYED does really really well. Lets take tutorials in this book. There's very little explaination. Do this, set this, type this, without explainations is not helpful. Neither is going from basic concepts to some advanced ones. Again, perfect example of what needs to change wrt to Houdini documentation.

                                                    • rmagee 1 year, 4 months ago  | 

                                                      Thanks for the feedback. The goal of this book/tutorial series was to help artists build muscle memory and learn how to accomplish day-to-day tasks as they get through their first few projects in Houdini - this will lead to questions that they can begin to explore using other learning materials. In fact, we commission Mooen to make tutorials for us to add that other layer. So in the case of this book, Foundation means getting comfortable with the software and touch as much of it as possible rather than diving into core concepts.

                                                    • Kucheryat 1 year, 3 months ago  | 

                                                      Hi, i need help on step 5. Problem started after adding attribute transfer. Particles are not going in direction of the fuse. All steps before are working correctly. What should i do?

                                                      • Kucheryat 1 year, 3 months ago  | 

                                                        oh, sorry, i found the problem

                                                      • Peps 1 year, 1 month ago  | 

                                                        hola buen dia, tengo un problema en la leccion 11
                                                        dice asi
                                                        576 fatal error Segmentacion faul crash log saved to
                                                        C /Users/Usuario/Appdata/ Local/ Temp /houdini_temp/crash.destruction_11a.usuario_576_log.txt

                                                        alguien podria ayudarme, gracias

                                                        • dhruvthole2609 1 year ago  | 

                                                          Hi, I need help. When I used simple Fracture, the bomb just rolls over the ground instead of blasting.

                                                          • Kaylinnb 1 month, 3 weeks ago  | 

                                                            I am having tthe same issue. Have you had any luck fixing it?

                                                            • Kaylinnb 1 month, 3 weeks ago  | 

                                                              I've managed to fix it! In the rbdmaterialfracture node, under contraints, either delete the glue constraint name, or lower the primary strength

                                                          • lowrid3r7 1 year ago  | 

                                                            Hi! I had the same problem. In the rbdmaterialfracture node delete the Glue from Glue Constraint Name.

                                                            • Fernando_Criativo3d 8 months, 3 weeks ago  | 

                                                              Thank you!

                                                            • planimation 12 months ago  | 

                                                              On Video 5) at 6:20 I put in the code $F >199 but my partials don't die after frame 199 anyone know what the issue is, cheers!

                                                              • planimation 12 months ago  | 

                                                                Solve it! i forgot to click Enable in the V Expression

                                                              • planimation 12 months ago  | 

                                                                anyone know why my sparks are going through the floor? video 06?

                                                                • planimation 12 months ago  | 

                                                                  ah found it, it's because I name my attrbadjustfloat1 to LIFE to life.

                                                                • planimation 11 months, 2 weeks ago  | 

                                                                  currently on video 11, around 3:05 once a add the prune node i put $F>200 but it doesn't work, is this because i'm using a UK keyboard not sure how to fix this please help cheers!

                                                                  • planimation 11 months, 2 weeks ago  | 

                                                                    so i solve this by creating the node again

                                                                  • planimation 11 months, 2 weeks ago  | 

                                                                    I got a new problem, currently on the last video and I don't see the pyro render only the dust.... what do you think happen?

                                                                    • Arcelius 2 days, 10 hours ago  | 

                                                                      Hello! I found a solution to this! After trying lots of different things I found that using the "Combined_Pyro_Shaders" instead of the "Pyro_shader" makes the shader appear in the Karma viewport. I believe that the "Export Relative Path" might still be a neccessary option when selecting the material but please make sure to REASSIGN the combined pyro shader to the pryo fx inside the "assignmaterial" node under our material library. I hope this helps!

                                                                    • ktjk1 11 months, 2 weeks ago  | 

                                                                      I've been working my way through the Houdini basics course, but I'm stuck. When I finally render, the material library node is applying a pyro shader to the material VOP input field, but all other geomatry's materials disappear and I can't recover them. I've followed this process at least 10 times and studied the information, but I can't get it to work. Houdini is a good program, yes, but it's too unstable and finicky. It's a program that doesn't give me the same result even if I follow it exactly without missing a single moment. I don't think it's a good program in that sense. I need to find another good program.

                                                                      • Harry__243 11 months, 1 week ago  | 

                                                                        I´ve a question. Working on Part 10, my Prune Notes don´t work (both). Does anyone has an Idea? I killed my presets, using the default but the Problem is still there.
                                                                        My Workaround, using the time-expression directly in the Primitive Count of the Reference Note works fine and delivers the expected results... but this doesn´t fix my prune issue. Does anyone has an idea (using Houdini 20.0.590 on Windows).

                                                                        • Harry__243 11 months, 1 week ago  | 

                                                                          I´ve found the issue... the prune note defaults have been changed. In Target Primitives under Primitive Pattern I had to choose `lopinputprims(' . ' , 0)`

                                                                        • m.colonnelli 11 months ago  | 

                                                                          Fantastic tutorial. At the moment, I only have one problem that I don't know how to solve: when I switch to render view (Karma), all materials look good except for the "Soot" where the particles turn into very large spheres. Do you know how I can solve it?

                                                                          • carlosvega 10 months, 3 weeks ago  | 

                                                                            Hi, i have a problem, i'm in the part 7, and when apply the simple fracture and set up the fracture solver, delete the glue, and run the simulation, the bomb rolls instead of break, like all the pieces are glued. Can anyone know how to solve it?

                                                                            • MTU1500 9 months, 1 week ago  | 

                                                                              I had the same problem. I solved it to put the strenght on 0 in Advanced ==> Glue ==> strength.

                                                                              • pulppixel 2 months, 1 week ago  | 

                                                                                Thanks!!!!

                                                                            • Fernando_Criativo3d 8 months, 3 weeks ago  | 

                                                                              Dont know why the the end my particles are going inside the bomb not outside the bomb.

                                                                              • Fernando_Criativo3d 8 months, 3 weeks ago  | 

                                                                                I found a way to overcome this problem, in SPARKS, in attributadjustvector2 set the "preprocess" to Reverse Direction. Also set constant in Y to 0,75. Suits more for me.

                                                                                • hiroyasuo 8 months, 2 weeks ago  | 

                                                                                  I'm trying to create the rbd explosion, but instead of shattering, my bomb geometry is just rolling? Any ideas as to why? I've following the instructions to a T

                                                                                  • sheepplays 8 months, 1 week ago  | 

                                                                                    By Fireball isn't interacting with the bomb fracture. and I noticed there is no longer the "No Promotion" selection on detail attributes

                                                                                    • sheepplays 8 months, 1 week ago  | 

                                                                                      Nevermind found out my peak somehow uncoupled from attribute adjust vector.

                                                                                    • Fernando_Criativo3d 8 months, 1 week ago  | 

                                                                                      Hi I'm stuck whem I'm going to merge the references.....dont know why when I merge the fuse it is bellow the zero Y axe....in the obj level is correct it is only happeninh when I merge the reference. thank you

                                                                                      • rjorr04 4 months, 3 weeks ago  | 

                                                                                        If you check the fuse on an object level in build, you probably had the y and z parameters adjusted. So what I did was copy those parameters, and then put them into a transform node under the reference node in solaris.

                                                                                      • MouseClicker 6 months, 4 weeks ago  | 

                                                                                        thanks for this great tutorial! One small good thing to add would be a short explanation why exactly each check box is being enabled to understand what it is doing.

                                                                                        • prashanthprabudev 6 months, 3 weeks ago  | 

                                                                                          hi while creating a soot trail, particles not following along the curve i mean that cap what we create at the end of the fuse that cap is aligned along the curve so when i play all the cap is emitting those particles in its respective direction. how to solve this.
                                                                                          1. do we want that cap all over the curve or just one cap is suppose to follow that curve.
                                                                                          2. if the several cap along the curve is correct then how to stop all the cap emitting the particle at once

                                                                                          • prashanthprabudev 6 months, 3 weeks ago  | 

                                                                                            got it found out the mistake i had missed making target point zero, now its working fine!!!!

                                                                                          • parakhpushp30 4 months, 3 weeks ago  | 

                                                                                            trying to follow the lesson and set up Solaris but getting this error need help
                                                                                            Error
                                                                                            Unable to find layer file: D:/Houdini

                                                                                            • parakhpushp30 4 months, 3 weeks ago  | 

                                                                                              trying to follow the lesson and set up Solaris but getting this error need help
                                                                                              Error
                                                                                              Unable to find layer file: D:/Houdini
                                                                                              even though i have set to correct path as when switch to geo its all there i can the elements but when switched to Solaris i did same but mine showed this error and no geo is displayed

                                                                                              • mbellino 2 months ago  | 

                                                                                                There is an error in Video 7 when you are supposed to save the exploding bomb into a cache file. You need to un-tick "Time Dependent Cache" on the fracture_io tab. If you don't do that the cache will save a single file for each frame.

                                                                                                • mbellino 2 months ago  | 

                                                                                                  Actually not. Saving the with "Time Dependent Cache" not selected creates a file that is too small. In the video the cache file is 17.22 MB while the file I produced is only 399 KB so something is wrong.

                                                                                                  • mbellino 2 months ago  | 

                                                                                                    After re-performing the process, it worked fine.

                                                                                                  • addis_tad 1 month, 3 weeks ago  | 

                                                                                                    in video 10 after exporting all the .usd when i import the fuse the postion was different from the object level it lowers itself how to fix this . Help please

                                                                                                    • Pydracor 2 weeks, 2 days ago  | 

                                                                                                      had this, too. Issue was that I had an offset in "Transform" on obj-level of the fuse_geo-node. Instead reset these values to 0 and go inside the fuse_geo-node. Put there a second transform-node with the offset you had before on the upper level. Export again the .usd of the fuse.

                                                                                                    • beedz.studio 1 week, 3 days ago  | 

                                                                                                      can i do this on the non-commercial version?

                                                                                                      • rmagee 1 week, 1 day ago  | 

                                                                                                        Yes

                                                                                                      Please log in to leave a comment.