Houdini is HIP - Part 6: Particle Simulations
Vložit
- čas přidán 15. 05. 2024
- Download the file used to render the sequence shown in the video:
bit.ly/spark_file
00:00 Intro
01:25 Animating Geometry
05:04 Creating a Particle Network
08:50 Adding Forces and Colliders
11:54 Refining the Simulation
13:45 Creating Sparks on Collision
21:21 Adding pscale
24:34 Setting Up the Stage Level
27:35 Scale, Color and Velocity
39:34 Preparing the Final Render
47:00 Final Render and Outro - Krátké a kreslené filmy
37:00 In version 20.0 of Houdini Color Ramp is inside `Code/Generated Channel Parameters` (not in the root)
thank you mate! 😍😍
Love this series! It’s easier to follow and understand! Thanks!!!
This is so helpful! Nicely explain and easy to understand. Thanks for sharing!!
Omg this series is gold.
A real pleasure to learn... as usual, thanks
Cute, and well explained, thanks !
Great series, keep it up!
thanks for making these Houdini tutorials, you're a really good teacher
Nice,clean and super useful!!! Thank you very much:)
Really good job on this tutorial. I like that you leave it open ended at the end, by showing us what can be achieved with the setup, without holding our hand to accomplish it. I was able to get a pretty good final result messing with the parameters, thanks!
Hey! Just found this video and now I'm excited to go through the whole course. Thanks for uploading it!
Awesome to hear! I hope you find it helpful. If you have any questions, don't hesitate to ask😁
Cheers. That's very kind. I will for sure do that haha
@@NineBetween
Thanks!
Thank you!
Houdini 20.0.539 - I can't add a Principled Shader Node in the Stage Materiallibrary. I am in the VEX Builder tab but the only way to create a shader is in the material palette? How to solve this?
Edit: I just made one in the Material Palette and copied it from the mat network to the materiallibrary in the stage network and it seems to work... why can't I add one like adding nodes normally?
Edit Nr.2: when showing the tool palette with the screwdriver symbol I can access the principledshader...
Hi! They made major changes to Karma and the Material Library in H 20. I'll do a revised video to explain some of the differences 👌
In Houdini 20, the Material Library LOP’s way of creating materials changed fundamentally. In previous versions you could access all shader nodes from the libraries root level. This often lead to confusion, because it was possible to mix incompatible shader nodes. Now, shaders are created inside subnets:
Karma Material Builder
USD MaterialX Builder
VEX Material Builder
USD Preview Material Builder
@@NineBetween thank you so much for this. Yes. I have been trying to get the shader working, along with displacement (it never worked 😢)
Really nice series! please keep doing it!
Is there going to be some tuts about compositing?
The comment below saved me! The Houdini version is also worth 20. I still haven't found the settings using the point color(
Thanks a lot for the video, I'm learning with you, it's very interesting. My main job is in CorelDraw, I think it helps a little in understanding the logic of the program, but for some reason I was struck not so much by the abundance of functions as by the presence of gravity =))
great teacher
God i love this channel!
This guyz rockk.. thanks mate
super!
Thank you very much :)
hey sir i am a huge fan of you and your series is soo helpfully to us but can you make a houdini series only for dynamic lessons and again thanks for making this good houdini series
"Still the best you are", Yoda
principled shader is deprecated in houdini 20, what's the alternative solution?
Hi, create a material in the /mat/ tab, rename it SPARKS, then, on your Material_library node (in the stage tab), on the Material VOP section, select it (mat/SPARKS)
@@thibosoreil9460 Thank you
I’m having this problem that I thought was me doing something but in this video you put a sop import in stage and switched to the karma view and it worked, Mine does not it says it’s rendering but nothing shows up. It sometimes works in Solaris desktop. It does render to MPlay but that’s not fun having to switch back and forth for making materials. Has anyone seen this issue?
Thanks for awesome tutorial series! I would want to add how important is to understand how the nodes in Houdini works underneath. It was super confusing for me at first coming from any other node based app. A node usually means an execution step, a function/method that applies to data. In Houdini the execution context is the whole network container itself (dopnet/sop...) So what are you really doing is just adding/changing data with the nodes and when the context is executing it consumes that data and does it stuff like simulating etc based on attributes! When I saw the gravity and solver order it was like wtf? Solver doesn't know about gravity how does it calculates the movement. I think I only saw in Houdini and a very few other apps that use data driven networks vs execution flow. It's nodes just manages data, the execution/interpretation of the data is done at the network (container) level when data processed
Thanks for the great comment! Solvers and forces work in an interesting way in Houdini, and the "gravity after solver" thing confuses a lot of people. But, as far as my understanding goes, solvers work in two "timesteps." The first one computes the entire network, as in, everything needed by the solver is evaluated in that timestep. Then, the second time step runs the solver. So it may seem as if everything is happening in order, but really, it has an asynchronous element to it where forces are recognized in the first pass and used in the second pass. I hope that makes some sense, I found it confusing initially, but again, it's about data flow, as you mentioned. In this case, the data is evaluated in a less straightforward manner. Thanks again for the comment, gonna pin this because I think some people will find it useful😁
Also the way popreplicate is processed in this video, try to explain someone that you plug an action that refers to another action, that looks like it should execute independently but it adds behavior to the first action based on first action state 🤯 😅 So again it relates to the behaviour of Houdini to process data from top to bottom and also from left to right. If I remember right there are some backwards flows too, forgot in which cases. I think there is definitely some flaws in Houdini architecture which they try to patch but instead they add more complexity and indirection 🤷♂️ I hope someday it will be really straightforward 👍 I like that they're trying to get rid of too many ops and try to integrate more in SOPs.
Somebody can help me? when I play the animation, the object dissapear and appear in the other point. it has no time interpolation. how can I fix it?
Thanks for your lessons. You have a talent for teaching.
There are a couple of minor questions left.
I downloaded your file for verification. The SOP Import Sparcs node gives the error "The layer imported from SOPs has no save path set. The SOP node's layer will be output to a file path generated from its Houdini path." What is this and how to avoid it?
In the Attribute wrangle node we used @nage. But it's not in the spreadsheet. Do I need to check some boxes inside POP Net for Houdini to calculate @nage?
You're welcome! Those are two great questions.
The "No save path" warning is specific to USD (universal scene description). When we work with Solaris, we have the option to save our files as .usd format files. It gets quite technical, but USD basically saves things as layers (eg. A geo layer, a lighting layer, a background layer, whatever user defined layers we need). Those layers are saved separately to disk. When we don't specify a layer or a path to save that layer to, Houdini automatically generates one, thus the warning message. A configure layer node would fix it, but it won't negatively affect anything you're currently doing.
The @nage attribute is actually a bit of a unique case in Houdini. The attribute is only created when you call it and is defined as @age/@life. In other words, it's the normalized age. I believe it is called a "virtual attribute" and only exists when we call it because it would otherwise waste space if it were saved per point.
Those were two good catches by you, and both are very much behind the scenes, technical things that don't really affect us.
I hope that answers your question!😁
@@NineBetween It was very nice to receive such a detailed answer so quickly. Thanks for your efforts. Yes, now it became clearer to me.
I'm just getting acquainted with USD. And your two-hour lesson seemed to me the most useful that I could find on CZcams. It would be interesting to learn more about optimization tricks in Solaris. I've heard, for example, that File Cache + Sop Import will be slower than USD cache and Layer Import. I haven’t yet remembered exactly what these nodes are called.
I didn't know about the properties of the @nage attribute. This seems logical, since POP Solver already generates too many attributes. Then, suppose if I want to call this attribute in mtlx shaders, I won’t be able to?
im confused, do we go from the stage to out and put a karma node down to render this? The rendering part was glossed over
my normals seem to be facing the y axis instead of vertcal z axis, there must be an easy way to fix this but i cant figure it out, how can we fix that?
I don't know but the groups I set for birth points on impact (with collider) did not work for some reason :(. Great tutorial though! 😃👍
Same
solved the problem in mine. By default, "enabled" wasn't selected on the pop group node.
👍👍👍
What is the use of color ramp?
why material node need to put in the stage? rather than obj?
Can anybody help? I’ve been following the tutorial, I’m towards the end, but my particles appear grey when viewing through karma; I have set my karma render to velocity blur to pick the colour from the attribute, but nothing has changed. I am new to Houdini and have gone over the tutorial again and can’t see what I’ve done wrong.
Hey! I had the same issue. My particles were looking greyish white and I wasn't sure why until I went back into the material node for the sparks and under the emission tab I realized that point color was unchecked. This solved my issue! I know this comment is 5 months late and I am not sure if you figured it out yet but I hope this helps!
in a pop wrangle node, i wrote expression: if(@Frame > 99 && @Frame
Just use an expression in the impulse activation field rather than a pop wrangle. $F>84 && $F
when i create the pop group and try to chance the color of the splash group, it does not work and i am sure i am following along correctly. did anyone else have this issue?
oh i didnt select enable under the pop group node
oh man thank you very much :)
wow
Hey :) Can someone help me? I've been able to follow this tutorial without any issues up until @18:28 where you're creating more sparks on collision. Before that I was able to play the timeline without any issues. Now it's constantly cooking on each frame and slowing everything down. I have a Ryzen Threadripper 3970x and a 4090 graphics card. Are there any settings I can change that would make the playback quicker and smoother. When I see other instructors showing off anything to do with particles and fluids, I always wonder their PC is coping with everything. Any guidance would be much appreciated.
may be not relevant : have you set collision behavior -> response from None to Die ? because if collision particles not die might results more impules points that slow down your pc to be created
Try to reduce the particles. If that did not help. Disable the solver and see what happens. It is most probably too many particles that could be the reason.
Once again Houdini made easy by Nine Between :)
does it matter if you input 0.1 vs .1? Could it affect something down the line?
Hey! No, either is fine. I mostly do it because it became a habit when I was first learning Houdini, but either is fine.
@@NineBetween cool, thanks. Love your content.
When i use @Cd there is no color change it shows only black please help
Are you using color ramp? If yes, try adding more points and change their colour.
21:28
40:27
@pscale = @pscale * (1 - @nage)
This gives me an error, I don't know what I'm doing wrong, thanks for the help
Thank you!
45:26