Hey, I’m looking for some information on creating actors and utilizing blueprints to implement visual effects. I’m not quite sure if this is the forum for this, nor do I know where I’d find a forum for this. It feels very technical so I posted here.
Thank you for any and all help. I really appreciate it.
Could you explain in more detail what exactly you are trying to achieve?
Blueprints are pretty straightforward in regards to VFX, so I’m sure we can find a solution
I’m trying to implement a basic projectile, like a fireball. Just a missile of sorts. I have blueprints set up to spawn the actor when the “1” key is pressed. What I want to achieve is having the same missile do an initial burst animation, the missile main moving with the actor ( I’m using local space ) and a final collision with the actor.
I know you can generate collision events using the event handler inside of the Niagara, but I want to generate collisions with certain actors so that they can trigger different sequences of effects.
I’ll add some pictures tomorrow when I get another opportunity to update you.
Yeah some pictures would be helpful.
By the sounds of it, I would handly most of this in blueprint only though.
You can get collision events from blueprint (when your missile hits something). Unreal’s projectile component gives you most of this behviour out of the box.
Then you can check which actor you have hit and play different Niagara effects etc.
I’ve played around and updated these images. It has worked for me thus far, but if you have more advice that would be amazing too.
Here is the Actor Set-Up in Order of Execution
The actor’s magic missile travels and has a collision box on it.
The receiver actor (which has a typo, but im lazy) also as a collision box on it.
They are both capsule collisions.
So I think the way this is working is:
- The caster actor is casting the spell at a 3-second interval. Then the missile itself is checked for when it collides with the receiver actor, then sends a message to the world transformation of the magic missile main projectile to spawn the impact animation.
Let me know if this is how this works or if there are better more efficient ways to do this. I’ve only ever messed with the Niagara editor so I’m very new to blueprints.
Now the issue I am running into is trying to destroy the impact actor when it is finished its animation. Should I try using a timer? Is there a way to detect if the animation has completed?
I have the gravity turned off in the projectile movement, and the speed set at 1000
Just some general advice:
I would avoid casts in blueprints, if possible. They will create hard references, which means it loads everything into memory at the same time (the blueprint your logic is in + all the ones that you are casting to).
A better way of checking if your other actor is a specific one, is simply by tag. Just set an actor tag on your ACT_Receiver and check if your ‘Other Actor’ has this tag.
You can also get rid of your 2nd cast and just do ‘Get Actor Transform’ it will pick ‘Self’ by default.
For the destroy part of your missile, I would do this inside the missile itself, just after you have spawned your impact. Then there is also no need to cast, as it’s all handled in the projectile itself.
And now, finally, to your impact
If it’s a Niagara System only (only VFX), you can just use ‘Spawn System at Location’ to spawn a Niagara system, instead of an actor. It will handle the destroy by itself once the effect is finished, if you tick ‘Auto Destroy’.
If you have other logic in your impact actor, that you need to trigger though (and your Niagara System is directly in that actor), it’s fine the way you are doing it. Just make sure to destroy the impact actor, once the impact effect (and other logic) has finished.