Hi, I’m new here (probably the first time you’re reading an introduction like this ),
I’m starting to dive deeper into VFX a little bit and wanted to tackle Audio Visualization (specifically music) with UE4’s niagara system, since it seems to have a lot of potential.
I’m using a simple setup: A grid of cubes that should scale along the Z-axis when the Blueprint handeling the sound visualisation tells them to. The blueprint sends data to niagara using a “niagara parameter collection”. That works fine. The only problem I’ve run into is distributing the signals from the sound visualisation to the corresponding indizes on the niagara particle cubes. I hope you get, what I mean. I want my cubes to be distributed equally along the 20 frequency spectrums I’ve set in the blueprint. But I can’t seem to get anything sensible with the Particle ID and the passed index from the blueprint.
The Blueprint: Sound Vis to Niagara WIP 01 posted by anonymous | blueprintUE | PasteBin For Unreal Engine
The niagara Particle update module handeling the cube scale:
Shoutout to @cannabis.cod3r for his awesome tutorials that helped get me started in niagara in the first place. Thanks, man!
1 Like
You’re very welcome
I should try passing a Niagara Parm Collection myself, I haven’t done that yet.
As for indices:
- Particles.ID only works when ‘Require Persistent IDs’ is enabled in the emitter spawn properties and CPU sim mode is set.
- Exec Index works in both modes, but doesn’t provide a stable identifier. I talk about this in my Particle ID tut.
I believe persistent IDs in GPU mode are coming down the pipe.
Once you get particle IDs sorted, I think it should be fairly easy to distribute frequencies in groups. You could use a single emitter, or many of them (one for each frequency group).
One last thing, I also have a tut on feeding OSC to Niagara. And if you enable the latest audio engine, there is a granular, subtractive, and wavetable synth.
1 Like
Thanks for your reply!
That’s right where I’m stuck though at the moment.
I know about the difference between Particle ID and Exec Index and purposely used Particle ID for persistency. Maybe I’m stuck on a really simple problem and I just don’t see it at the moment. In Niagara Modules there are no loops. So how do I get the Indizes and corresponding offset values (floats) to the module and the cubes? Am I missing something really stupid?
I got you covered again: for loops in Niagara
Of course you do!
Thanks, I’m gonna take a look at it and get back to you.
Hello,
I’ve got a quick question: what should I do if I have to use GPUsim because I need to use texture sample (here I’m referring to @cannabis.cod3r video tutorial on using render targets for particle colours). I tried using Exec Index but the results are a bit inconsistent.
Thanks
I use ExecIndex for the render target tuts and haven’t noticed any issues. I’ve heard stable particle ID support for GPU mode is coming.