Will it ADVECT? - advect curve by volume

  Рет қаралды 11,831

Peter Claes

Peter Claes

4 жыл бұрын

For anyone who wants to learn how to advect curves by a volume and create beautiful wispy details. Add me on Instagram: pclaesvfx
Hip file: bit.ly/curve_advect_hipfile
Today I want to cover an effect done by Chris Harkin. The curves are advected by volumes and create beautiful wispy details. The shading on the curves creates nice highlights so we will take a closer look at the shader too.
Chris Harkin effect:
www.sidefx.com/gallery/curve/
FIRST: The Pyro sim.
Create the velocity fields that will be used for the advection of the points.
We create a sphere that will serve as the emitter for a pyro simulation. We do not care about the temperature and heat field, but we DO care about the velocity field. The density is largely for visualization, but the vel field will be used to advect the points of the curves in the next step.
SECOND: The intitial curve geometry.
Create a circle that we will advect by the vel volumes.
We need enough points, 50 should do. By appending a resample we can control the level of detail through the 'length' parameter. We also turn on the 'curveu' attribute on the resample so we can make use of it later for the purpose of shading the curves.
THIRD: Advecting the curve.
We bring the curve geometry into the dynamic context (DOPS) and advect it by the velocity field of the pyro simulation.
The curve comes into dops through a particle object, a particles solver and a particle source. We want to bring in the entire geometry, so we set the emission type on the pop source to 'All Geometry'. The Geometry source will come from the 'first context'.
Next we add in a 'popadvectbyvolumes' node and set the Velocity Source to 'Second Context Geometry'. Press play and the points on the circle should start moving. Although they are now moving, the curve segments are stretching. So we need to add more detail to the curve during the simulation.
FOURTH: Adding detail to the curve.
We are adding detail to curve by injecting a sopsolver inside of the dop network. Inside of this sopsolver we add a resample node which will continuously resample the curve geometry and inject more points into the curve as needed.
FIFTH: Moar circles!!!
We are adding more circles to the source to capture more details during the advection. Also we want to get rid of circle polygons, so by using an 'ends' sop after the dop sim, we can 'Open' the curve.
SIXTH: Refining the setup.
To ensure that the advected points are following the velocity field closely, we can set the 'Advection Type' on the popadvectbyvolumes inside of the dop network to 'Update Velocity' instead of 'Update Force'. This will make it a closer match to the pyro velocity field. Next we modify the length settings on the resample so we have slightly less points. We will still get the interpolated detail from the curve segments because we are advecting a curve vs individual scattered points.
SEVENTH: Visualizing curveu.
In order to create some pleasing colors, we can append an attibute vop to configure the Cd (diffuse color). Inside of the attribute vop, a bind node brings in the per point curveu attribute that is then plugged into the 'u' parameter of a rainbow ramp vop. The resulting color from the rainbow is then plugged into the 'Cd' attribute which gives us nice colors in the viewport.
EIGHT: Lights, Camera, Render!
We add a camera to the scene to frame up the action. In order to illuminate the curves we also add a key spotlight and a fill light.
Before we start rendering, it is a good idea to break out the final result in a separate object node that we name 'RENDER_curve'. We also need to define the width of the curves. Next we create a rop network and a mantra node and specify the 'RENDER_*' in the Force Objects field and we also force the key and fill light to be included in the render. Then we open a new view pane, pick the render view and kick off the first render.
NINTH: Refining the render & shader.
The default render settings are somewhat noisy, so we increase the Pixel Samples to 6 by 6, which is good for fur or grass and also works well for curves.
Next we create a Material subnetwork and pick a new hair shader from the Material Palette. Then we set the tip and root hair color to be white and we assign the hair material to the RENDER_curve. Re-render and we are getting nice wispy smoke detail. Next we dial down the opacity in the hair shader to a value of 0.5 so the curves blend together better. Finally we turn on 'Tint with Point Color' to bring the rainbow point colors into the rendered image.
For business or one-on-one visual effects consulting inquiries, you can reach me at peterclaesbusiness@gmail.com

Пікірлер: 67
@nvav970
@nvav970 3 жыл бұрын
This tutorial has such a premium vibe to it, excellent tutorial. None could have done it better.
@gastondantos2348
@gastondantos2348 4 жыл бұрын
Great tutorial Peter, thanks.
@willp3d255
@willp3d255 4 жыл бұрын
Super clear tutorial! You are a great teacher!
@visualscience2502
@visualscience2502 Жыл бұрын
great tutorial! pacing was great and learned a lot!
@brandoncyoung
@brandoncyoung 4 жыл бұрын
awesome thanks peter!
@jamaljamalwaziat1002
@jamaljamalwaziat1002 2 жыл бұрын
as always really great tutorials
@WaseemFitness
@WaseemFitness 4 жыл бұрын
Thank you Peter
@massimobaita7178
@massimobaita7178 4 жыл бұрын
Thank You very much, Peter!
@dzedrit
@dzedrit 4 жыл бұрын
Thank you!
@TalkThisOut
@TalkThisOut 2 жыл бұрын
HUGE! Big bro. Your videos are wealth. Thank you so much. I'm literally going through all your videos. Its just pure knowledge. Thank you!
@jluisroga
@jluisroga 4 жыл бұрын
Super nice!
@AdrianoZanetti
@AdrianoZanetti 4 жыл бұрын
You're good at this, Peter, very clear, very fast, straight to the point. Loved it. Looking forward to the next one.
@peterclaes5918
@peterclaes5918 4 жыл бұрын
Thanks! I want to make tutorials that I myself would enjoy watching.
@debraisaac7977
@debraisaac7977 4 жыл бұрын
Thank you Peter, this was excellent!
@peterclaes5918
@peterclaes5918 4 жыл бұрын
Glad you liked it Debra! Currently I’m aiming for one a week :).
@MCgWhiz
@MCgWhiz 4 жыл бұрын
A well done and informative tutorial with some of nice workflow tips as well.
@peterclaes5918
@peterclaes5918 4 жыл бұрын
Thanks Josh!
@floydafcg
@floydafcg 4 жыл бұрын
Great tutorial! Thank you explaining concepts and procedures so clearly.
@peterclaes5918
@peterclaes5918 4 жыл бұрын
Thanks Floyd!
@milad_savar
@milad_savar 4 жыл бұрын
Amazing , thank you :)
@g_rant_
@g_rant_ 4 жыл бұрын
Really great tutorial, super straight forward and a lot of little workflow gems along the way~!
@peterclaes5918
@peterclaes5918 4 жыл бұрын
Thanks, I like sprinkling those little nuggets in :).
@carlosfxartist
@carlosfxartist 4 жыл бұрын
Good stuff Peter! Thanks for sharing.
@peterclaes5918
@peterclaes5918 4 жыл бұрын
Totally! Look forward to the next one!
@metalsteve8150
@metalsteve8150 4 жыл бұрын
You're an excellent teacher mate. The tutorial was very clear and easy to follow. I look forward to future videos.
@peterclaes5918
@peterclaes5918 4 жыл бұрын
Thanks Stephen! I am aiming to make it a regular thing. Just released the next one here: kzfaq.info/get/bejne/prqWrduF1Mqbnmg.html
@javidial
@javidial 4 жыл бұрын
Simple and still a great technique. I love how you also explain how to integrate the shader and alpha into the final render.
@peterclaes5918
@peterclaes5918 4 жыл бұрын
Thanks for watching!
@malcolmmoseley8105
@malcolmmoseley8105 4 жыл бұрын
Moar Peter!!! :) I like the extra effort of the description and chaptering.
@peterclaes5918
@peterclaes5918 4 жыл бұрын
I’ll make moar!! :)
@sebastianblatter7718
@sebastianblatter7718 4 жыл бұрын
Really well done tutorial! Super symphatic dude!
@peterclaes5918
@peterclaes5918 4 жыл бұрын
Thanks a ton!
@NodeNest
@NodeNest 4 жыл бұрын
Thank you so much! amazing stuff.
@peterclaes5918
@peterclaes5918 4 жыл бұрын
You're welcome! Glad you enjoyed it. Also congrats on being my first commenter on my first video :).
@Josekrlos
@Josekrlos 4 жыл бұрын
Amazing, thank you so much man!!
@peterclaes5918
@peterclaes5918 4 жыл бұрын
Have fun with it!
@cabelnam
@cabelnam 4 жыл бұрын
Thank you. Really great trick.!
@peterclaes5918
@peterclaes5918 4 жыл бұрын
Glad you like it, it give some really fine details.
@andr101
@andr101 4 жыл бұрын
thanks a lot!
@jiemeng2551
@jiemeng2551 4 жыл бұрын
Short and useful!
@peterclaes5918
@peterclaes5918 4 жыл бұрын
Thanks Jie!
@MIXTraining
@MIXTraining 4 жыл бұрын
Great stuff Peter, I was wondering about that effect as well like 2 days ago, thanks
@peterclaes5918
@peterclaes5918 4 жыл бұрын
Glad it came in handy!
@pharaplu8529
@pharaplu8529 4 жыл бұрын
Nice to see you on youtube, Peter! Veel groetjes van ons hier in België!
@peterclaes5918
@peterclaes5918 4 жыл бұрын
Holy cow! Hi Phara! Veel groetjes terug en in September ben ik in België voor een tien tal dagen.
@pharaplu8529
@pharaplu8529 4 жыл бұрын
Super! Kom maar eens langs bij moeke voor een familiereünie! ;)
@mirkoventuri6660
@mirkoventuri6660 4 жыл бұрын
i love where this channel is going. Great content. I was wondering if there is a way to dynamically resize also flip fluids fields? I've tried to enable the option in the solver with the same name (Dynamically Resize Fields) but i may be missing something.
@peterclaes5918
@peterclaes5918 4 жыл бұрын
Now that h18 is out, flip should have adaptive resolution which is better than resizing as it creates smaller voxels where more detail is required.
@mirkoventuri6660
@mirkoventuri6660 4 жыл бұрын
@@peterclaes5918 I have heard of something like that, but still haven't tried 18. will do soon. Thanks
@jackCre8iveNode
@jackCre8iveNode 4 жыл бұрын
still be the legend!
@peterclaes5918
@peterclaes5918 4 жыл бұрын
I’ll do what I can :)!
@mistakentuna145
@mistakentuna145 4 жыл бұрын
Hey Peter, thank you! Real high quality tutorial, enjoyed watching and learned a lot. Trying to work with this concept on a separate scene, and one curve will balloon out indefinitely. How do I limit the amount of times the curve will follow the velocity? Currently ending up with a dense ball of curves ... not to pleasing to look at. Thanks again!!
@peterclaes5918
@peterclaes5918 4 жыл бұрын
You can approach this from the point of view of the forces (create a containment field to the velocity - kind of like what I am doing in cross product 3/3 video to contain the particles). Or you can approach it from the curve point of view and for instance link the advection force to the age of the particles using a vexpression.
@mistakentuna145
@mistakentuna145 4 жыл бұрын
@@peterclaes5918 Thanks Peter! I'll check out the cross product videos
@mzigaib
@mzigaib 4 жыл бұрын
Subscribing!
@peterclaes5918
@peterclaes5918 4 жыл бұрын
Thanks!
@roosaklas20
@roosaklas20 3 жыл бұрын
Amazing tutorial! I would like to ask you. How can i export it as alembic file to transfer it to C4D? Thanks in advance! Keep the great work
@peterclaes5918
@peterclaes5918 3 жыл бұрын
I am not a C4d user so not too sure about the alembic transfer support. So here goes: Generally polygons tend to work better, so converting this into ‘a (closed) polygon circle’ may work better. It might be good to try and look into how alembic can be used to transfer fur or hair, as this is similar to that. Often Alembic needs some data to be present on the first frame, so make sure you have some polygonal data on the first frame of your export. Could you use a different format? Perhaps usd?
@ojisan4220
@ojisan4220 2 жыл бұрын
I just watched this Entagma tutorial titled "Render Houdini Particles with Blender CyclesX via Geometry Nodes" dtd Jan 10, 2022. There Entagma Professor not only export alembic from Hou Particle scene but all the attributes to Blender (in a bit convoluted but doable way). Hope it is still relevant and somewhat applicable to C4D as well
@demonhunter4709
@demonhunter4709 4 жыл бұрын
Please make tutorial on pyro and flip solvers Gas Microsolvers Non divergent, boundry conditions and all Trying to undertand this stuff but can explain it better. You should get bit into math(Navier-stokes eaquation stuff) while explaining it. Please By the way thanks for making such awesome tut.
@peterclaes5918
@peterclaes5918 4 жыл бұрын
Sure. There is a lot of material on that out there already. But I think it’s nice to see how it is implemented inside Houdini - and more importantly how you can modify and extend it. I actually think some divergent sims are more interesting at times. There is a loooot of ‘cheating and tricks’ that you can do - which I really like. So I’ll definitely cover that in the future.
@miraimarcus1998
@miraimarcus1998 4 жыл бұрын
Thanks for great tutorial! I’m wandering is it possible to export as abc and render out with other software such Maya or Cinema4d? I could import it into Cinema4d but it didn’t render. Do you have any suggestion or help??
@peterclaes5918
@peterclaes5918 4 жыл бұрын
Hmm, in most render engines there is a ‘width’ (mantra) attribute or ‘radius’ (Arnold) or something along those lines. Without that attribute it might try to render the geometry impossibly thin. I do not use Cinema4d directly, but would imagine it is possible to render a curve in it - kind of like rendering hair.
@miraimarcus1998
@miraimarcus1998 4 жыл бұрын
Peter Claes specifically, I use octane render with Cinema4d and tired to import as geometry but did not show up somehow. But thank you for advise and I ganna keep researching how to render out.
@anthonysvfx8424
@anthonysvfx8424 4 жыл бұрын
Great walk-through. Thanks for sharing your time and expertise. ...One mistake you may want to correct though is in the outline write-up that is posted along with this video. You innumerate from six to eight, skipping seven! No biggie, just thought you should know of the typo. ...I look forward to your next tutorial!
@peterclaes5918
@peterclaes5918 4 жыл бұрын
Thanks for the feedback I’ll update that.
@anthonysvfx8424
@anthonysvfx8424 4 жыл бұрын
Peter Claes, it’s all good. I just saw that I used the word “innumerate” when I meant to use “enumerate.” Plenty if errors to go around, I guess. (Smile)
How much does it COST?  - shortest path mask
25:44
Peter Claes
Рет қаралды 8 М.
Osman Kalyoncu Sonu Üzücü Saddest Videos Dream Engine 170 #shorts
00:27
когда повзрослела // EVA mash
00:40
EVA mash
Рет қаралды 3,5 МЛН
DO YOU HAVE FRIENDS LIKE THIS?
00:17
dednahype
Рет қаралды 44 МЛН
The FASTEST way to Learn Blender
6:35
Kaizen
Рет қаралды 581 М.
Do you need a formal education for FX?
33:24
Peter Claes
Рет қаралды 2,5 М.
Physicists Claim They Can Send Particles Into the Past
7:21
Sabine Hossenfelder
Рет қаралды 128 М.
The Problem with Wind Energy
16:47
Real Engineering
Рет қаралды 1,1 МЛН
A new way to generate worlds (stitched WFC)
10:51
Watt Designs
Рет қаралды 512 М.
Your Keyboard Cannot Comprehend These Noodles
12:27
Inkbox
Рет қаралды 313 М.
The rarest move in chess
17:01
Paralogical
Рет қаралды 1,3 МЛН
Peter Claes Houdini Battle #1
49:37
Peter Claes
Рет қаралды 1,7 М.
Kiev has made an important decision
12:58
NEXTA Live
Рет қаралды 328 М.