UE4 Tutorials by tharlevfx

This week we have a look at various ways we can make dynamci gradients on our models, depending on different use cases.

4 Likes

This week we have a look at how to use Spawn Per Unit to make a sword trail, and what issues that might cause, and what alternatives we could use.

4 Likes

I don’t know how I missed the last three of your lesson updates, but thank you! Those and the SPU Niagara stuff all look great, and I can’t wait to dig into them!

@tharlevfx
I think, unfortunately, the tutorial understates how big of an issue the straight lines between animation frames is. If you try to do this on any proper sword attack, you’ll notice you usually only have like 4 or 5 frames in the slash, which is not nearly enough to create a satisfying curve.
Even worse, if you have a properly tessellated ribbon animation trail, the straightness becomes even more obvious.
[I don’t think there’s a good solution for this, I just wanted to point it out in case people where wondering why it didn’t work for them]

Selecting position using a bool probably hasn’t been implemented by epic, but it’s easy to write a dynamic input for it, so I definitely recommend that over using lerp, for readability.

Be careful with setting multiple things that depend on each other in setters. Setters will read from and write to the same map. In this case, this means position will not read the value of HasRelease you just calculated, but the one that was already in the map from the previous frame.

If you set previous position manually like this, you risk not dealing correctly with more complicated situations where the position has already been changed in the current frame.
Niagara automatically saves the previous position to Particles.Previous.Position when using SolveForcesAndVelocity, so you’re also doing some extra work.
But even more importantly, since you’re using SimulationPosition as the attachement, point, the current and previous position will never be different from the current and previous SimulationPosition. So it would be much more beneficial to do those calculations once on the emitter level, instead of doing them for all your particles, and throwing most of it away.

Rest of the tutorial is great, especially a fan of showing people they don’t need to be constrained by the data generated from the animation to get good results.

3 Likes

oh interesting stuff - i do usually do my set parameters as separate modules to keep things cleaner, not sure why i didnt here - but good advice.

I didnt know about previous frame position too - thats very handy.

I did experiment with using a sphere location, which adds another level of complexity to the setup, so i see what you’re saying about previous position.

Thanks for the feedback!

2 Likes

This week we have a look at a material tutorial course I’ve been developing in Unreal 5 - part 1 focuses on the basics of the Material Editor and Environmental Materials.

@unrealengine #vfx #vfxfriday #unrealengine #unrealE #unreal #tutorial #gameart #gamedev #ue5

1 Like

Full videos for Intro To Niagara, are now available on Gumroad - over 100 videos and 12 hours of content covering so much of what Niagara has to offer

3 Likes