Render Houdini Particles with Blender CyclesX via Geometry Nodes
Vložit
- čas přidán 25. 07. 2024
- Support us on Patreon: / entagma
This tutorial uses Houdini 19.0.383 and Blender 3.0
Transferring data between DCCs is a cumbersome but necessary task. Particles are not yet supported via nodes inside of Blender for example and usually come in from somewhere else. In this tutorial Manuel shows you how to create a surface flow particle effect inside of SideFX Houdini and then import the particles to Blender for rendering. Instead of bringing in the geometry, which is straightforward using alembic, here we import the particles themselves with attributes. This yields a lot of flexibility inside of Blender as we end up with a procedural particle effect that can be further altered. The first part of the tutorial deals with creating the particles in Houdini, the second part explains how to recreate the attributes inside of Blender with Geometry Nodes.
00:00 Intro
00:53 Preparing the Surface
03:17 Setting Color on the Surface
04:50 Create the Particles
06:22 Control the Particles' Velocity
13:18 Creating Trails
16:10 Creating Preview Geometry
16:45 Setting Template Point Attributes
21:46 Exporting Positions to Blender
24:33 Importing Positions
25:44 Exporting pscale to Blender
27:00 Importing pscale with Geometry Nodes
29:55 Exporting orient to Blender
31:27 Importing Euler Angles
33:38 Exporting Cd to Blender
34:09 Importing Color
37:35 Creating an Attribute Driven Shader
38:17 Fixing the Colors
Download the mesh: www.myminifactory.com/object/...
Download the project files: www.entagma.com/downloads/ENT...
Amazing as always! Happy to see more and more integration between my two favorite dcc's
This is brilliant! I see a great relationship forming between houdini, blender, me and your patreon :)
This is litteraly the most helpful tutorial I've ever watched, its something I don't think I'd ever have been able to figure out alone
Hi, thanks for this, really useful. I spent the weekend working out a similar problem(getting the UV map from particles to allow a grain simulation to use an image - the way the entagma grain tutorial did) - though didn't even consider using a separate file to get the info across using position. Brilliant ! (just finished watching and the final colour shift thing is probably the thing I was missing which meant the UV colour from Houdini was completely different to the one in blender - another big thank you)
This is insanely good eye candy. Can you do more blender vids in future, they’re some of the best and look so professional.
Please make more of this videos because cycles X is so much faster and easier than both mantra and karma
I have been looking to export particle cd data from houdini to blender! This is PERFECT!!
THANK YOU SO MUCH!!
I absolutely love this channel!!! You guys are the best! Houdini is the best! This channel is the best!
lots of great ideas, took a lot of notes, thanks!
This looks very nice... definitely doing this
This looks Amazing
Amazing!! Thank you for sharing!
That was really helpful ser. thank you for sharing your knowledge :)
Thank you! Managed to use the same technique to export Softimage particles to blender.
Wow, great video! Thanks a lot! Blender alembic import definitely needs some love tho.
I'll be waiting for your new amazing contents!
We definitely need more Houdini people to help us figure out geo-nodes and give feedback to make Blender more Houdini like.
Fantastic tutorial, thanks! I have devised an alternative workflow thought, that only requires one allembic file. Blender cannot read custom attributes, but can read multiple color attributes, so I just create as many color attributes I need to store attributes that I want in Blender, up to 3 floats per color channel (ie. I can store pscale into Cd.r, store age into Cd.g, etc..., or use a color channel to store Vec3 orientation). Now the trick to export those attributes is to create Mesh, and for that I insert "Add" node just before ROP Allembic that connects the points using closed polygons. Therefore I get a mesh that can be imported into Blender and contains all the info I need to later slightly manipulate in GeoNodes. Hope this helps.
:O Tutorial would be super!
@@emimeemio actually I am abandoning my own method and will use this from entagma, as although there are more files, the total file size in Entagma approach is smaller than my creating meshes. Hope in 3.2 alembic import will be fixed, I know they are working on it.
@@drformalyst5222 Ah, ok. So I will look into this one :) Let's hope they will fix Blenders alembic import soon.
@@emimeemio Yeah I think they already fixed it, but that update is not yet included in Blender because it needs to be reviewed, and it's been like that for a while already - looks like Alembic import is a very low priority for Blender developers.
You are the best . Please make more tutorial !
Wow, this tutorial really sums the data wrangling mentality of Houdini. BTW for converting degrees to radians in Blender I usually just type the formula into a single Vector Math node.
This is cool. Thank you
I love this workflow ! I’ve been using blender as my rendering solution because I’m broke. Cycles x is FAST!
For pscale, everything in Houdini is the same but you have to use the Sample Index node in Geometry Nodes (3.6.1), then it works! Thanks so much for this tutorial.
thank
its quit useful,thanks a lot.
Love the videos with Blender! The workflows are so good.
Maybe check out the object under the lions paw going into the Forbidden City ;)
great tutorial, just subscribed! a sound related suggestion; I'd roll back the de-esser a little bit.
wow so cool !
Thanks, this helped me immensely. Next step would be how to import velocities for motion blur? :3
Bravo: genious!
thanks for that, save my life
would love a updated video on this covering velocity if its possible for motion blur?
Thanks!
Thank you very much Manuel!! This was awesome! Do you know if there is an alternative to alembic for Houdini apprentices?
Great tutorial as expected from Entagma
Can you make us some tutorial on particle systems using VEX
Thanks!
Now blender 3.1 instance can inherit attirbute from points.
I use this method to tranfer index too when there is no index node provide in blender :)
Great Position
can confirm :)
inherit from alembic points? u saying they finally fixed importing alembic point data?
@@axe_fx No I think it just means you can skip the realize instances part
@@Handcraftedcc yeah, realize instance cost a lot
This didn't work for me in Blender 3.1. I tried deleting 'Realize Instances' and I lost all the attributes in the Spreadsheet. Just as a test, I wanted to see if the new node Mesh to Points worked. It kept the Cd in the point cloud section of the Spreadsheet, but when I added the Set Material the render Crashed: 'illegal address in CUDA queue...' Have you tested it to see if it works?
Tnx a lot ☺️
Wow, watching you go through Houdini reminds me how close Blender is usability wise to Houdini (not all, but a lot). Thanks for sharing, Manuel!
Blender looks so much nicer and has better names for things, I'm noticing. I don't know much about Houdini, but that interface hurts my eyes and the node names hurts my brain.
Incredibly helpful tutorial, thanks! but why this method of passing colors only works using cube as instance while if I use sphere the colors are not assigned correctly?
How do u even figure this stuff out. Mind blowing
Great stuff as always. Opens up so many possibilities.. AAA. Side note: 33:02 ish .. isn't conversion to radians a Vector Math > Scale, by 'tau/360' ?
Haha That is a genius work around.
Tho I fear my disk space😂
can you teach how to make liquid growth effect in Blender or Houdini? I used to see in electronic product trailer and the liquid sometimes looks so colorful but sometimes looks like metalic liquid grow and form as the cell of product. Thanks in advanced.
I googled this cos I wanted to make a tutorial. Oh well :D
Using this technique and Blender 3.1 I was able to bring over the velocity and export it from Geometry nodes as velocity for motion blur!
Hi I know it's been 10 months since you commented this but I was wondering if you could explain how you exported and imported the velocity for motion blur!
would love to know this to. is it just the same methode in geo connecting the attribute to the group output and naming it velocity?
Thank you for sharing!
How could I get a quaternion or matrix from two known vector attributes(such as up and normal)?
In Houdini with the look at node. Or by doing a double cross product.
Can this tutorial be done with the apprentice edition of Houdini (since we have exporting assets here)?
wow,it‘s amzing. turn pscale to P.
is there any tutorial explain dot product and cross product ?
Awesome!! Thanks!!! All those orient to euler, lookats to Quaternions conversions just made my day... So, is it right to say Manu is pro VOPS and Mo is pro VEX?
VOPs is VEX with a different interface. But true, I like nodes better than Mo ;-)
@@Entagma I was speaking jokingly. I think you got it...😀. I'm a long time Houdini user and this channel has really helped me a lot. Thanks again. I started with VOPS but have been forcing myself to use VEX more and more. But I think you were right to use VOPS here. With the Blender users who will be watching this video, VOPS being closer to Geometry nodes, it just makes it easier for them to understand what is going on. Looking forward to the next nerd rant. 🙂
pls do a video covering all the render solutions for rendering inside houdini and also exporting to other software theres 0 info online plsplspls
My quesiton is why you used 3 different transforms, versus doing all of the initial model adjustments in a single transform.
Just for readability of the graph. One transform is perfectly fine, too
@@Entagma what your mindset for doing so? Was it because you find often there are things you have learned over time and just do it this way, or because it used to be limited and it is just reflex?
none of the above. Just because others can read the graph more easily this way.
@@Entagma awesome, that's also a great reason. Thank you, and thanks for these videos!
new USD format support attributes in one file?
hi, im having this issue where my motion blur is in the opposite direction , I have tried to switch the direction in Houdini but when i render in blender is wrong again . I'm using geometry nodes to mesh to point the particles , and I've tried with instances too but nothing . any suggestions ?
This seems a bit painfull, but smart at the same time.
How to import blender from rbdpackedobject? The rotation does not match
Can we do it with building destruction in Houdini and then export it to blender ??
Does anyine know if this works with points only and not with box/cubes?
That is quite the workaround for blender’s poor handling of alembic. Do you know if they plan to simplify this with more geometry nodes, or an extension to the alembic importer?
There's active work being done in Blender for both geometry nodes and alembic.
@@fakecubed let’s hope so!
This is such a clever trick, I used it a lot of times already, thank you for sharing it! Have your tried is in 3.4 with the new tranfer attribute system? With a heavy particles scene (4.8ml) blender 3.4 cannot handle the attribute transfer, while the same alembic in 3.3 works perfectly fine. Is the new system buggy or heavier than the old one?
did u find a fix?
@@BerhTv can't exactly remember now, it's been a while. I think that I might have been using the new system incorrectly, using a node that wasn't necessary. Maybe I still wasn't getting the same performance as in 3.3, but at least it was manageable.
@@sdados3725 thanks for the fast reply! I have been trying to get the V attribute for motion blur in blender but i can't seem to get it working. have u been able to? been looking for days now.
@@BerhTv no worries! did you try with the system they explain in this tutorial? I think unfortunately blender alembic still isn't able to import custom attributes, even in 3.5, so this is the only way I know to import things other than the position. That said, double check in case they added some new functionality to the alembic import in 3.5, just to make sure. Also, I am not sure if the v attribute for the motion blur has some additional caveat to take into account. However, are you trying to use the vector motion blur or the ray traced one?
@@sdados3725 yes i'm following this tutorial methode so in VOP I connect V to P then in blender i add a sample index and connect it to the group output. But it doesn't seem to do anything. is there a way i could send u screenshots? Thanks for helping!
Hi can You update workflowe to blender 4.0 ?
How am I supposed to transfer point velocity attribute from Houdini to Blender? I need it for motion blur
Could this be done with rigid bodies? l
People should realy work on porting that hydra deligate to houdini.
Amazing.
This video gives me hope that a method for bringing the water animation I would need Houdini to create properly could be systematically brought into blender.
I watched with interest and fascination. I have a project in which animated water will be necessary and I am told by those in the know that Houdini is the application to use. The water stuff done in Houdini seems to be the closest to what I seek to do. I barely see anything in Blender regarding water.
I am a newbie and while I have with an interest in learning a 3D application well I thought I would start with the free one
Geo nodes are daunting and I am trying to understand how I can use them. This video further inspires me to look into learning how to do what I want to create in Houdini knowing I might then be able to being it over to Blender. Surely these node arrangements can be kept and re-used for other purposes.
Would it be possible to create a form of mult-purpose / universal Add-On that does a conversion of files of a certain type in Houdini to Blender?
trying to recreate this in blender 4.1 and the nodes have changed, tricky hehe
3.1 already added point cloud support so you dont have to instance geo to bring it into Blender.
Sounds cool - what exactly do you mean?
@@Entagma I think he mean that now cycles can create spheres (only spheres for now) from points without real geometry czcams.com/video/H8kysw687ik/video.html
Ah, cool. But this effect uses cubes. So where's the point? And what has this ability to do with bringing the particles in from Hou? Complicated world ;-)
@@Entagma Apologies for the confusion, I only got to the point of instancing cubes when I made the comment. It later dawned that you were going for a different technique. Down the line the idea is to fully support arbitrary data in alembics in Blender and multiple render procedurals. In 3.1 only spheres are supported in the point cloud container, with more to be added later. Great tutorial non the less! Thanks! :)
@@Entagma I think the point would be to ultimately render out nice grains animation in blender where the grains have varying pscales and varying color.
how could do this with blender 3.4?
Can we not do this totally in Blender?
I get a whooping 6gb alembic file for each export.. I have the given birth parameters for both emitters and the number of points at frame 15 which is shown in the video matches with mine. Any ideas?
if your files are huge they contain too much data. Check the number of points you are creating by middle-clicking on the POPNet. Check if you delete all attribs but P by middle-clicking on the delete attrib node.
@@Entagma Apparently I missed it from the video, but you had the exact same issue at 24:14. Solved :)
What about velocity and motion blur, do I have to set it up somehow or will blender calculate this on his own?
Hi Peter, to be honest I did not try that yet. Would be interesting to try out
I tried exporting v with the particle sim and I didn't get motion blur in blender. Blender didn't calculate anything on it's own either. Maybe it has something to do with Geometry Nodes?
@@MarvelousMediaEngine It works if you export Houdinis "v" as "velocity" in blender geo nodes, that way can cycles read it and apply as motion blur. Same method as showed in video for "Cd" but there is no need for Combine/Separate XYZ in geo nodes, dont know why, i do not fully understand the process, but looks like Cycles added motion blur after I applied this method.
also i am using mesh to points not geometry
@@petomandik Thank you Peter. Your process definitely worked better, but there is still something off about it when I tried. For example, I just made particles shooting onto the ground (pretty fast motion with a clear line of direction), but the motion blur in blender looked perpendicular to the line of action. I tried the combine/separate xyz section because it seemed like one of the axis was not aligned correctly, but it didn't fix it.
I'm new to Houdini and the logic of DOPS confuses me so much 😭
Can someone please explain to me why the VOPs in this example is being applied to the particles every frame? I thought that only the particles sourced on that frame go through the source streams, but it seems like they're being put through every frame? If particles *do* go through the sourcing stream every frame, why don't the initial particles from a popobject go through it after creation?
That is DOPs. Simulation means that the geo is persistent between frames. If a particle is born in one stream it stays in that stream and all operators that are attached to that stream affect it in every frame. The particles that come from the POP replicate are not affected by the VOP
@@Entagma I wasn't expecting a response from Entagma! Thanks for taking the time!
jesus c....so how long it take to learn all of these?
hahah I thought same lol which tutorial did he go into lol
Houdini workflow is more straightforward than blender,
if karma xpu was developed earlier, people didn't have to learn another dcc for rendering, (esp people who can not get redshift)
why it's so unreally hard houdini and blender workflow
or we can just get a better alembic/ USD importer maybe 🤷♂
just make your own?
Not like Alemic and Blender isn't open source.
Also it exists already as py script
@@MrSofazocker yeah I wish I had the knowledge to develop plugins but sadly no
@@MrSofazocker you shouldn’t have to.
@@lewistaylorFX I would agree with that with anything else, fbx for example, but usd is still new
@@MrSofazocker I was referring to the terrible Alembic importer. They’ve ignored the format for many years, out of choice. Only recently adding per frame point velocity support for example. Alembic has been in use since 2011, was instantly superior to obj + pc2 caches, or god awful FBX garbage. Other DCCs have supported reading attributes stored on the geometry for many years.
i thought im stupid for thinking about doing this so i searched online for a smarter solution... well.