Niagara / unreal GDC

He’s using the Niagara Dev-Stream, which you can get access to as a licensee. Think of it is a preview for 4.20.

1 Like

Ah, alright, I don’t think I have acces to that on my laptop here, I’ll have to wait until 4.20 then :smiley:

Yeah, the StaticMesh module was probably the trickiest to work with so far. Switching the mesh will cause a crash if you forget to click the “Fix Now” button before running the sim. Getting the normal causes a crash but getting the normal in WS doesn’t. Not feeding a proper Coord…etc. Basically, a lot of things can trip you up. You have to build stuff up in excruciatingly small steps at times to identify a Niagara WIP issue against an issue with your code.

My previous video was bothering me because the rotation was wrong. I wanted a LookAt function but couldn’t find one. So I went rummaging around the code, wondering how I’m going to expose the existing one. Too much work. I wonder if I can translate just the math part using nodes. Fail. Sigh…I wish I could just type it. Ding! Ding! Ding! CustomHLSL node. OMG yes. I grabbed a Unity C# lookat function :smirk: and translated it into HLSL.

I wish I could take the LookAt vector and animate its position in Sequencer. This could easily become that eyeball effect in the Mash video:

Lastly, it might be time to beef up the HLSL editor. But building an editor is no small task. Live link to an existing editor would make a good compromise. Best of both worlds.

Hey all, I animated the target point to look at.

I should fly around that in VR editor mode 0.o
And of course, no work done on geo/shaders (that’ll come after I feel somewhat feature complete).

1 Like

Amazing work here, your tutorial was really interesting. Would definitely be interested in seeing more like it, especially covering some of that amazing rotation stuff happening in one of your earlier videos where you turned the table into an amazing rotating array. I wonder how difficult it would be to be able to pipe music in and control the parameters based on frequency ranges?

I wish I could take the LookAt vector and animate its position in Sequencer.

Were you able to get this working? We do have Sequencer integration for niagara but you have to animate the niagara component on an actor through the level editor sequence UI. Once you have the actor and component in your sequence you can add a track to control the lifetime, and can add tracks for user parameters you’ve exposed.

1 Like

An audio data interface is definitely on our todo list but it won’t be ready for the initial experimental 4.20 release.
Hopefully it won’t be too long after that though.

1 Like

Once you have the actor and component in your sequence you can add a track to control the lifetime, and can add tracks for user parameters

Aaaaahhh…okay! I will definitely try that. Thank you for the explanation. Hopefully it’ll smooth out the jitter between parameter changes. I’d also like to see Engine.DeltaTime working. I think it was crashing my script in previous experiments, so I just fed a constant delta time (hack!) into the system.

Amazing work here, your tutorial was really interesting. Would definitely be interested in seeing more like it

Thank you! I will definitely try and make another tut. I would love to crank out Niagara features and make tuts full time but this working for a living keeps tripping me up :wink:

Interesting idea that was just suggested to me by a co-worker: Tilt Brush for Niagara 0.o

Cheers!

Awesome stuff, being able to drive parameters similar to these video examples using frequency and amplitude ranges would be insane. Can’t wait to try this stuff out, keep up the great work.

I got DeltaTime to work by feeding it into Particles.DeltaTime, then adding an if into the evaluation scripts to choose between engine DeltaTime and Particles.Deltatime.

Doesn’t seem to crash for me and it allows writing aswell as an extra bonus :smiley:

Which is cool cause you can do stuff like this.

6 Likes

Ah, good to know! I was using the node version.

delta

Great start. Nice little moment there.

It’s been a weird night. Couldn’t get my math working and ended up surfing with a disco ball.

Speaking of math, what types of math do you guys see being useful to learn given all the extra parameters we’ll have access to in creating our own modules?

Basic vector math, just for being able to write movement modules is probably going to be most prominent.
Transformation matrices.
Dotting for projection, crossing for finding normals and tangents and stuff.
Sine and cosine for rotations.

I think most basic solutions will be part of the kit though, so you’d probably get away with just understanding how it works.

1 Like

My entire weekend…

Couldn’t get the feature I wanted working. Frustrated as hell. So I had some tequila and found some tentacles…

What were you trying to do that you couldn’t get working?

If anyone wants to try this:

Here is the particle update module:

1 Like

@FrankFella So I gave Sequencer another crack…(Don’t tell anyone, but it’s my first time using it.) :neutral_face:

The play button has no effect on the system in my level. I’m guessing a n00b to Sequencer issue…

If it’s a blueprint, you probably want to be ingame aswell as have the specific instance of the level sequence running. Try using Simulate instead of play -> select your level sequence in the level -> Press play on that one aswell.

@cannabis.cod3r I think the issue here is that you’re animating parameters in the emitter spawn script. These values will only be evaluated when the component is activated and the emitter starts spawning, you’ll have better luck if you animate values used in one of the update scripts. Another thing to verify is that the user values are changing on the component in the details panel.