Ribbon between two static mesh components

I’m trying to set up a beam emitter between to static mesh components within a blueprint. These are the current setups I have working but the meshes don’t seem to be properly set in the emitter when I place it within the level. Does anyone know what I’m doing wrong?

Hey.
I think the only thing you have to do, is to enable Abolute Beam Start and Absolute Beam End under the Beam Emitter Setup. I think everything else is going well, but they are just offset in worldspace a bit.

Okay, I stopped typing and wanted to check to be sure:

And yep, you have to tick these to get the right position.
I hope this helps! (Also neat idea)

Thanks for the reply! I just tried that but I think something else might be going wrong with my system. That definitely moved the location of the beam but it’s still not attached. Here’s what it looks like currently:

particle problem

Debug your positions with random particles, just to make sure your start and end positions are actually valid and on the rings. If that’s the case, you know the fault is within the beam setup.

Also try copying over an example from the NiagaraContentExamples, which you know has a working Beam Setup, then just exachange the start and end locations.
If they are still offset you can try to transform them to different spaces. E.g. World to Simulation. The positions you are getting are in World Space, so maybe you need to transform them (or as raytheonly) mentioned, use absolute positions in the beam, that should work also.

This gets hard to debug as there are many possibilities where this goes wrong. Priareos mentioned some good points for starting to debug. But I throw in some more possibilites:

  • In my example, I had the meshes and the particle system in the same actor. Is this true for your setup?
    It may be, that the particles are doing everything correctly in their local space. So both have to have their origin in the exact same position.
  • Also, did you check Local Space in the Emitter Properties? I had it ticked off.

Yeah if I try and to it with the default beam emitter that the engine gives it’s also incorrect so I think there is something wrong with the way the blueprint is set up. Will try and debug further and update later.

So I think I’ve figured out the issue but I’m not sure what the solution is. The Small Ring and the Large Ring are both being set as the small ring? Could it be that the Large Ring is offset in the actor and it’s not being applied when setting the static mesh component in the emitter? Or could it be that they are both using the same mesh from the project? Do I need to have two different cylinder meshes for the two different components? They are definitely two different components within the BP…

Edit: Debugged this even further this morning and it appears that the transforms within the actor are not applied when passing in the component to the niagara system such that it is choosing points on the ring mesh based on it being located at 0,0,0 and with a scale of 1,1,1. I’m not sure how to pass that into the system/module to make it work.
Ring transform