#visual-fx

1 messages ยท Page 15 of 1

wanton vector
#

Jesus.

#

I had a grass material instance which I had used to play around with the dividing number two days ago. It was way too high. Working now! ๐Ÿ˜ƒ

celest birch
#

Awesome ๐Ÿ˜ƒ

wanton vector
#

To make the render target show a wider area, I just increase it's values right? And those values I multiply to get the scene ortho width?

celest birch
#

To increase the area, you need to increase ortho width and use the same value for the division

#

You might want to store the ortho width in a parameter collection so you can easily reference it in the material

wanton vector
#

I found an issue where if I stand in one place for too long, the particle stops looping and the rendering stops as a result

#

Oh nevermind, it's the lifetime of the particles probably.

#

Or not

celest birch
#

As in they stop spawning?

wanton vector
#

Yeah

#

The render still shows the particles where I've been walking up till that moment

#

So those particles are still alive and well

celest birch
#

Might want to check your loop settings. Required module > Duration > Emitter Loops

#

Should be set to 0 for infinite looping

wanton vector
#

Yeah, all that's set, but I'll play around with some values and see if it changes

celest birch
#

Maybe uncheck Auto Destroy when you spawn the emitter in BP. I would just attach a particle system component though instead of spawning one

wanton vector
#

I've got that unchecked, but I'll attach the system to the actor instead ๐Ÿ˜ƒ

#

Feels so good though, to run around and see the trail actually working. Hats off to you, Tommy!

#

How can you use Owner No See in a multiplayer set-up? If only the actor can't see it, then other actors can

celest birch
#

Unsure about that one. Don't have any experience with multiplayer

#

Since you'll need to do a Get All Actors anyway, maybe get each actor's particle system and set owner to current player

wanton vector
#

Yeah

#

Something in that direction, but yeah! I took the time now, the particles stop after 40 seconds

#

So now to find that value somewhere ๐Ÿ˜‰

celest birch
#

Might be that you're hitting the particle limit. What happens if you wait some more until the visible particles despawn?

wanton vector
#

Yeah, was just looking at that ๐Ÿ˜ƒ

celest birch
#

I wonder if GPU particles would work here. Might be worth it to give those a shot

wanton vector
#

Yeah that's where the issue is laying.

#

I'll try that when I'm back from walking my dogs. Thanks a ton for the help Tommy, if I get GPU particles to work I'll just move on to the bending part. Hopefully the logic I have in place already works haha

analog onyx
#

@wanton vector Don't attach scene capture to the player, or you will have discrepancies between its position in game and render thread

#

Instead, have world as parent to scene capture, and have a function that gets player position and moves scene capture. Run it per tick or at any custom rate

wanton vector
#

Okay, I'll have a look into that, @analog onyx. What did you do in order to not spawn a bunch of particles in the same spot while standing still? I need to drive the particle through an event that calculates if the character is standing still, and tell it to deactivate, and activate when I begin moving again? Having issues combining the WPO bending logic with the render masking hmm

analog onyx
#

@wanton vector You can control spawn via direct parameter, or just use spawn per distance of the particle system

wanton vector
#

Okay, sweet, I'll check that out ๐Ÿ˜ƒ

wanton vector
#

Hey @analog onyx, could you share some info on how you made your grass bend? The math I had for my grass's WPO is acting all crazy when I multiply it with the render target.

analog onyx
#

@wanton vector Nothing fancy, just a placeholder. Push top vertices in the 2d direction of the vector stored in render target. Push the same vertices downwards, depending on how large was the first vector. Control both offset with scalars.

wanton vector
#

@analog onyx Hmm, okay. How did you combine it with the render target logic? When I used the render target logic with the base color, I get an accurate result, but when I multiply the render target set-up with the setup of the bending, the grass goes haywire and the mask isn't doing it's job anymore.

analog onyx
#

What are you storing in the render target ?

#

and in what range ?

wanton vector
#

When I multiply that with the base color the line is colored by the particles.

analog onyx
#

Why would you store player's position in a render target, if you can just pass as material vector parameter or as a part of material parameter collection ?

wanton vector
#

Not entirely sure, but the position is a material parameter collection. The tutorial I followed for the WPO bending used this method

analog onyx
#

Well, you should decide, what you are actually storing in render target. Without it, you can't decide, what you need to do in WPO with it.

wanton vector
#

Hmm, okay. I'll play around with it

celest birch
#

@wanton vector Hint: remember that the particle texture only goes from 0 to 1. This means you can only represent one quadrant of directions. To represent all four quadrants, you need to convert the range to -1 to 1

wanton vector
#

@celest birch Hmm okay, but I'm not entirely sure how that would affect the WPO combination. Haha, I'm not entirely sure how to proceed to make the grass meshes bend. Fixed the particles spawning rapidly while standing still by grabbing player movement and deactivating the particle system if the speed == 0, and when false I reactivated it. Anyhow, I'm simply multiplying the render target logic with the base color logic and BAM I get the color trail. When I try to do the same with the WPO logic it just goes wonky, I'll show you in a gif. Gotta get the pro version of Gyazo haha

celest birch
#

Oh dear a tutorial where they don't show you the result at the beginning or end and explain what you're doing

wanton vector
#

Yeah, it's just "Do this, and this, and then you get this" ๐Ÿ˜ƒ

#

So I dont really understand the logic of the bending math at all, which is why I'm lost at sea

celest birch
#

@analog onyx I'm assuming your grass mesh is made of multiple planes. Are you storing plane pivots anywhere?

analog onyx
#

@celest birch Sampling using instance position, instead of vertex position

#

But for larger clusters, you would need to store pivot somewhere, yes

celest birch
#

Ah alright

#

@wanton vector Is your grass mesh one plane or multiple?

wanton vector
#

Multiple, it's the Kite grass

celest birch
#

Welp this makes it a bit more complicated

wanton vector
#

Uhoh

celest birch
#

Can you click UV and select the second channel and then screenshot?

#

I wonder if Epic already stored pivot in UVs

wanton vector
#

Sure, sec

celest birch
#

Ah okay nvm they're not storing it

#

Basically, you need the pivot point for each plane so you know what to rotate it around

#

But that information isn't readily available so you have to create it yourself. I store mine in the UVs using Maya

wanton vector
#

There's no way to bend the meshes just using the math logic I've got? How would I see if the pivot point is in there? I got some other grass meshes from the marketplace

celest birch
#

You can move the top vertices down but I don't think you can use the current logic to do any bending

#

At least, not correctly

#

Highly doubt other grass meshes would have the pivot as it's a pretty specific thing to make

#

If the other grass meshes are a single plane, that could work. Got any like that?

wanton vector
#

Double-planes :/

#

Well, I got one mesh, but it would look absolutely horrible. The kite grass is beautiful haha

celest birch
#

@analog onyx Are you just rendering (0.5, 0.5, 0) color to render target for the background?

analog onyx
#

@celest birch I must admit, I slapped an object with this color under the scene capture ><

celest birch
#

Omg lol

analog onyx
#

busted

celest birch
#

@wanton vector For testing purposes, an approximation of the pivot point might be fine here. First step is to do what Deathrey just said

#

Which is why you want the background of your render target to be that color

wanton vector
#

Oh okay!

#

It's not rendering the color, and the plane is rendered above the particles although it's below in the actor

#

@celest birch Not sure how to make the rendertarget render that color

celest birch
#

Did you add it to the showlist?

#

Note that this is approximating the pivot point. Will probably fall apart once you have grass that doesn't point straight up

#

You should be able to feed the result directly into WPO

wanton vector
#

It's ticked to show. I just added a plane under the scene component under the character / scene capture, like Deathrey

#

Wow, thanks for sharing that man ๐Ÿ˜ƒ

#

I'll try to wrap my head around that code

celest birch
#

How do you know plane is rendered above particles?

wanton vector
#

It's showing the plane mesh without it's material, and before I made the plane bigger, it showed the particles underneath

celest birch
#

That's just the alpha

#

Gotta disable it again

wanton vector
#

Oh man ๐Ÿ˜ฆ

#

Yeah its not rendering the plane

celest birch
#

Try adding the plane into the world, not attached to the character

wanton vector
#

Same result

celest birch
#

Hmm not sure then. Might have to play around with it or maybe set Primitive Render Mode to Use ShowOnly List and add your character and plane to the showlist

wanton vector
#

I set the render target to Base Color RGB

#

But that introduced some nasty masking to the grass meshes, totally horrible

#

Ive got an issue with the Show Only, which is why I havent used it. It's not allowing me to pick anything

celest birch
#

That is strange... works on my end

#

Perhaps try restarting the project

analog onyx
#

I actually had a few flipping issues like that on 4.19. Set showlist from the blueprint, it will work properly.

wanton vector
#

Yeah Im using 4.19 ๐Ÿ˜ƒ

#

How would I set it from the BP though?

celest birch
#

Do something like on BeginPlay, character adds itself to the scene capture's show list

#

Just to make things easier, re attach the plane back to the character

#

Then add particle component and plane component using Show Only Component

wanton vector
#

Ah okay

celest birch
#

I'm not sure if using Show Only Actors will render the character mesh in the scene capture

#

So might need to use Show Only Component instead

spare hare
#

Is there a way to disable specular Highlights with a Post Process?

celest birch
#

Don't think so. Anything you do will be a hack and will screw up fog if you have any

spare hare
#

Hmmm. Any other way to simulate underwater PP?

wanton vector
spare hare
#

Things don't look "shiny" (wet) when they are underwater.

celest birch
#

@wanton vector Does it show the particles at least?

#

@spare hare Could add some sort of depth check to your materials to check if it's under water. If it is, just set specular to 0. Lot of work to add it to all materials though

wanton vector
#

Yeah it shows the particles, but it's doing that without the showlist

#

@celest birch

celest birch
#

Definitely got it set to Use ShowOnly List right?

wanton vector
#

Aye

celest birch
#

Enter Deathrey the wizard

analog onyx
#

@spare hare Detect, when camera is underwater, and suppress secular input on all materials globally.

#

<

celest birch
#

Unfortunately he was answering another question

analog onyx
#

With the scene captures, you can really add actors to, that have particle systems attached, to the showlist via get all actors of class

#

while setting the capture itself to render nothing else, but particles

celest birch
#

So should work for the plane too and setting scene capture to capture static meshes as well, right?

analog onyx
#

Yep. But the object underneath, can be a particle too ><

celest birch
#

Oh yeah that's true

#

@wanton vector Yeah so try setting Show Only Actors. Will have to detach plane again and place into world. Or could just spawn giant particle with (0.5, 0.5, 0) color

analog onyx
#

@spare hare alternatively, if you know approximate water level in advance, just fade specular gently from water to underwater.

wanton vector
#

Man, maybe I should just update to the latest version, 4.19.2

#

It's not showing up

#

Ohh okay

spare hare
#

@analog onyx Sounds all like dirty hacks :/
Overriding GBuffers or disabling single GBuffers would be necessary ๐Ÿ˜ฆ

wanton vector
#

Well this is how the code is looking right now. Im unable to add it manually in the Scene Capture

analog onyx
#

@spare hare Why? Just do it in mesh's material.

celest birch
#

@wanton vector Maybe try the particle method and attach it to the player. With Owner NoSee as well

spare hare
#

@analog onyx I don't know the Water Level in Advance,

analog onyx
#

Vertex paint dampened specular, where needed

#

It is pretty strange, that you do not know water level in advance though. Unless you have a slanted river or really large multitude of small lakes, you should.

wanton vector
#

Hmm... now its not showing the particles, and with the WPO setup you showed the grass goes crazy in one direction

celest birch
#

Maybe try lowering the plane like 1000 units or something

#

Tested the WPO setup on my end so you might've set up something incorrectly

wanton vector
#

Still the same

celest birch
#

I'm outta ideas lol

wanton vector
#

Its weird that I cant see the particles on the render target though

celest birch
#

I gotta sleep now. Hopefully you can get it working!

wanton vector
#

Yeah thanks for the help Tommy, really appreciate it!

spare hare
fossil swan
#

need a wire version that only does 45 degree angles

wanton vector
#

Yeah that looks awesome

analog onyx
#

Such clean wires. Reminds me of my water material, proudly flying on blueprintsfromhell

spare hare
#

Reroute Nodes in Material Editor are garbage ๐Ÿ˜ฆ

analog onyx
#

I've been actively requesting reroute nodes since release. I haven't used not a single one, since they were implemented.

fossil swan
#

im fine with em

spare hare
#

they do not align to anything lol

wanton vector
#

@analog onyx 4.19.2 didn't resolve the ability to select Show Only Actors, and so if I have a giant particle system far below the character, it takes up the whole render target and I don't see the same rendering as Tommy had, where the particles are still rendered on top of the plane. Is there another way to do this?

wanton vector
#

I managed to bend the grass by one-minusing the math you sent me @celest birch and increasing the Rotation Max value to 0.9. It's all rotating in one direction so I'd love to get the Scene capture 2d background color to work so the direction actually works, but it's nice to get a half-decent result ๐Ÿ˜ƒ

#

All the grass that is being bended is flickering insanely while moving though

#

Managed to make the plane render ๐Ÿ˜ƒ

wanton vector
#

But yeah, tomorrow I'll be working to around this time when you go to bed, but if you have any suggestions on how to make the grass bend in the direction I'm moving and not the same uniform direction, and stop the flickering, I'll read that when I'm home

#

https://gyazo.com/b05910467d3456f43a61e5537554db9a Here's the rendertarget while running. I'm guessing the reason it's pointing the set direction is because of the color the particles are releasing? Also, when I opened my main level, the particles did not render the same way as on the testmap (I'll check tomorrow if they render at all), and the effect was pulling the grass up rather than down. I'll show you tomorrow eve.

But yeah, the main issues now are:

  1. The direction the grass mesh bends is currently only in one direction and I want it to bend the direction I'm moving.

  2. Bended grass meshes flicker when I'm moving.

  3. Works differently in another level with the same set-up; could it be that the world location is interferring? The main map varies a lot in height, I'll troubleshoot this tomorrow.

Thanks again for all the help and patience :)

brittle steppe
#

How come my shadows are all weird?

#

I have a directional light on it

visual hazel
#

@brittle steppe Are you using static or dynamic lighting?

brittle steppe
#

I have no idea ๐Ÿ˜… @visual hazel

visual hazel
#

Is your directional light set to Moveable, Stationary, or Static?

brittle steppe
#

stationary

visual hazel
#

Okay, so either set the light to moveable or increase the lightmap resolution on your floor.

#

Stationary means it's using static lighting btw.

brittle steppe
#

Oh, I had no idea xD

#

Thanks :)

#

What would be a good resolution for the lightmap?

visual hazel
#

Bigger than it is now XD

#

It really depends on how much detail you want in your scene.

#

But for now just try doubling it and see if that works.

brittle steppe
#

Just enough for those weird things to go away

visual hazel
#

Also you need to build the lighting for it to work.

brittle steppe
#

It still looks kinda weird

#

I tried doing both

#

wait no it just updated

#

Thanks :)\

celest birch
#

@wanton vector

  1. The particle color looks strange. That's probably why it's not bending correctly. Color should be as how you had it in this: https://cdn.discordapp.com/attachments/375020523240816640/442741596434333706/unknown.png
  2. Flicker might be because of the rotation angle you set. Ideally, it should be less than 0.25 which is a max of 90 degrees of rotation. Fixing particle color would probably fix this too.
  3. This is probably because of the approximation of the pivot point. Currently, it only works for grass pointing straight up. Any grass on a slope won't work properly.
visual hazel
#

Is there a way to make particles move into the shape of a mesh? I can do it with Blender, but I don't know if it's possible with UE4.

tawdry mica
#

yes, just don't ask me how

#

But I know it's possible

#

some of the content examples from paragon have them

visual hazel
#

Okay.

#

Also I have this glitch with the point attractor. I'm using it to make the particles attracted to the center of the particle emitter. However, if there is any frame hitching, the particles get a bigger orbit radius. Why is this happening and how can I fix it?

spare hare
#

@brittle steppe a rule I follow is:
Where shadows are clearly visible : High Resolution (Floors, Flat Walls,Tables etc)
Objects with lots of cavities and concavities: Low Resolution (Statues, Rocks)
The optimal resolution is as small as possible with as much detail as you need.

#

you have to test this a lot

desert sage
#

anyone know why my particles aren't showing up when I press play?

worldly pivot
#

@desert sage Could be any number of reasons

#

You mean play in game or play in the editor?

#

Like when you hit the play button, or inside the VFX editor

desert sage
#

play in editor

#

also simulate

#

I assume when you say play in game you mean in a build

worldly pivot
#

You need something that triggers it usually \

#

unless its set to loop

wanton vector
#

@celest birch Hey man! Thanks for the feedback!

  1. I haven't changed the color since that picture, but is this how you've setup your particle material? My particle system is spawning one big particle.
#
  1. Well the issue has to be in the particle material color then, as the grass is lowered insanely when dropped to 0.25. I find it weird that I had to oneminus the logic that worked for you. But other than that, if I have the value of rot max angle at 0.9 the grass is tall and the grass that bends is touching the ground, any other value and I can barely see a track or it bends upwards more than downwards (lower values)
#

I also tested the grass on slopes in my testing level and it all bends just as fine as on flat ground, so I'm not sure what the issue is, maybe it's just that the particles aren't rendering for some reason in the actual map. Strange behavior though

celest birch
#

@wanton vector I haven't used the particle method myself but I imagine that's all you need for the material

wanton vector
#

Oh, what method did you use?

celest birch
#

Draw Material method

wanton vector
#

Oh okay

celest birch
#

Fixing the particle color should be first step

wanton vector
#

Hmm yeah

#

@celest birch Just confirmed. The particle color is the same, it was just the 0.5,0.5 background that made it look like it wasn't. @analog onyx you made this system work, do you have any inputs on what I could do with my particle system/color to prevent the same-direction bending & flickering?

#

"...and the particles render fine, albeit with inverted alpha so you need a OneMinus in the material..." one dev wrote, so thats why I needed the oneminus ๐Ÿ˜ƒ ... then he wrote "Note that in 4.13 (possibly the later 4.12 builds too) there have been changes to the rendering that un-inverted the alpha (but only on PC, iOS is still inverted, which is a little annoying)", but that part works atleast.

analog onyx
#

@wanton vector mind the additive blend of the particles, that I have seen on one of your screenshots

celest jasper
#

How would you do particles on curves? Vectorfields are kinda inaccurate if you don't go full out and make them super large. Do you know someone who coded a solution with particles on splines?

#

I feel like I would need to throw something up with Spline Components, some Instanced meshes and more magic in material node.

wanton vector
#

@analog onyx Oh, I used Additive since the Brush mat from the GDC talk used it, and I thought it was needed to add the material to the track, aswell as the current position. Resetting the material to opaque, default lit, etc, didn't alter the effect though

#

But maybe the particle is always resulting in the same color (considering it's dependant on a color sheet where the direction is decided by the colors) since the particle is attached to the character, so the particle will always return 0.5,0.5? As shown here:

#

It's showing the same color repeatedly, not rotating dependent on any rotation, so it wouldn't know what color it would return?

celest birch
#

@wanton vector Not sure what problem you're having. Particle won't ever change color since there's no logic to do so.

wanton vector
#

Yeah... Im just brainstorming haha.

wanton vector
#

But the direction the meshes bend is decided by the particle material using the color direction sheet you shared, so if it's always returning the same color (direction value) then I thought that would be the cause of the grass meshes bending in only one direction.

#

@celest birch

celest birch
#

The particle is not just one color though

wanton vector
#

But like you said, I dont have any logic for the particle mat, so I thought I could rotate the particles depending on the characters rotation. The emitter is attached to the actor with a rotation of 0,0,0 - since it'll never rotate the color for the particles will always be the same direction? I'll debug this after work

#

True, but how would the render target know which color value to use? Is it simply detected by character's movement?

celest birch
#

The render target just captures the entire particle. It's supposed to use all of the values

wanton vector
#

Hmm, okay

#

If thats not the issue, then Im pretty unsure haha. Deathrey hinted at the additive blend of the particles material, I researched the matter and still quite unsure of what to make of it @analog onyx

celest birch
#

Reason you can't use additive is because texture is in 0 to 1 range. Remember that (0.5, 0.5, 0) means no movement. If you were to add that color onto the background which is also the same color, you would get (1, 1, 0) which means movement to the bottom right

#

Obviously this is wrong because adding no movement to no movement should also result in no movement

wanton vector
#

Oh, it would add to the texture value! Whew, thanks for explaining that, now that you say it it's indeed obvious :)

celest birch
#

It works in that GDC one because it's just a grayscale value and he's accumulating it

wanton vector
#

Okay. I guess the way to go would be a simple opaque into base color then. Thing is, I tried that yesterday and still bended in one direction, but I'll give it another shot. Gotta go over the material math for the 10th time aswell haha. Break's over, thanks man

celest birch
#

You'll get there soon! ๐Ÿ˜‰

wanton vector
#

Hahaha I hope, feeling pretty bad having to ask you guys constantly about this haha

celest birch
#

I wouldn't worry about it. This will be a good reference I can point people back to if they want to achieve the same thing

wanton vector
#

Okay, great to know :)

celest birch
fossil swan
#

so I have a small setup that moves the vertices of a mesh on Y-axis trough World Position Offset, but this is obviously world pos. how can I make sure this is done locally

#

so no matter the rotation, its offset is still local y-axis

celest birch
#

I think you transform (0, 1, 0) from local space to world space

fossil swan
#

i can tell its hot hehe, yea trans-vector

celest birch
#

Eh?

#

Not sure if it worked for you or not ๐Ÿ˜•

fossil swan
#

sorry was trying it, but cant get it to work hehe.
cant show it either because nda

#

:/

celest birch
fossil swan
#

allright one sec

fossil swan
#

hehe odd,
ok give me another minute.

#

hmm it gives everything a massive offset in my case.

celest birch
#

You're not setting VertMove to something massive are ya? ๐Ÿ˜…

fossil swan
#

nah. one sec.

#

DM

#

^ solved it
had to set waaaaay lower values in the dyn. param. after the vec-transform

grim kiln
#

hello everyone!

#

I got a bit of an odd question that I can't seem to find the solution to

#

would it be possible to apply a world position offset to the vertices of a billboard particle

#

that would place each vertex in a corner of the screen? making it a full screen quad?

analog onyx
#

@grim kiln Should be possible yeah.

grim kiln
#

@analog onyx do you have any idea where I could start with this?

analog onyx
#

@grim kiln Think about like this; Your particle is a quad, with know dimensions in known location. It is UVed to a full quad. You can use UV channel one to identify vertices. From particle's distance and position to the camera, knowing vertical and horizontal FOV, you can calculate required offset from the vertex to its intended position.

sullen forge
#

@fossil swan

#

check the FX

#

look at those tweens on the boss attacks

#

Platinum games doing a coop weeb game

fossil swan
#

@sullen forge will check it after dinner. did see the anime a while back

sullen forge
#

its probably unreal engine too

#

japanese devs love it lately

grim kiln
#

@analog onyx yeah that makes sense to me, I just don't know what kind of math I'd need to do to put all of those together

#

I just saw that there's a FOV material function, I've never noticed that one before

analog onyx
#

@grim kiln Draw a task in 2d for yourself. Usually becomes much easier to develop approach in 2d, and only after that expand it to 3d

wanton vector
#

@celest birch Hmm, I multiplied the color with 2, to no effect of the rendering. I still believe the issue is somewhere with the render target not drawing the particles before the plane, when I hide the plane the particles are still being drawn behind the plane. On the testing level it's being drawn on top.

grim kiln
#

@analog onyx thanks! I'll put this on the backburner because it seems more complicated than I'm currently able to handle, but I'll come back to it eventually. the FOV idea is great though and I might be able to do it that way

wanton vector
#

@analog onyx @celest birch What I don't understand is that the grass meshes deform in such a different manner than on my test map. Sloped areas on the test level displaces correctly. Sloped and flat surfaces on the actual map bends really weird. And I still got the flickering issue. I'll upload gifs, one sec.

#

Well, it's all semi-bending nicely. Still got ways to go, but like I said earlier that's the best result I'm getting at the moment. ๐Ÿ˜ƒ - it's clearly bending a bit less in the slopes, but still a definite better result than on the production map. What do you guys think could be the cause of this, and how should I fix it?

naive thorn
#

i'm a bit of a noobie here, but does anyone know if you can tell Mesh particles to NOT participate in full depth prepass?

celest birch
#

@Simen Haadi#7530 Make sure plane is well below the landscape otherwise plane will be on top in areas landscape goes under the plane

#

@Simen Haadi#7530 Uncheck Owner No See for particles and plane to see if the particles are actually under the plane

wanton vector
#

@celest birch Oh yeah I fixed the particles issue, I had to tick on and off the Show tick boxes. The plane is Z -1000 already :)

#

The particles spawn on the character's feet. I could increase its Z a,bit maybe it goes under the lqndscape at times

celest birch
#

I don't have any ideas on why it works differently on two maps ๐Ÿค”

#

Make sure grass for both maps is using the same material

wanton vector
#

Yeah :)

analog onyx
#

@naive thorn ๐Ÿค” Are they really rendered in early z pass ?

naive thorn
#

They appear to be, the real problem is that they're masked, so it has to use a pixel shader which ends up being quite costly while all other draw calls here are generally lightning fast because they render w/o requiring a pixel shader into the depth pass.

analog onyx
#

@naive thorn What is the reason depth pre pass? (When you find depth pre pass in GPU profiler, what is DDM_ string reading? )

#

When zPassMode is set to DDM_NonMaskedOnly, Use As Occluder checkbox should control if an object is participating in pre pass or not.

#

It should be reported as a feature request to be fair. With DDM_AllOccluders, Pre pass will be run for all masked and opaque materials, including particles, so your best bet is to use non-masked only, or change depth drawing code yourself @naive thorn

wanton vector
#

@celest birch The scene is composed of the same types of actors even, but Ill try to make a new level today and see if its the same. Could be some outline-boxes etc are interferring with the render, I find it a low chance though since theyre not visible in pie

ebon copper
#

Hi all! I'd like to simulate wind that works with particles for an effect I'm working on, and I was wondering if anyone had any suggestions/tutorials on how to get started? I'm thinking at the most basic I could probably use a blueprint along with particle parameters to manipulate their acceleration

bright panther
#

Particles flow around the geometry ๐Ÿ˜„

untold yoke
#

Hey, I have been doing some reasearch out of curiosity, I am not building anything atm, but afaik there is no way to use Emissive lights on movable objects

#

say a character with emmisive material, in a dark maze, will be able to light up the area as he moves

fresh harness
#

@bright panther Is that using Niagara?

bright panther
#

Nope it's using our software, VectorayGen

#

Vector field generated around the level mesh

fresh harness
#

Looks pretty! So the particles avoid all meshes? They only fly through the air?

bright panther
#

That's the goal ๐Ÿ˜ƒ

#

You import a mesh, set the wind direction and it'll calculate a flow around that mesh

fresh harness
#

Is it possible to add global vector fields to further influence the flow in specific areas?

bright panther
#

That's what this is

fresh harness
#

That's one single VF?

bright panther
#

yep

#

The scene was a singular mesh, so I imported that as a whole. The mesh loads in the center of our software, so the vector field and the prop/level you want to have a flow around need to have the same exact location.

fresh harness
#

Does it work with dynamic actors? Is it possible to manually adjust wind direction and force at specific locations?

bright panther
#

Not yet

#

Right now it's just static flows. But we're looking into making it work for rotating meshes and such.

fresh harness
#

Got it. So the leaves are textures, and that's why there're rays going through them yeah? I'd imagine dynamic could get costly. Looks cool nevertheless, what's the official name of the plugin?

bright panther
#

that page tells you about it

fresh harness
#

Sweet!

bright panther
#

The mesh flow stuff should be in within the next week or so

#

And you "could" have it go around the leaves and such, but I removed them from the sim model.

#

but not on a per leaf basis, it would just be simming around the plane that the leaves are on

naive thorn
#

@analog onyx we've got full depth pre on and it looks like participation by default? I will check out these strings thanks very much! Ideally we move away from masked so we can do no pixel shader for depth on it

#

full depth pre for decals

mortal lily
#

@bright panther whoa! looking neat!

wanton vector
#

Is it possible to tie a particle system (desert wind in this case) to a material's noise mask (a panning noise texture which acts like the sand is moving)? So that wherever the noise mask is, I'd like a dusty particle to flow along. Is that even possible?

#

I need to add some depth to the panning noise texture at least, so it's not just a flat color that's moving along.

wanton vector
#

@celest birch Okay, I figured out the flickering issue: it's the particles that are moving when I'm running. I also looked up the math of your set-up and figured that the constant 3 vector controls the direction the mesh bends; is there a way to make that constant 3 vector use the player's direction so it would bend in the direction of the player's movement? Still haven't figured out the issue of why the effect is different on my game map. ๐Ÿค”

#

In the gif above you can see that the particles rendered on the target are moving when I'm moving, as if they're flickering. It's only noticable when moving at slow motion, but it's annoyingly obvious at regular runtime aswell.

#

When the actual particles are viewable they're not really flickering, but the render is capturing a flicker. Hmm...

obtuse seal
#

@wanton vector If you were an absolute madman for your desert scene you could project the "dusty wind" particles onto a rendertarget that masks the material of the desert floor ๐Ÿค”

wanton vector
#

Yeah that shader is absolutely stunning

obtuse seal
#

It would probably be possible to use the same decal method to get flowing sand appearance

#

very technically challenging scene

#

I would look at Uncharted 3's open desert scene and try to pick apart how they render it

wanton vector
#

If I were to go with the rendertarget technique I would need to have moving particles across the whole desert, which is rather huge, wont I? I'll go into the thinking box on this one. Now that you say it it would be very challenging for a guy like me to make this look more realistic; I'll do some more research and if I'm still a madman about it I'll come back here with this issue ๐Ÿ˜‰

wicked meadow
#

could anyone help :/

#

?

obtuse seal
#

@wanton vector I think you would fake further away dust clouds with cheaper billboards, as well you could probably use a relatively low res rendertarget since the interaction of wind on the desert floor is pretty noisy, but altogether seems tricky as I haven't heard of anyone else trying anything like it ๐Ÿค”

wanton vector
#

I'm pretty sure that's a static blueprint, but it adds some very nice depth to the moving sand.

obtuse seal
#

I think that's just a flat material panning over the surface, it looks great

obtuse seal
#

probably a much more reasonable target for appearance than doing anything overly complicated with render targets and projected decals lol

#

I like that one pretty well, I'm guessing it's just smearing the UVs?

wanton vector
#

Yeah, right? I don't wanna sacrifice too much worktime on this

#

He says he's faking the depth with normals, which is what I'm doing aswell

obtuse seal
#

Yeah that's a good approach to getting the sand to look like it has some volume

wanton vector
#

The guy from the first video: "Wind stuff is pretty simple, in the final version I'm using detail normal map for the landscape material that kinda animates the sand grain with the wind + some meshes with splines with the sand cloud/dust material.๏ปฟ"

#

The splines is shown in another video of his where the dust is flying off the ground, so I guess I just gotta work on my normal maps ๐Ÿ˜ƒ

obtuse seal
#

Ah yeah the meshes and splines must be how they have gotten the dust to travel neatly over the surface. Some 2d plane that's conforming to a spline placed by hand to be right above the surface I guess

wanton vector
#

Oh okay, yeah

#

Yeah, thats what I thought

#

Hmm

obtuse seal
#

Well I would strive to get something like the first video working before breaking my butt with more complicated approaches like video 2 or render target shenanigans

wanton vector
#

In-game the effect I have already looks decent, but not as good as the ones in the vids I shared

#

Yeah haha

#

I'm already breaking my butt on bending grass meshes with render targets haha, 100% the most advanced stuff I've had to climb over since I started making my game haha

wanton vector
#

@obtuse seal Changed the moving sand color and used a more wavy-noise mask. Got a result I'm satisfied with for now, although a lot can be done to it. I'll look into adding particles when the panner hits a crest or something, that would add some depth to it for sure. I'll update the material when I feel able to take on a more advanced approach: https://gyazo.com/ac63cf26004fc07ae88f22669ae15779

Gyazo

โ€‹

โ–ถ Play video
obtuse seal
#

@wanton vector It's looking pretty good already, nice work ๐Ÿ‘

celest birch
#

@wanton vector Constant 3 vector is used to determine the rotation axis. You shouldn't really be changing it

#

Have you made sure all particles have no velocity?

#

Post your particle system setup too

wicked meadow
celest birch
#

You didn't post a question

wicked meadow
#

indeed, I just asked for help

celest birch
#

Watcha need help with specifically?

wicked meadow
#

Well, I got the triplanar movement working but I can't understand how I'm supposed to do the foam and color it

#

I'll make a gif

wanton vector
#

@obtuse seal Thanks man, got some work to do on it though haha

wanton vector
#

@celest birch Particle set-up is coming in a second

celest birch
#

Hmm nothing looks off to me. Not sure I can really give you any further help ๐Ÿ˜…

wanton vector
#

Do you have any idea why the grass meshes are only bending one direction? Is it because they don't have a proper pivot point set-up?

#

That's the set-up. I've checked it quite a few times, I'm pretty sure it's copied properly. Is your Parameter collection 0,0,0?

celest birch
#

Looking at your render target, it is overly yellow which will bend it towards positive X and Y

#

Parameter collection is probably 0, 0, 0. I overwrite it immediately anyway so doesn't really matter

wanton vector
#

Yeah okay

#

Hmm

celest birch
#

Can I see your scene capture settings?

wanton vector
#

Here's the plane with the color

#

There you go

celest birch
#

Try changing it to final color and make all your particle materials unlit

wanton vector
#

Check this though:

#

The particles are rotating

#

Maybe thats causing the flicerking

#

flickering*

celest birch
#

Yeah the particles are camera facing but I'm not sure that should affect anything

#

Not too sure how to make particles face directly up. Still a Cascade noob

wanton vector
#

Holy. The ground is bouncing up and down now, that didn't work. ๐Ÿ˜ƒ

analog onyx
#

@wanton vector Use lock axis module to lock particle facing world up

wanton vector
#

Hmm, that didn't solve the flickering. Darn

#

Thanks though @analog onyx

#

Locked it on the Z axis

#

Now the particles should be completely still, but they're still flickering in the render target

wanton vector
wicked meadow
#

still trying to adapt a unity shader to unreal, anyone know what node would be equivalent to WorldNormalVector?

lone wing
#

pixel normal ws?

wicked meadow
#

I'm using VertexNormalWS but it doesn't seem right

#

let me see with pixel...

#

doesn't seem to change anything

cerulean pecan
#

Is the grass render target thing still going on?

wanton vector
#

Yups hehe @cerulean pecan

wanton vector
#

@celest birch @analog onyx https://gyazo.com/a9ab7171d5ad7280fe11aee7f9ab36c0 I've been using Additive for the particle system's material, which gave me the result you've been seeing in the last gifs (the best result so far). I set it to Opaque instead, and now I see "waves" moving through the grass. Man, could I call & share screen with one of you guys, or Teamviewer if you got time? Maybe you spot something I'm missing? I'm clueless at the moment on how to proceed with this. I thought it could be they were fighting over space between background/foreground particles as I was spawning quite a bit of particles that would overlap eachother, but that was not the case. The flickering continues ๐Ÿ˜“

So the current problems that remain are:

  1. Flickering of bent grass mesh when actor moves.
  2. Grass is not bending in the direction I'm moving
  3. The effect is different in the game map; same mesh and materials.
Gyazo

โ€‹

โ–ถ Play video
celest birch
#

@wanton vector Let me try to whip up a quick project

celest birch
#

@wanton vector I'm gonna DM you the zipped project

#

Oh wait nvm it's over file limit. I'll upload somewhere and DM you link

wanton vector
#

@celest birch Thanks a lot man, I'll have a look before I go to bed! ๐Ÿ˜ƒ Much appreciated!

celest birch
#

No problem. Flickering is issue with particles z-fighting

analog onyx
#

@wanton vector Forget about the grass. Set up render target with proper data first.

celest birch
#

Yeah gotta fix your scene capture/particles/whatever it is

wanton vector
#

You added a 0.5,0.5,0 plane underneath the particle in the actual particle system, troubleshooted the setup now and it seems like that was the only thing I was missing

celest birch
#

That shouldn't have been the fix, at least the not main fix ๐Ÿค”

wanton vector
#

Yeah, I'll keep looking ๐Ÿ˜ƒ

#

@celest birch The particle color & the Color Over Life module definately had something to do with it aswell.

celest birch
#

That... also shouldn't have been the fix lol

#

Those are just to fade out the particles

#

Anyway I gotta sleep now. If you have questions, I'll try to answer them when I wake up

celest jasper
#

guys, when you are finished with that particles grass, can I get the summarization, in .pdf with the .uproject file?

wanton vector
#

Hmm... strange though. As fast as I added your particle to my set-up everything worked fine. Minimal flickering, and it works in the production map. Sleep well! ๐Ÿ˜„

#

I'm only getting one issue, and that is that the mesh is not bending entirely well. But I bet that's because the mesh doesn't have a pivot point? It's like one part of the mesh wants to stay up no matter how many times I walk across it.

Edit: Playing with the MaxRot value again, I see that it's consistent. This is probably mesh related, don't you think? I'm going to bed now, but thanks again for the help! ๐Ÿ˜ƒ

indigo jolt
#

@cold sorrel hey whenever you're around, do you think you could let me know what i'm doing that's keeping me from seeing the velocity field preview like in video?

#

is this because i'm in older version?

cold sorrel
#

Hmm, could be. If you middle mouse the node, do you have a very field?

celest birch
#

@wanton vector Does the middle stay up? Try increasing particle size. While you're there, set Sort Mode to PSORTMODE Age Newest First to get rid of most of the flickering

#

@celest jasper I can send you the project but no summary ๐Ÿ˜›

wanton vector
#

Yeah I cant make no summary until I understand the code haha

#

Just read the discussions weve had

#

And yes @celest birch , the middle stays up. When I increase particle size the problem persists just at a smaller rate which looks worse. :)

celest jasper
#

I'll take the project, can't be that complicated, right?

celest birch
#

@wanton vector Sorry I meant increase particle spawn rate

celest jasper
#

if you are discussing this for like a week ๐Ÿ˜…

celest birch
#

it's pretty simple. Just a few places that you can easily go wrong

wanton vector
#

Yeah the spawn rate is what Ive been playing around with :P

#

Is the mesh you used mapped with a uv pivot point? Cant see anything in the Uv channels

celest birch
#

Yeah it has the XY pivot point in the UV

#

But I'm not using it in that project

#

Still need to derive the Z position for the pivot

celest jasper
#

that grass project is pretty neat, the only thing I thought about replacing was the brush texture

#

should be possible to generate the pattern mathematically

celest birch
#

Yeah that's a better way. I already have the texture on hand though so I just used it

#

And it's only 8 bit ๐Ÿ˜…

celest jasper
#

I'm about to go sleep, might be me, but T_Brush is a 2k texture, right?

#

I thought that's the one used by the particles to write on the render target

celest birch
#

Yeah it's 2k. Can definitely be less

#

And yes it's the one for the particles

celest jasper
#

so wait, what exactly is 8 bit here or should I go to sleep and read the conversation later?

celest birch
#

The brush texture is 8bit

#

You can see a ton of banding on it

spare hare
#

would it make sense to inherit Hierarchichal Instanced Static Mesh Component and check for Overlaps to create Foliage Reaction (bend etc) or should I do something else?

celest birch
#

Why not use what we've been discussing with the grass?

spare hare
#

it may work for grass, but not for bushes or other foliage

celest birch
#

Depends on how accurate you want it to be. Uncharted does their foliage using the same method

#

Obviously HISM replaced with a physics version will be the best but it's not scalable

#

Render target method can easily support a bunch of actors

spare hare
#

why is it not scalable? Keep track of actors that touch an Instance , replace Instance with a Skeletal Version, once Actor is far away, replace again with Instance.

#

that would be my idea

celest birch
#

Less scalable than render target method is more accurate. You have to replace all foliage around actors you want to affect foliage

#

Render target method, you only need to pay for some extra particles

#

You can use a mix of both methods. Render target for small foliage like grass and bushes. HISM for larger foliage

spare hare
#

I can imagine some issues with RTs, especially with an environment I am planning

celest birch
#

But yeah, HISM is still a feasible option

spare hare
celest birch
#

Ah yeah that'd be a bit more difficult. HISM would probably be better for that

#

If only one actor is going to affect foliage, Might be able to only use one RT and do some sort of depth check

spare hare
#

I wonder if it would be possible to create a solution based on Landscape Components? Like each Landscape Component stores a RT for active Actors on it

#

Landscape Component without actors just clear/delete their RT

celest birch
#

Not sure what you mean. Would that solve the issue in your picture?

spare hare
#

A little bit, since the RT would affect the lower floor and not the upper floor

celest birch
#

Yeah something like that could work I think

spare hare
#

I wonder, since the Landscape stores a RT, you could reuse it for stuff like footprints and stuff

#

I guess I'll just need to do some R&D

manic mantle
#

hello guys
is there a way to stop particles to face the camera?

analog onyx
#

@manic mantle Yes, by chancing screen alignment mode and adding lock axis module.

manic mantle
#

hmmm I tried that but couldn't figure out how I can set the rotation manually later

#

I would like to place and rotate those particles manually

#

wow cool

#

use local space solved the problem

#

thx

analog onyx
#

@celest birch Had some spare time this morning, and tested how simulating spring would work, if done in grass vertex shader, using particle-driven time

#

Not much different from a sim to be fair

celest birch
#

Looks great! Changing the deflection in the texture was dubious right?

spare hare
#

@analog onyx Looks pretty dope

celest birch
#

Tests I did with particle method seem great so I'll probably start using it

analog onyx
#

@celest birch So, after having at hand sim, particle-driven deflection, and particle-driven time variants I think I'm approaching the conclusion that latter two are not deployable in their default state

celest birch
#

It sounded so promising though... ๐Ÿ˜ฉ

analog onyx
#

Yep.

celest birch
#

What was the hand sim method?

analog onyx
#
  • having at hand *
#

It was classical physics simulation, using 3 render targets

celest birch
#

Hmm. Could you relist the issues with the latter two again?

#

I spent about 5 minutes on particle-driven deflection and it did not look great

analog onyx
#

Yep. The core issue is amount of particles you need to draw. For a trail of 30 seconds, you will be hitting thousand particles per emitter cap

#

If you go lower, the pop between individual particles is noticable

drowsy lynx
#

Looks cool! I wonder how you get particles to interact with the grass ... 0.0

celest birch
#

@analog onyx Perhaps some way to capture particles once and keep them in render target

#

@drowsy lynx Gotta comb back through the last week of messages here ๐Ÿ˜›

analog onyx
#

@celest birch Yep, needs persistence buffer. That is a perfectly valid conclusion.

#

But that one wont work with particle-driven deflection

#

With time, however, it will

celest birch
#

Oh right I totally forgot about the whole sim part

analog onyx
#

Time-driven deflection has another underwater stone. For a more of a complex animation, (transition from trampled state, into springing state with attenuation sine like motion is actually quite some resources, when applied to a million or two of foliage vertices)

#

I think you can bake animation curve into a texture, but it would not be smooth enough. Needs 1x2048 at least.

celest birch
#

Right, and the initial idea for the particle method was to fake sim for better performance

#

๐Ÿค”

analog onyx
#

Performance and control. And I have doubts at this point.

celest birch
#

It is still at least better for non-sim bending

drowsy lynx
#

@celest birch Hm, then I hope for a summary as soon as you figured everything out ๐Ÿ˜„

celest birch
#

@drowsy lynx Oh I can provide at least a short summary:

  1. Attach scene capture to player that looks down
  2. Attach emitter to player that will spawn particles with deflection texture. The particle system has Owner No see enabled, so they are only visible in capture
  3. Capture particles to render target
  4. Use render target in grass material
analog onyx
#

Is there a dedicated stat particles command or something ?

celest birch
#

Render target basically functions in the same way as a flow map

#

Sounds like something @fossil swan would know

#

@analog onyx Btw trail of 30 seconds is quite long so should still be usable for shorter trails, yes?

#

Short lifetime and high spawn rate

analog onyx
#

Well, the GPU costs of rendering 1024 cascade is 0.14 ms with 10k particles on screen

#

it is mostly about CPU-related load

celest birch
#

That sounds reasonable for any projects I'd use it for

analog onyx
#

It won't go above 0.2ms if you make it 100k

drowsy lynx
#

@celest birch thank you! nice idea. and since the particles are fading out, the defelction gets less over time. love it ๐Ÿ˜ƒ

celest birch
#

Yup exactly ๐Ÿ™‚

#

Hoping to see it now on your blog/channel ๐Ÿ˜‰

drowsy lynx
#

Since the RT is moving with the player, do you have problems where grass suddenly stops moving as soon as it leaves the RT area?

celest birch
#

Yeah you might want to fade out edges or something so it's not so abrupt. If render target covers a large enough area, player probably won't even see it

#

If particles are still alive when coming back into view, grass will move again

analog onyx
#

@drowsy lynx You fade the effect, before it reaches the bounds. You are also snapping capture locations to avoid disparities, when bi linear filtering the texture lookup in grass shader.

#

Whole effect is cascadable, so you can actually cover any range with it, and see the effect from explosions on a distant foliage impostors in sub-levels kilometers away

drowsy lynx
#

uhhww nice! ๐Ÿ˜ƒ so you guys are already finished with it? ๐Ÿ˜ƒ

celest birch
#

The basic bending is already working. @analog onyx has been working on doing spring simulations with it

analog onyx
#

@drowsy lynx Still profiling, to select, what is the most sustainable system out of 3. @celest birch One way to reduce number of particles required, is to actually sub-sample deflection(or local time) within a particle. On a side note, when and hopefully Niagara will be deployed and allow fully compute shader based particles, the CPU bottleneck will be lifted from the method.

#

I mean, you are passing character's/object's velocity to the particles anyway, so why not re-use this velocity to add a bias to particle-relative time? Can increase particle spacing to something up to 2-3 meters.

celest birch
#

That's a great idea!

ebon copper
#

Is there a workaround for scaling drag over life if you want to use it with CPU particles? The module only seems to work with GPU particles from what I can tell

#

Nevermind, turns out simply using a curve in the Drag module gets me what I want

plucky rune
spare hare
#

How would I implement pixel perfect, "vector-like" graphics, that are drawn in the world, ontop of everything?

#

(this graphic is not a texture)

wicked meadow
#

don't think you can do that without changing the source

analog onyx
#

@spare hare I'd guess you reduce the image size, until you can't see what is on the screenshot ><

spare hare
#

@analog onyx I am talking about the Crosshair

#

The shapes do not "blur" on higher resolutions. Afaik they are actual shapes and not textures

analog onyx
#

I realized. Just stressing out that at 4k monitor that image is indistinguishable. You have all the math in the world to make a cross hair. But quite commonly, they are just textures.

wicked meadow
#

if it's really necessary, I would try to use UMG to create an overlay on the viewport

#

and create a new type of component that can be drawn into

spare hare
#

The problem is not placing the Crosshair in the world. The question is how to draw it ๐Ÿ˜„

wicked meadow
#

that has to be done in C++

analog onyx
#

First person template does have a cross hair, doesn't it ?

wicked meadow
#

yes, it's a texture

spare hare
#

Textures have the problem that they do not scale well, they would need to be uncompressed too and imagine a 2048x2048 uncompressed texture just for a crosshair to have as much detail as I want

analog onyx
#

You have a point, but Well.. what is the largest possible size ever of your cross hair on a 4k monitor ?

#

in pixels

spare hare
#

The Crosshair will be placed in the world as big as the target itself

analog onyx
#

what is In the world ?

spare hare
#

Well it will be placed around the actor

wicked meadow
#

I guess you could try post-processing

obtuse seal
#

I think you can draw things through a Text Render to get it super sharp ๐Ÿค”

wicked meadow
#

create a post-process material that draw it

spare hare
#

@obtuse seal This is actually a good idea. The question is How do I get my Crosshair into it? ๐Ÿ˜„

wicked meadow
#

You can create a font with your crosshair as a character ๐Ÿ˜›

obtuse seal
#

@spare hare I'm sure I've read a thread on using Text Render in UMG to get super sharp graphics, but I think it would applicable. And yeah I suspect you'd have to make a crosshair font. Which is pretty metal.

analog onyx
#

@spare hare That makes it a marker, or decal, or something. One option is to use distance field instead regular texture.

obtuse seal
spare hare
#

I just opened the same thread ๐Ÿ˜„

#

I guess I'll stick to texture then. Not sure if the whole Text Render stuff is worth the effort

obtuse seal
#

It's dumb enough that I'll try replicating it in a test project real quick

spare hare
#

xD

analog onyx
#

Absolutely no point to use text for this, as internally, it still relies on distance field. Just author you effect texture not as a conventional alpha map, but a signed distance field.

obtuse seal
#

I wish I understood anything about making a texture as a signed distance field but I'm lost

spare hare
#

Thank you! ๐Ÿ˜ƒ

spare hare
#

@analog onyx the Texture appears completely white when I set it's compression to DF

analog onyx
#

@spare hare Erghh.. don't

spare hare
#

?

analog onyx
#

Use either alpha, or hdr, if your distance field is HDR

spare hare
#

and what's the point of using DF then? It's a simple Alpha texture then

analog onyx
#

@spare hare The point is achieving, what you were asking for. Smooth shapes, when using a texture at ridiculously low texel density. Compression method should be Grayscale(uncompressed R8)

spare hare
#

Would DistanceField be different?

#

I guess I simply have to live with that ....

analog onyx
#

would be same, but with 64x64 texture size

analog onyx
#

That particular shape of yours can be defined with combination of functions, if texture resolution is such a limiting factor for you. @spare hare

#

two circles, two boxes namely

indigo jolt
#

anyone have an idea how one could set a fully Opaque Material using Mesh Particle to "Render On Top of EVERYTHING"?

#

same as the way translucency "disable depth test" works?

tired linden
#

do you mean use normals?

celest birch
#

how to make a circle that is always on ground (like in pubg there is a line on ground where the zone is)

celest birch
#

ok i did it nvm

worldly pivot
#

This panner seems to be approching lightspeed with no signs of slowing down at all

#

what am i doing wrong?

#

Its like the amount of time is coming through the nodes some how ๐Ÿค”

fossil swan
#

@worldly pivot try the debugscalar function, see what it being put trough the subtract, clamp, etc

worldly pivot
#

I reopned editor and seems to be playing along now

#

@fossil swan Im getting a number that doesnt make anysense

#

one sec im uploading a vid

#

Everything is perfect up untill the panner

#

I feel like theres something I might not be getting here

fossil swan
#

what are you trying to do? because due to that lerp its blending between two values

worldly pivot
#

Slow down over time

#

if you look at the first pic i posted im expecting the speed to start at 0.07 then lerp down to 0

fossil swan
#

but that time is always running even before it spawns

worldly pivot
#

But its clamped between 1-0 so it should only even be lerping between 0.007 and 0?

#

its acting as if its constant with no speed change at all now

#

I think ive narrowed it down

fossil swan
#

so first

#

just set your time to have a period of 1

#

that way it loops 0-1 without any additional math

#

the lerp doesnt make any sense to me

worldly pivot
#

Hmmm

fossil swan
#

its already clamped between 0-1

worldly pivot
#

Well its playing along now if i plug straight in from the substract ๐Ÿ˜…

fossil swan
#

all you need is a time with period, append, panner

worldly pivot
#

Mmm i think I got it now, thanks ๐Ÿ‘Œ appreciate your help

#

No I dont got it ๐Ÿ˜ฆ

fossil swan
#

so exactly, what are you trying to achieve

worldly pivot
#

it starts a speed of -.075 then slows down over a period of x seconds to 0

#

im making a puddle

#

but want the ripples to slow down

#

But I think its not working because im using negative numbers ๐Ÿค”

#

and lerping into the positive or something

worldly pivot
#

Ive got all the textures and such working one sec il show ya what im up to

#

Think ive got it decent looking so far

fossil swan
#

sine/cosine come to mind to slow it down

worldly pivot
#

Il just keep playing around i think its something to do with coordinates im guessing ๐Ÿค”

analog onyx
#

@worldly pivot You can't adjust speed of a panning texture on the fly seamlessly.

worldly pivot
#

oh?

#

I would think it would be pretty simple?

analog onyx
#

In the essence, panner gives you input coordinate + time*speed

#

what happens when you change the speed?

#

all coordinates shift

worldly pivot
#

Im not following sorry

#

Ok i sorta follow

#

Sorry im not super mathematically minded

analog onyx
#

Returning to a topic of foliage interaction simulation, and what not. When you are driving your wind animation with a global evolving wind field, how would you perform shifts of content within render targets? When fluid simulation is not involved, everything is straight forward, since you populate newly shifted in areas with default values. But with fluid sim running, whatever you do at the border, will eventually have effect all across the field within some number of frames. Any ideas how this is can be addressed? Or perhaps someone knows and willing to give some insight on how it is done in shipped titles, that are using this approach to foliage wind animation ? Hope the people I tagged, don't mind sharing thoughts. @celest birch @still delta @calm hemlock

still delta
#

@zenith warrenathrey#7531 I would treat border as a sink. On top of that move sim buffer discrete steps

#

So if character is running forward and backward and buffer shifts, you would loose simulation information there, but I would expect borders to be further than whole effect being visible

analog onyx
#

@still delta Cheers for jumping in. I really appreciate it, especially considering not many users understand what I am asking about. Yep, the render targets are snapped in discrete steps, adjustable in render target texels. The boundary condition of the sim is already free flow. The areas, that move out of simulation, are simply gone and have no effect. The areas, that move in, have default conditions. Zero pressure/ zero velocity.

#

The problem is that newly shifted in areas causes a wave to run through all the sim

#

Populating fresh texels with a copy of previous border texels data does help a bit, but it is still an issue. Maybe I am just setting the sim parameters wrong, and should ramp up the dampening, so all the effect is more localized, but I'm in a bit of a doubt

still delta
#

Hmm, I see what you mean

#

Maybe something like a weight gradient on edges could help

#

Kind of like dampening, stronger near the border

analog onyx
#

hmm

#

Definitely worth a try

celest birch
#

Never done a fluid sim for wind so can't help much. I was going to suggest duplicating previous values but seems like you already got that one ๐Ÿ˜…

still delta
#

Maybe itโ€™s worth checking papers of wake simulation

#

Cause they face the same issue

analog onyx
#

Yeah. In the essence, to fully cure that, I would need zero gradient on all the region of a snap plus two texels. That is quite a bit of simulation space, forcing to shift into far cascade earlier. Cheers for idea thought. I will try to brutally dampen the sim on the edges.

calm hemlock
#

@analog onyx My solution would be keeping a safe border of calculations around the active tile

#

So like

#

When your player moves and RT for whatever global thing re-centers, player ends up in area which was already well simulated

#

And the new neighbor tiles are initialized with default values, then simulated until they settle

analog onyx
#

@calm hemlock Player is always within well simulated area, it is just that whatever happens at borders, eventually propagates to the player.

celest birch
#

I'm wondering how I would do a drop-shadow post process effect behind a character, similar to the shadowing that occurs with cel-animation?

idle dove
#

folks... how do you lock the axis of the particle, so that you can rotate it in the world-editor and it will follow that rotation?

analog onyx
#

@idle dove There is a lock axis module in cascade.

stiff plinth
inner flicker
#

could be anything but you'd most likely want to make that in regular material

#

it's just way easier to control

#

edge effect could still be PP

calm folio
#

could get something similar with fresnel/noise/emissive

stiff plinth
#

how can i layer that effect ontop of existing materials using dynamic instance material without having to expose parameters in each and every material?

#

if i had an actor that has multiple materials on it, but i want that glow effect to happen on an actor regardless of how many materials it already has?

#

i think i got it actually

fossil swan
#

just an overlaying texture + fresnel prolly

#

re: image

indigo jolt
#

ya that's some bits built into original shader and/or a swap to a different shader for character.

#

i'd handle that with a Material Function so it could be recycled across characters

#

"Fire On" parameter and done

#

the easy thing about it is, it's mostly emissive, so it could literally just be plugged into an ADD node at the end right before the Emissive plug in

#

beyond a fresnel, at most this thing needs maybe 2 panners max, possibly world-space or object space UV's

#

and i don't know if it does a fancy dissolve-out, but that would likely be most advanced element of whole package

stiff plinth
#

thanks

worldly pivot
#

Is collison and actor Collision the same thing inside of cascade?

spare hare
#

@worldly pivot no

#

Only CPU Particles can have Actor Collision. GPU Particles however can only have either Depth Collision or Distance Field Collision

worldly pivot
#

Thanks

#

was just watching old tut's where its called collision still

#

was wondering ๐Ÿ˜…

#

Looks good

#

wrong channel though i think

#

@nocturne barn

nocturne barn
#

We need a lot of effects for the game. alas at us to create them leaves very much and very much not qualitatively and slowly

worldly pivot
nocturne barn
#

are there willing to help in creating particles on enthusiasm or with a stint after the demo of the game?

worldly pivot
nocturne barn
#

thanks!

glacial sentinel
#

When particles collide via Actor Collision, is it possible to figure out what we collided against so that we can react to the collision based on what we've hit?

#

I know we can get the location of the collision, but there's no info on the actor we've collided with from what I can see

spare hare
#

No, we cannot. Atleast not without a work around

fresh harness
#

Anyone know if animated vector fields are supported yet? Last I checked (a year ago), the only way to get a similar effect was by lerping between 2 static vector fields.

fossil swan
#

@fresh harness nope, though there might be a plugin for it in the making.. but not anytime soon

cold sorrel
#

No

restive birch
analog onyx
#

The material on the right is translucent

#

it is suffering from translucency sorting issues

restive birch
#

Thanks @analog onyx, I'm not great at making materials, and I'm trying to figure out where this problem lays. How can I fix this? Is it an issue with the opacity?

river forum
#

they're drawing in the wrong order

#

i'm not sure how you fix it though ๐Ÿ˜ฆ

#

is the bench just 1 object

#

you should be looking for this though "translucent sort priority" or whatever it's named

spare hare
#

why is it translucent in the first place?

#

make it opaque

harsh peak
#

any pointers you guys could share when dealing with sorting issues in smoke and fire?

#

things to avoid, things to try...favorite sorting modes?

analog onyx
#

I'd guess unsorted alpha composite is my favorite.

#

I don't think I've ran onto sorting issues with this kind of particles before though. You could try sorting by age, if it helps. @harsh peak

soft sorrel
#

Anyone ever notice that when using velocity aligned sprites - they tend to jitter / vibrate at low speeds ?

indigo jolt
#

yup

#

you can kinda offset that some by using drag

#

at least i THINK that works

#

don't quote me on it

analog onyx
#

sigh.. when you wanted to make some grass and ended up having an ocean

wheat roost
#

an ocean of grass

pliant cypress
#

lol

wanton vector
#

I'd like that ocean

#

Moves better than the content examples' one hehe

pliant cypress
#

xd

celest birch
#

@fossil swan Can't you use BoundingBoxBased_0-1_UVW for that? Unless I'm misunderstanding

fossil swan
#

@celest birch that doesnt update the uv's on rotation along the X-axis (or any axis for that matter)

analog onyx
#

Luos of them particles, I don't think your demands are clear enough.

fossil swan
#

i have no idea how to properly explain it besides what I already said hehe

analog onyx
#

Drawing/Gif/Reference to this effect in existence, if any. Telepathy as a last resort.

fossil swan
#

I have a cylinder mesh, and I want the textures U channel to always be aligned along the X-axis, while its V channel is always mesh bounds aligned?

#

doesnt explain it either

#

think of it like fresnel, but doesnt change depending on angle

#

so from front view it looks fine, but from sides it fucks up

#

(using the fresnel as a gradient for uv-channel)

#

local Y-aligned fresnel ish?

analog onyx
#

In case with fresnel, perhaps you could transform normal and camera vector into local space, do fresnel approximation in local space, restricted to the axis, that you have interest in ?

#

I am not sure that this will give you want you need for this effect though.

fossil swan
#

no clue, spend 5 hours yesterday trying all sorts of stuff to get the result I want but my math (especially camera/vector based math) is suck monkeyballs at

celest birch
#

Which view is the side view? ๐Ÿ˜…

fossil swan
#

i bet it has something to do with camera vectors, but well..

#

ยฏ_(ใƒ„)_/ยฏ

#

when the camera angles along it

celest birch
#

Looking at the cylinder caps?

fossil swan
#

if they had em, yes hehe

#

afk, dinner

celest birch
#

I've reread your messages like 10 times and I still can't figure out the intended effect ๐Ÿ˜ฉ

analog onyx
#

@fossil swan Isn't what you want already in the engine? (AxisAlignedFresnel matfunction? )

fossil swan
#

@analog onyx @celest birch ill try to explain it on camera-recording after I am done with dinner & chores.

#

@analog onyx hmm never seen that one

#

ill hit you two up when I haz the video

fossil swan
#

laughing my ass off because without context this would be the video of someone in need of psychological help STAT!

#

@analog onyx @celest birch

fossil swan
#

@analog onyx sadly the axisalignedfresnel doesnt work when the mesh rotates on another axis then the one its being aligned to

analog onyx
#

Yeah, I sort of get it. You need to define position of UV seam in relation to object, and use difference between object and camera transformations to add UV oofset to V channel to make sure that seam is pointing towards the camera.

#

But it is a bit.. undefined.

fossil swan
#

well for my usage, I want to use it for a grayscale (white center, black edges) to use it for a mask to drive some neat masking stuff

#

so it doesnt have to be a texture in my case, just a grayscale.

analog onyx
#

How about something like this, provided that your cyl is UVed like a true cyl ?

fossil swan
#

lemme try

analog onyx
#

should be green or red vector, depending on unwrap

fossil swan
#

none of them results in anything i could use :/

#

left right > left right cap

analog onyx
#

Then I still don't understand the intentions. The above graph should yield you this :

fossil swan
#

derp, forgot to add the trasnform

#

local bottom/top of the cylinder should always stay dark regardless of is rotation

celest birch
fossil swan
#

looks like it from a first glance @celest birch

celest birch
#

Do I get to pick my pizza topping?

fossil swan
#

would like to try it out first hehe

celest birch
#

It's actually literally the AxisAlignedFresnel plugged into BaseColor

#

I think you didn't provide local axis for the cylinder when you used it

fossil swan
#

I did

celest birch
#

Can I see how you set it up?

fossil swan
#

already butchered it after other attempts hehe

celest birch
fossil swan
#

yea that still messes up when you look alongside the mesh as if its down a barrel

#

more noticable when you increase the exponential

#

its really close to what I want, but not perfect hehe

celest birch
#

๐Ÿ˜ฉ

#

I guess the simple solution would be to not rotate cylinder around the x-axis

#

So you can use bounding box that is

fossil swan
#

Wyeth might have given me the right answer, will share if it is ๐Ÿ˜ƒ

celest birch
#

Great, no pizza for us!

analog onyx
#

My take would be something like this

celest birch
#

I believe it still has the same problem of getting smaller at steep viewing angles

#

Which I think is what Luos is getting at

analog onyx
#

Yes, this normalization will run into zero vector length at angles.

fossil swan
#

my problem was it becoming bigger and either masking or unmasking wrong parts

#

from Epic's own Wyeth hehe

#

really appreciate your help btw @celest birch @analog onyx

spare hare
#

Yo, Question regarding Translucency and PP.
I have a Post Process which adds a Fog to the Scene.
However It should selectively obscure Translucency. I have a plane that should be obscured by it and some visual effects (godrays) should be affected according to their depth.

#

The Black fog should not obscure the godray, only the water surface

celest birch
#

Anything you've tried so far?

spare hare
#

The fog is a post process. It can either be Before or After Translucency. So I dunno how to solve it.

#

I could make the Godrays Masked+Dither, but that doesn't work with Depth fade :/

#

Looks ugly af

celest birch
#

Render them to custom depth and do a depth check?

spare hare
#

Custom Depth doesn't work with Translucency

celest birch
spare hare
#

doesn't work ๐Ÿ˜ƒ

#

wait wat. It does Oo

celest birch
#

Works for me ๐Ÿค”

spare hare
#

bu only the whole mesh

celest birch
#

Use Opacity buffer in PP to mask out parts you don't want

spare hare
#

That could be interesting. I haven't worked with Stencils before. I probably need to make the Godrays have a custom Stencil to only mask their Opacity, right?

celest birch
#

Hmm actually from a quick google, Opacity buffer is misleading. Apparently it is used for SSS not translucency

#

But yeah your idea of custom stencil is what I would do

#

I think the correct one is Separate Translucency

analog onyx
#

Could just abuse volumetric fog for them god rays.

celest birch
#

Lose dat 4ms!

spare hare
#

Separate Translucency doesn't seem to be a solution, since the water is affected by it, too

celest birch
#

Render water to separate custom stencil and subtract opacity

spare hare
#

There doesn't seem to be a solution.
I cannot access the opacity of the godrays or the Water surface. Separate Translucency Buffer shows everything in white, even opaque normal meshes and materials

celest birch
#

Separate Translucency is in Post Process Input 1

spare hare
#

Doesn't look like it

#

everything is black

#

god rays are set to render after dof but don't appear in the PP

celest birch
spare hare
#

Wait, I got it now

round fog
#

omg omg omg

#

guys

#

Niagara just got pushed to Master on github

#

goes build the latest engine

analog onyx
#

sigh. Not gonna be able to build until weekends ;<

round fog
#

I've got a lot of meetings at work tomorrow, I know what I'm gonna make my machine do meanwhile

#

also building on my laptop right now whoo

neon cave
#

how could i link one character to another with like a particle effect? what would be the best way

fossil swan
#

want it to wiggle a bit and the like?

neon cave
#

like that where she links to the player

fossil swan
#

some would say ribbons, I would say a mesh set up like the linkgun in ut3/ut4

neon cave
#

how do you think they did it ?

#

epic that is ๐Ÿ˜„

fossil swan
#

its very blueprint heavy, i'd download ut from the launcher and check it out in the ut4 ue4 editor

#

its basically a mesh along a spline

#

wire component might also work to some extend

neon cave
#

not quite sure what i need to do, kind of new to particles

fossil swan
#

the linkgun setup isnt really a particle, but a mesh thats bending trough some shader and blueprint magic along a spline from point a to point b

neon cave
#

looking at the link gun in UT

#

i got the Phase character, looks like they are using ribbons

celest jasper
#

ribbon? why not beam?

#

beam particles give you a source and a target

fossil swan
#

yea thats what I meant, oops.

neon cave
#

is there a guide on beam particles?

wild basin
#

Anyone know how I get decals im spawning on impact to have better clarity over distance? They look blocky from not very far away

neon cave
#

UltimateAuraPtr->DeactivateSystem(); but how do i delete the particlesystemcomponent after?

fading pike
#

hey guys... i have a problem with smoke... i attached my particle to a character bp with sockets, but the smoke follow exactly the animations... is there a option where the particle only use that as start position and move the violocity correctly without impact from the character animation?

#

oh nvm

#

found it... under required "use local Space"

indigo jolt
#

@wild basin mess with MIP settings in material/texture

wild basin
#

thx

fresh harness
#

this may be more of a graphics question...so apologies in advance.
I've got 2 textures; (A) one for how I want it to look when it's receiving light, and (B) another for how i want it to look when it's not receiving light.

Is it safe to assume subtracting B from A and plugging that into base, and plugging B straight into emissive would work? It seems to work, but I was just wondering if it might mess up with certain A and B color combinations.

gray inlet
#

seems like it's coming

mental quiver
sullen forge
#

wow

#

HUGE commit

#

this is for real, its merging the absolute latest niagara code into master

obtuse seal
#

Just built the release build with niagara, editor sitting at 45%, watching the GDC talk again ๐Ÿ‘€

wicked meadow
#

this is supposed to be animated?

celest birch
#

@celest birch That's an interesting problem you've got there. What have you tried so far? You would probably create a base shape and then duplicate them using math in the material

brittle remnant
#

@bal\

#

The rotated box material function is a bit heavy but I couldn't think of a cheaper way to get the effect.

#
  • Added preview
icy pebble
#

really nice work and using a node I have not played with before, the linear sine

brittle remnant
#

Thanks, linear sine is super useful. You can also use the "ValueStep" function to do the same thing. Haven't tested to see which is cheaper.

#

I just find linear sine easier to get my head around.

icy pebble
#

I know there is another function to make a line easier but I can't remember it's name off my head

brittle remnant
#

If you find it let me know!

icy pebble
#

well I've used it before but lol if I can remember

#

yeah generated band. No idea if it would work for this tho

celest birch
#

Oh linear sine is just a triangle wave

brittle remnant
#

@icy pebble Yeah the tricky part is rotating and scaling it around the middle.

icy pebble
#

yeah that's why I didn't know if it would work or not heh ๐Ÿ˜‰

#

I really like the function for the first one tho, you FX guys are freaking smart

brittle remnant
#

@celest birch No problem!

fossil swan
#

vectorToRadial has an outdated custom node inside it if im correct, which should be replaced with an atan2 node, saves a few instructions

brittle remnant
#

@fossil swan thanks for the heads up!

brittle remnant
fossil swan
#

@brittle remnant that atan2 is a custom node, not the "newer" official atan node, and the atan simple version works fine, reducing some more instructions

brittle remnant
#

@fossil swan Ah cool thx!

fossil swan
#

"Arctangent2fast" is what you are looking for

brittle remnant
#

Cleaned it up to use both optionally

#

@fossil swan You have your X and Y inputs flipped. They were reordered in the original version of the shader. (Y on top X on bottom)

#

I did the same thing the first time I hooked it up. LOL

fossil swan
#

works fine for what I need

brittle remnant
#

rgr

fossil swan
brittle remnant
#

I mean except for the stretching ๐Ÿ˜„

#

My guess is that the normals are getting distorted from the non uniform scaling.

#

Try using the pixel normal instead of the vertex normal at the end

#

Or another approach would be to move the verts along X using a local position offset to stretch instead of scaling.

#

That should leave the normals alone

indigo jolt
#

@fossil swan i think you have Uniform Scaling locked ๐Ÿ˜›

#

hard to tell, but it kinda looks like it's inverting in all axis at once instead of just X

wanton vector
#

That gif was super satisfying to watch, Luos. Such a nice effect haha

fossil swan
#

@brittle remnant need to use scale, @indigo jolt thats not the problem.

drowsy lynx
#

@fossil swan do you see the same scaling behaviors when you remove the material and just look at the geometry?

fossil swan
#

no its fine then

analog onyx
#

@fossil swan I am not sure what you are up to with that node network. If you want to make certain WPO effect scale-independed, perhaps you'd need to transform unit vector from local to world and measure its length.

fossil swan
#

@analog onyx everything works as expected, but for some reason when scaling the mesh on its z-axis messes up a clamped gradient and causes that weird size/offset thing

analog onyx
#

Yeah, but what's the point of world to local transform before multiplying by vertex normal ?

fossil swan
#

using the normals of the mesh (which is made out of 4 cylinders) to change each cylinder's size

#

and that was the only way to get it working regardless of mesh rotation

#

(for me at least)

analog onyx
#

Aren't you supposed to transform from local to world instead for that ?

fossil swan
#

if i turn that around the seperate cylinder offset isnt working

#

would this problem-solving be easier if I shared screen?

#

changing it from local to world actually results in weird behavour hehe

analog onyx
#

On a satellite dish connection atm. Won't be able to see a sharescreen without lagfest.

fossil swan
#

allright

analog onyx
#

But with that transform node, you will get different results, depending on mesh rotations. If you are interested in getting scale relation for each axis between local and world space, you would need to transform a unit vector and measure its length. I assume that is essentially what you are after.

fossil swan
#

length shouldnt be an issue at all, it should work regardless of me changing how long it is.

celest birch
#

@fossil swan What happens if you remove the appends and the transform?

#

Also, what's the 1-x for? As far as I can tell, the input is not saturated so you might want to be using * -1

fossil swan
#

two of the cylinders have inverted normals

celest birch
#

Technically, you should *-1 to invert

fossil swan
#

ill keep it in mind

#

currently only testing the gradient stuff, one sec

#

the hell

#

one sec

#

did I just overthink it? without the appends/transform its working hehe

celest birch
#

๐Ÿ™‚

fossil swan
#

want a pizza? XD