I have created a niagara system with an arrow mesh that spawns along a spline. I want it to be able to orientate itself so that it rotates based on how the spline turns. Right now I can only get the arrow to point in one direction as it follows the spline.
Two options (that I’m suggesting.).
You could use an event in the Niagara system that has the arrows and have it set the particle rotation whenever it gets to a location. There’s a “Location Event” module you can add to whatever system or emitter you need it to use. Just have the location be a variable set by a BP, in the construction script have a bit that figures out where the spline changes rotation and set an array of vectors, then for each of those vectors it figures out what direction the spline is pointing at that point and then it has an array of rotators to go along with the vectors. Then just link the system and the BP and it should work ok.
One thing to note is that I’m not currently aware of any way to find where a spline turns, so you’ll have to do your own research, but that should work well, I think. I don’t know how complicated you want your splines to be.
Second option: You could scratch the Niagara thing altogether and make a BP that does all this for you. Just have a parent BP that has the spline in it, and have it periodically spawn arrows for you with whatever texture you want, and then have them move along the spline and set their rotation every tick. I am currently unable to access unreal engine because of some crashing stuff, so I won’t be able to test this for myself, but those are my two cents.
Hope it helped,
ShakeATower4
Add map set for particle velocity in that spline fx. And add sample spline direction by unit distance ws which is then connected to that velocity. Then in sprite renderer aligment needs to be set to “Velocity Aligned”.