Brooooo, this is litteraly the jackpot. Nobody seems to be using Unreal for Motion design and niagara has some seriously underrated features that should have the mograph community raving! Especially combined with realtime photoreal rendering with Lumen means serious cuts in render times and faster client delivery. You. Are. The. BOMB! Yes!
Thank you! 100% agree, not enough motion designers interested in Unreal (know a few from work that are phenomenal using After Effects but won't touch Unreal with a stick)
@@EnriqueVenturaGames Looking back at this comment, I am now very excited to see a dedicated motion design toolset based on niagara that allows users to use the massive potential of unreal much much easier!
Absolute banger of a tutorial, this is amazing. Any news on when you will make a follow-up tutorial showing how particles can collide using PBD? that would be a game changer.
19:53. i have still colored particles instead of white particles. what i do wrong? i was deleted color parameter and in preview window i have still colored particles.
sorry I don't have UE open to get the exact name of anything but on the Texture sample (where you supplied the Render Target) there is a checkbox to color particles using the texture
@@EnriqueVenturaGames You are an excellent teacher, so no problem! If you don't mind, I could really use your help with another tutorial. I have been trying to figure out how to create a walking monster using Niagara, like your tentacle effect but forward reaching based on velocity? Something like the prey morphing monsters when they aren't transformed. It's been tough to figure out. I can't wait to play around with this Chladni effect either, so cool!
Enrique, first off a HUGE thank you for the unique video. But I would like to ask you to record a video on how to use PBD to make meshes collide. Unfortunately, there are no sane instructions on how to work with PBD anywhere. And this will open up entirely new horizons for animation. Thank you agein!
Could this in theory be reproduced using a scratch pad to generate a vector field instead of using a material? Id like to attempt to extend this effect into 3 dimensions.
Great tutorial! Will be great to watch your tutorial about Niagara NeighborGrid. And also maybe it possible to make niagara sim looks like metaballs, it will be great tutorail too!
Is there a way to make them react to a static mesh with complex collision enabled? Some of the sprites seem to react to a shape being placed in their way, but other do not.
You might be adding some force on the vertical axis somewhere, maybe if you added a curl noise or some other force you missed setting the Z axis to 0. If everything else fails you can always try manually setting the vertical component of the velocity to 0 after the "solve forces and vel." module
Are there any TH-cam channels, documentations or books you would recommend in addition to yours when it comes to such content? Good tutorials like these are hard to find. In general, I'm wondering how you teach yourself such things. I understand the mathematical logic, which one can learn, but I find it difficult to translate that into Unreal.
Hi! There are a bunch of channels that do Unreal tutorials, but in my opinion, many of them don't explain how things work, or focus on parts of Unreal that I don't find that interesting. I always keep the official Unreal documentation close. Also even if they are not specifically about Unreal, sites like shadertoy are great to experiment and discover effects or techniques.
Thank you so much for this tutorial - it's exactly how i want to use niagara. I face one promlem tho: For some reason only the particles which are initially close to the lines of the texture are effected by velocity and start moving towards the lines, the others stay in place and dont move.. any idea why this is happening? (I'm using UE5.3.1)
Great Video! Sadly my particles only move towards the + direction and not to the closest position on a line as it looks in the video. That means that after a while all particles move to the top upper corner of the system bounds. If I multiply the forces with -1 it only moves in the - direction. Is there any obvious step I am missing or is it the Unreal Version I am using (5.2Preview)?
it could be due to a number of reasons; outputting the velocity map on a material should be a good way to debug what is happening, I would start there. Good luck!
@@EnriqueVenturaGames Hihi, thanks for the response! I managed to do that but for some reason i encountered the same problem as @moritztill2680 which is: "my particles only move towards the + direction and not to the closest position on a line as it looks in the video. That means that after a while all particles move to the top upper corner of the system bounds" been at it for some time but still couldnt solve
I have a couple other tutorials in the queue but I'll look into it! In the meantime, there's an example of RBD (Rigid body dynamics) in the Advanced Niagara samples of the content examples demo.
Kinda? Applying forces means that the particles will be pushed past the "destination" due to inertia, but if we set the velocity directly they merge at the point where v=0. Someone else mentioned having good results applying RBD (rigid body dynamics) to them to keep them apart.
Yes, you can add a collection of meshes and then select one either randomly, or using a script. It is not too hard to achieve, there is plenty of documentation and examples about it. Good luck! :)
how would one go about rendering this out in sequencer? you cant track a render target in the sequencer, so you cant have the shape change while rendering
@@EnriqueVenturaGames the blueprint function gets called, but it doesnt pick up the render target because its not actually in the scene anywhere, so if you change the shape before pressing play, then sequence, it will change after 1 second in the sequencer, but thats as much control as I could get out of it. you cant animate the properties of the material throughout the sequencer and expect it to change. at least that's what I've experienced in the last 6 hours or so aha
@@MasterPiffy You solved it ? Ran into the same issue I only could use Material paremeters in sequencer M,N in order to give some variation but I was expecting to do the same thing as you!
i do exacly as U but i have an error (float3(Particles.UV.xy, 0.0) /* Custom HLSL! */) this scroipt don`t work properly for me. i get tshit message: Cannot use variable in custom expression. it hasn`t been encountered yet: Particles.UV.xy - Node: Custom Hlsl - Empty. Particle GPU compute Script
This might be an error in the order of the modules. Basically it is complaining that you cannot use the variable Particles.UV because it doesn't exist yet. Make sure you declare the value before trying to use it :)
Hey man!! I actually ran into this one myself, I accidentally set the name of the node to be UV rather than the parameter itself, your engine might recognize the set parameter Vector2D instead of UV if this is the case! I’m still pretty new, so I’m sorry if this explanation is bad, but I figured I’d toss in some help if I could! Cheers!
Sigo intentando conseguir que los static mesh rueden a lo largo del piso y colisionen debidamente (sin colapsar en un sólo punto ni hacer clipping sobre el plano), sin embargo al añadir colisión vía GPU raytracing el resultado es muy pobre todavía, los mesh siguen atravesando el piso y colapsando en una sola singularidad. ¿Algún consejo? sea como sea, ¡me encantan tus videos! Muchas gracias por enseñar a éste nivel :)
En los ejemplos avanzados de Niagara hay uno que usa RBD (rigid body dynamics) para resolver colisiones entre partículas. El rendimiento no es muy bueno para usarlo en juego, pero para cinemáticas no va mal
Nice! I was looking for a Niagara system that can do this Ring of Power effect for so long! Now I just need to understand what the hell are you doing to do that black magic :-)
Hehe good luck! In just a few steps: - Create a material to display the equations that make the pattern - Get the field gradient - Apply it as velocity to the particles :)
@@lyudmilast2565It seems like it is another syntax issue "error: expected expression" means that there's a line that cannot be evaluated (usually because of a typo somewhere)
oops sorry, my fault on the big red text on that part: you are missing the float type declaration for the delta variable (for float delta= -0.6 etc.) (On the notepad version it is correct, though)
Brooooo, this is litteraly the jackpot. Nobody seems to be using Unreal for Motion design and niagara has some seriously underrated features that should have the mograph community raving! Especially combined with realtime photoreal rendering with Lumen means serious cuts in render times and faster client delivery. You. Are. The. BOMB! Yes!
Thank you! 100% agree, not enough motion designers interested in Unreal (know a few from work that are phenomenal using After Effects but won't touch Unreal with a stick)
@@EnriqueVenturaGames Looking back at this comment, I am now very excited to see a dedicated motion design toolset based on niagara that allows users to use the massive potential of unreal much much easier!
Absolute banger of a tutorial, this is amazing. Any news on when you will make a follow-up tutorial showing how particles can collide using PBD? that would be a game changer.
Incredible, thanks for providing exactly what I was hoping one could do with Niagara. This is perfect
This is certainly well beyond my expertise but I just have to try this, thanks!
This one is quite detailed and I go step by step without skipping anything, so it should be easy; good luck! :)
@@EnriqueVenturaGames I ended up being able to follow along easily, I appreciate you going into detail!
19:53. i have still colored particles instead of white particles. what i do wrong? i was deleted color parameter and in preview window i have still colored particles.
sorry I don't have UE open to get the exact name of anything but on the Texture sample (where you supplied the Render Target) there is a checkbox to color particles using the texture
Bro you out here sharing real magic
Thank you sir! Much appreciated!
@@EnriqueVenturaGames You are an excellent teacher, so no problem! If you don't mind, I could really use your help with another tutorial. I have been trying to figure out how to create a walking monster using Niagara, like your tentacle effect but forward reaching based on velocity? Something like the prey morphing monsters when they aren't transformed. It's been tough to figure out.
I can't wait to play around with this Chladni effect either, so cool!
Thanks ,Enrique Ventura
amazing work and amazing tutorial. keep up the fantastic work! thank you for this!
8:43 you can also add a copy of the multiply and add nodes after the sine and cosine it into a single static switch param
Enrique, first off a HUGE thank you for the unique video. But I would like to ask you to record a video on how to use PBD to make meshes collide. Unfortunately, there are no sane instructions on how to work with PBD anywhere. And this will open up entirely new horizons for animation. Thank you agein!
Added to the list of topics for future videos! :)
This is mind blowing!
👏Spectacular tutorial! Thank you 🙏
This is some really useful stuff thank you.
Glad you think so!
Could this in theory be reproduced using a scratch pad to generate a vector field instead of using a material? Id like to attempt to extend this effect into 3 dimensions.
Awesome man !
No, you are awesome :)
Great tutorial! Will be great to watch your tutorial about Niagara NeighborGrid. And also maybe it possible to make niagara sim looks like metaballs, it will be great tutorail too!
Good suggestion, and should be a quick tutorial! I'll see what can I do about it :)
Is it possible to make this with custom images? Like A text or a Logo, so in the end the particles reveals it
Is there a way to make them react to a static mesh with complex collision enabled? Some of the sprites seem to react to a shape being placed in their way, but other do not.
Hello, awesome video. I tried to repeat after you but I have an issue. Particles goes somewhere up. but in sine is ok How to fix it?
You might be adding some force on the vertical axis somewhere, maybe if you added a curl noise or some other force you missed setting the Z axis to 0. If everything else fails you can always try manually setting the vertical component of the velocity to 0 after the "solve forces and vel." module
Are there any TH-cam channels, documentations or books you would recommend in addition to yours when it comes to such content? Good tutorials like these are hard to find. In general, I'm wondering how you teach yourself such things. I understand the mathematical logic, which one can learn, but I find it difficult to translate that into Unreal.
Hi! There are a bunch of channels that do Unreal tutorials, but in my opinion, many of them don't explain how things work, or focus on parts of Unreal that I don't find that interesting.
I always keep the official Unreal documentation close. Also even if they are not specifically about Unreal, sites like shadertoy are great to experiment and discover effects or techniques.
Thank you so much for this tutorial - it's exactly how i want to use niagara.
I face one promlem tho: For some reason only the particles which are initially close to the lines of the texture are effected by velocity and start moving towards the lines, the others stay in place and dont move.. any idea why this is happening? (I'm using UE5.3.1)
did you managed to solve this problem?
Im also facing same question.
@@dragonnet8417 If I remember correctly I had to adjust the thickness in the material.. let me know if that's it
I had the same issue and yes, changing thickness worked! Thanks for the help!
Great Video! Sadly my particles only move towards the + direction and not to the closest position on a line as it looks in the video. That means that after a while all particles move to the top upper corner of the system bounds. If I multiply the forces with -1 it only moves in the - direction. Is there any obvious step I am missing or is it the Unreal Version I am using (5.2Preview)?
it could be due to a number of reasons; outputting the velocity map on a material should be a good way to debug what is happening, I would start there. Good luck!
I encountered similar issue, did you manage to solve it?
What if I want the particles to form a specific pattern or logo design based on a grayscale image?
That's even easier, just replace all the part where I generate the grayscale chladni pattern with a texture sample of a grayscale image. Good luck!
@@EnriqueVenturaGames Hihi, thanks for the response! I managed to do that but for some reason i encountered the same problem as @moritztill2680 which is:
"my particles only move towards the + direction and not to the closest position on a line as it looks in the video. That means that after a while all particles move to the top upper corner of the system bounds"
been at it for some time but still couldnt solve
can you put the code in the comment please???
Thank you so much
16:20 why my spirte render don't change to square? It's still circle. Even I set UV and Position likes you. UE 5.3 ...
nvm, i found it. It's as spawn count :D
my niagara don't "set new or existing paramenter directly" for UE5.31
Can You post a tutorial how to add self collisions on those particles?
I have a couple other tutorials in the queue but I'll look into it! In the meantime, there's an example of RBD (Rigid body dynamics) in the Advanced Niagara samples of the content examples demo.
@@EnriqueVenturaGames thanks for qucik answear. Thanks for info. Love your work :)
i learned that velocity merges the particles, while force keeps them separated ?
If that's true, that will fix one of my effects.
Kinda? Applying forces means that the particles will be pushed past the "destination" due to inertia, but if we set the velocity directly they merge at the point where v=0.
Someone else mentioned having good results applying RBD (rigid body dynamics) to them to keep them apart.
I got nice results with PBD (position based dynamics) th-cam.com/video/31GXFW-MgQk/w-d-xo.html
is it possible to add more than one shape to mesh renderer?
Yes, you can add a collection of meshes and then select one either randomly, or using a script. It is not too hard to achieve, there is plenty of documentation and examples about it. Good luck! :)
how would one go about rendering this out in sequencer? you cant track a render target in the sequencer, so you cant have the shape change while rendering
Haven't tried myself, but should not be an issue, since the changes come from the blueprint function calls, not from animation events.
@@EnriqueVenturaGames the blueprint function gets called, but it doesnt pick up the render target because its not actually in the scene anywhere, so if you change the shape before pressing play, then sequence, it will change after 1 second in the sequencer, but thats as much control as I could get out of it. you cant animate the properties of the material throughout the sequencer and expect it to change. at least that's what I've experienced in the last 6 hours or so aha
@@MasterPiffy oh dang, didn't know that (I haven't used sequencer too much) I'll have to take a look but atm I don't have any ideas, sorry!
@@EnriqueVenturaGames one of those times i hope someone comes along and tells me im wrong aha i want it to work so bad
@@MasterPiffy You solved it ? Ran into the same issue I only could use Material paremeters in sequencer M,N in order to give some variation but I was expecting to do the same thing as you!
i do exacly as U but i have an error (float3(Particles.UV.xy, 0.0) /* Custom HLSL! */) this scroipt don`t work properly for me. i get tshit message: Cannot use variable in custom expression. it hasn`t been encountered yet: Particles.UV.xy - Node: Custom Hlsl - Empty. Particle GPU compute Script
This might be an error in the order of the modules. Basically it is complaining that you cannot use the variable Particles.UV because it doesn't exist yet. Make sure you declare the value before trying to use it :)
Hey man!! I actually ran into this one myself, I accidentally set the name of the node to be UV rather than the parameter itself, your engine might recognize the set parameter Vector2D instead of UV if this is the case!
I’m still pretty new, so I’m sorry if this explanation is bad, but I figured I’d toss in some help if I could! Cheers!
Sigo intentando conseguir que los static mesh rueden a lo largo del piso y colisionen debidamente (sin colapsar en un sólo punto ni hacer clipping sobre el plano), sin embargo al añadir colisión vía GPU raytracing el resultado es muy pobre todavía, los mesh siguen atravesando el piso y colapsando en una sola singularidad. ¿Algún consejo?
sea como sea, ¡me encantan tus videos! Muchas gracias por enseñar a éste nivel :)
En los ejemplos avanzados de Niagara hay uno que usa RBD (rigid body dynamics) para resolver colisiones entre partículas. El rendimiento no es muy bueno para usarlo en juego, pero para cinemáticas no va mal
Thats some kind of sorcery i want to have nowadays
Nice! I was looking for a Niagara system that can do this Ring of Power effect for so long! Now I just need to understand what the hell are you doing to do that black magic :-)
Hehe good luck! In just a few steps:
- Create a material to display the equations that make the pattern
- Get the field gradient
- Apply it as velocity to the particles :)
Seher Sehr Geil! bekommee es nicht hin 😞
BUENISSIMOOOOOOOOO PERFECTO!!. queria saber un poco de este tema.. gracias
Me alegro de que haya sido util!
I don't understand why the code is not working in my case. Could you help me?
float lines = 0.0;
for(float delta=-0.6; delta
The first error line is telling you the problem; you are missing a parenthesis on the "lines+=" line, right at the end :)
Thank you so much for your answer but, that does not solve the problem. Please help! : )
float lines = 0.0;
for (float delta = -0.6; delta
@@lyudmilast2565It seems like it is another syntax issue "error: expected expression" means that there's a line that cannot be evaluated (usually because of a typo somewhere)
float lines = 0.0;
for(delta = -06; delta
oops sorry, my fault on the big red text on that part: you are missing the float type declaration for the delta variable (for float delta= -0.6 etc.)
(On the notepad version it is correct, though)
@@EnriqueVenturaGames Thx, I photo the screen and se the difference. I'm still training. eny finished project? to learn. thx BY!