#✨┃vfx-and-particles

1 messages · Page 15 of 1

wicked narwhal
#

yeah I figured it's be something like that, good think I don't need to

#

Oh man, this is exactly what I needed. haha They are just zipping around now

mental reef
#

Hello!

Was wondering why when I move left and right my VFX particles speed up or slow down. Here is a video of the issue and attached below is the graph I am using. Any help would be appreciated, VFX graph is not exactly my forte. I am using URP with Unity 2022.3.21f1 if that helps at all.

tired summit
#

Maybe the projection matrix ? (in the output context)

#

BTW you can remove all these time scale nodes, if the time scale is zero, then delta time is also zero.

#

Unless you specifically need something that is time scale agnostic unless the time scale is zero...?

mental reef
mental reef
upper hedge
#

UI animations use timescale

#

by default at least

mental reef
mental reef
# tired summit Maybe the projection matrix ? (in the output context)

I think I know what is up. It's using the local transform of the object it is attatched to. The enemies turn and look towards the player so I'm thinking it's the enemy turning that is offsetting the rotation, thus speeding it up or slowing it down depending on which direction you are approaching from.

modest trellis
#

how do I fix this flickering of the particles?

#

the particles are inside of the red cube

fiery glacier
#

is it usually a norm to set the x and y values to match the aspect ratio when designing vfx graphs like those meant for a rain effect on the foreground?

warm torrent
# modest trellis how do I fix this flickering of the particles?

This looks like a transparency sorting issue
Transparent geometry are sorted by their origin's distance to the camera
Particle systems are one mesh, so they all share an object origin
The simplest way would be to make every cube face is own individual gameobject with a bit of offset in their origins away from the center

#

So that the sorting point of the particle system would not be closer to the camera than the cube faces' while the camera can see the faces

modest trellis
#

Problem is that the whole lantern is a 3d model from poly pizza. It is one game objects, but with 3 different meshes, which enabled me to change their colors, so I can not make any real changes to the model itself

warm torrent
#

I'd just modify the mesh
It'd be a simple edit but if you're not familiar with the process there's some pitfalls

modest trellis
#

How do I acces it though? When I import it into blender it is just one singular big mesh

warm torrent
#

You'd separate the faces into their own objects, and make sure the origin is at the geometry or a bit in front of it

#

Alternatively you could change the material's render queue

#

But afaik changing render queue can make it appear in front / behind every other transparent object with an unmodified queue

#

I don't know if there's a way to add an "offset" to to the depth sorting point

modest trellis
#

For my case it would be ideal to turn the cube into 4 faces/windows

warm torrent
#

Indeed

modest trellis
#

But I don't know how to seperate the faces into their own objects

#

or delete them in fact

warm torrent
#

You'd have to look up how

modest trellis
#

yeah currently doing that, but thanks for your ideas once again

tired summit
#

Simply split the object itself in Blender

#

You might have to export as "object groups"

wicked narwhal
#

I have a particle system that is changing position every x seconds. When it does move, any spawned particles immediately disappear. Is there a way to ensure any already spawned particles continue out their life cylce where they were before the whole system's emission position changes?

silent sierra
wicked narwhal
#

I have no idea what shuriken is. lmao I'm also doing everything in code. Thanks!

wicked narwhal
chilly plume
#

Im using the Universal Render Pipeline and im not sure whats causing this? If its drawn infront of my ground material it doesnt draw properly

#

The images are Game view vs Scene view. Both in editor

chilly plume
#

ah its because my camera is orthographic, ill google why thats breaking it and hopefully find something

#

oh it uses soft particles which apparently just doesnt work with orthographic cameras?

#

is there anything i can do to make them work?

wicked narwhal
#

Back with hopefully my last question about particle systems for the time being.
In the gif you can see the particles being emitted in various places but they seem to all be synced up. Is this a lifetime issue or something else? How can I ensure particles are continuously emitting but not all at the same time like so? These particles are meant to be fireflies on the map and spawn in randomly during emission instead of all at once.
Fixed.

rotund pasture
#

is there any way to make a custom tree I have created in blender work with Unity's wind

still whale
#

this is the pic from unitys documentation of package manager

#

mine doesnt have the tab that says unity registry

#

anyone know why mine looks different?

burnt coral
worn jewel
#

Does anybody happen to know how Unity renders 3D mesh particles when your particle system has multiple meshes to choose from? Is it grouping each mesh type together and then rendering those together each time? Just wondering if there's something clever it's doing under-the-hood that's not obvious.

flint glen
#

I'm working on a 2Dgame in Unity and have added a smoke effect to my enemies using the particle system. I've integrated the smoke prefab inside the enemy prefab, but I'm facing an issue with the smoke's rendering.

The smoke is being drawn beneath everything except the ground, without considering the enemy's Y position. I've checked the Sorting Layer, Order in Layer, and camera settings, but the problem persists. I also tried adjusting the Z position of the particles and using a Sorting Group, but haven't had any success.

Has anyone encountered a similar issue or have any suggestions on how to fix this?

Thank you in advance for your help.

ripe mantle
#

@fluid lagoon It's 1.

#

@fluid lagoon And both are using the default Unity cube mesh.

#

It seems that the particle is 0.1x times size of the mesh.

fluid lagoon
#

(either of them)

ripe mantle
#

This is the entire system

tardy dragon
trim tide
sweet furnace
#

Hi, I have a small question. Is it possible to use a sprite's slice mode or some equivalent for particles? I was planning to use it for this effect, where rectangles grow like this but they get too thick when the size is really high, which is why I was hoping to use slice mode

#

The border is thin since that's a sprite whose draw mode is set to sliced, just needed something similar for the particles inside to complete it

stuck timber
tardy dragon
# stuck timber Particles system, 3D meshes, noise dissolve texture, use another noise texture f...

Got this working! Only issue it visually looks like there are ~7ish particles. I assume this is because there are around 7 frames during the animation so they all end up emitted/clumped at the same starting position for each frame. Any smart ways to interpolate? I added some variation of +/- x units for their starting positions, but that only helps so much. I also don't want to go too overboard on rate since it's already at like 400/s, but that might be the only solution?

ashen robin
#

sweet art style

ashen robin
#

can probably get an idea for the shuriken system with it otherwise

tardy dragon
#

ooo thank you. figured this must've been a common problem!

novel steeple
#

I am trying to implemented a skinned mesh renderer particle effect in Unity 6, but it's not behaving as expected. Here's the VFX Graph, and a screeshot of the result. Any gurus that can tell me what I'm missing? The particle system is spawning at the root, but not affecting the mesh.

buoyant ermine
#

how can i stop fog from doing this?

novel steeple
ashen robin
#

because otherwise what you have there seems fine to me

#

Actually, is there a reason you're plugging the transform into a set position property instead of sending the transform into the positional mesh node?

#

It's been a while but this is what I've done with them before

novel steeple
#

so moving the set position above the skinned mesh results in this

novel steeple
#

should I be setting the mesh transform to the mesh's transform? the tuts I followed set the transform to the root node

ashen robin
#

I use one of those vfx property binders

novel steeple
#

LEGENDARY!

#

Now I simply need to make it look pretty 🤣

novel steeple
novel steeple
rancid bridge
#

Hey everyone, I've just created a new project to test some stuff on VFX graph and it seems they've changed some things and now I'm a bit lost. On VFX Graph 14.0.9, I could connect each axis of vector nodes separatedely, but it seems they've removed that on VFX Graph 14.0.11, and now I don't know how to get each axis. There's no split node like in Shader Graph, so how do I "Split" a vector node now?

open birch
#

Hey guys, I'm sure this question has a super simple answer I'm just not finding, but randomly when modifying the intensity of rain with my particle system I will sometimes get the following error:

NullReferenceException: Do not create your own module instances, get them from a ParticleSystem instance

The issue is however, that for some reason I can't simply access the emmission module through the rain particle in code (image 2), so I'm obliged to declare the particle systems rain module in a separate variable within the start method (image 3). Does anyone know what I'm doing wrong? Thanks you for your time, any help is very welcome.

#

sometimes it works fine! then other times I just get errors?

#

I'm super confused

rancid bridge
# open birch Hey guys, I'm sure this question has a super simple answer I'm just not finding,...

Ok, so, the modules of a particle system are Structs and Structs are value types, so you can't modify structs as if they were a refernce type like what you're trying to do in the second image. Being a value type, you need to copy it, modify it, and then assign it back. For the same reason, it's not a good a idea to get it in Start because, since they're a value type, you're not getting a reference to the module, you're getting a COPY of the module, so if you modify this copy, the original will not be affected. It's exactly the same thing as when you want to modify the transform.position of an object: if you try to modify only the X axis, it won't let you because Vector2/3 are structs.
So, as a rule of thumb, if you wanna modify a struct, you need to copy it, modify the copy, and assign it back.

wicked narwhal
#

Is there a way to set the color for each particle individually?

warm torrent
#

And by what logic

wicked narwhal
#

Not sure what you mean by the system. I'm just running a ParticleSystem, all from code.

#

I'm currently setting a random color for every particle at once for the color of the ColorOverLifetimeModule.

#

I was hoping there was a way to set a random color for each particle separately though.

wicked narwhal
#

I'll give that a shot, looks like it should work thumbsUp

wicked narwhal
#

I may have found my mistake aPES_Think

hot berry
#

Anyone here know how to make some really good looking blood VFX

wicked narwhal
wicked narwhal
#

I found a different approach which works for my needs. vibecat

half aurora
tardy dragon
half aurora
slow beacon
modest elk
#

hello i want make a sneeze effect but its the first time i try to create vfx so im bad someone can explain me how i can make splash texture when he touch the ground

modest elk
tardy dragon
raw torrent
#

hey so im trying to make some lightning effects where lightning bolts come off the player and i want them to be random colors between black and white but for some reason there are some gray ones

#

i did random between 2 colors

#

my only guess right now would be that a black and white lightning are overlapping and im not sure how i can fix that

urban pike
modest elk
tardy dragon
modest elk
tardy dragon
#

Though I haven't personally looked into it, might be a way to do it w/o.

raw torrent
shut cliff
#

@raw torrent Try reducing noise strength of the particles at the start by using a curve. Using noise may offset them a bit from the start area

#

@raw torrent Also for the random color, use Random Color with a fixed gradient

sudden dagger
#

In this, After Effects tutorial, we will create Torch Light Text Reveal Animation in After Effects without plugins. We will create light and then animate it to reveal the text or logo.

⚡ Love my content? Please support on Patreon and get exclusive rewards: http://bit.ly/adMotionsPatreon

📂 Download Tutorial Project File on Patreon: https://www....

▶ Play video
#

how to make this type of light reveal animation in unity 2d ?

ashen robin
#

look up stencil shaders

sudden dagger
ashen robin
# sudden dagger Any idea ?

https://www.youtube.com/watch?v=CSeUMTaNFYk
Videos a little dated, and they use built-in here, but you can do similar using URP render objects.

✅ Get the Project files and Utilities at https://unitycodemonkey.com/video.php?v=CSeUMTaNFYk
Let's make an awesome Line of Sight effect that interacts with walls, enemies outside the Field of View are not visible. Excellent effect for any sort of Stealth or Horror game.

Get Survivor Squad and Survivor Squad: Gauntlets in the Game Bundle
https:/...

▶ Play video
ashen robin
#

https://www.youtube.com/watch?v=jidloC6gyf8
More updated version but less specific to the topic (rather the inverse of the idea)

Many games need to make sure the focus is on the player or some other object, and walls are usually a hindrance. You could move the camera past the wall or render things over it.

In this tutorial, we'll just cut a hole in the wall instead. I've seen a wall cutout effect before in a handful of ways, so I'm going to take an alternative approach t...

▶ Play video
#

https://www.youtube.com/watch?v=xkcCWqifT9M
Oh, sebastian has a good one too

sudden dagger
#

2d animation on UI canvas

deft forum
tardy dragon
#

t3ssel8r fakes particle effects by using full screen animated textures for rain, dust, etc.

https://www.youtube.com/watch?v=39A0n24PX8g&t
https://www.youtube.com/watch?v=ony4o3E0J20

He states that he does this to "obviate the need to compute particle effects on the CPU or transfer buffers between CPU and GPU memory". Likewise instead of relying on physics collisions to detect rain impacting surfaces I believe he simply places random splashes on the screen and culls out ones that don't intersect with top edges via reading the camera depth texture.

Since VFX Graph already offloads a bunch of stuff to the GPU, does it naturally take care of some of these concerns? Obviously a texture likely still has less overhead, just wondering how it performs at a high level.

ashen robin
#

kill planes aren't that accurate I feel if the particles do travel too fast (doesn't seem to really do much interpolation as far as detection)

#

You can probably chunk the systems a bit too and spawn them over sectors so a single system isn't rendering all the particles at once if your world is large enough

#

or dynamically move a system and let the particles fall locally

tardy dragon
#

i assume this is that haha

ashen robin
#

yeah, that should probably work fine

tardy dragon
#

He seemed very worried about trying to detect collisions, thus opting for camera depth texture random splashes, wonder if that's a big performance hit.

ashen robin
#

vfx graph has its own kill fields which you will bake either through signed distance fields or using plane yourself

#

scroll to the bottom

tardy dragon
#

ah gotcha, and I assume all of that still comes with the buttery performance benefits of being done GPU side?

ashen robin
#

or the alternative assuming your level isn't that complex in geometry is just tween out the alpha so they never hit the ground

#

yeah it's done using compute shaders

tardy dragon
#

Is it expensive to read a bunch of meshes to update SDF at runtime?

#

Prefer not to bake manually atm, if possible.

ashen robin
#

not too sure but that page does mention about runtime. I doubt it would be impactful unless you're changing them every frame

tardy dragon
#

Gotcha, ty!

ashen robin
#

the idea is you try to do least amount of work across frames, but if it's like a few changes here and there, you just proliferate those values downwards

#

and once that data is inside those buffers, you can use it as you want. The most expensive operatiosn are those that need to communicate to the GPU from the CPU side

#

which is interesting because having a system local to your player still requires sending that transform to the systems each time it's updated, but I guess it's done in some performative way

tardy dragon
#

ooo dear you're right. VFX property binder for player transform -> emitter origin... safe to assume that's performant?

#

or...

ashen robin
#

it's a feature of the graph so they intend for some of that information to be sent to it

#

I mean, I have some systems that I directly modify these buffers each frame and it's still much more performant than doing it CPU side, that's for sure.

#

it's just that when it comes to say a rainstorm, you wouldn't be modifying each raindrop. Instead, you modify the position of the rainstorm which only requires updating the buffer with a single transform change.

#

Meanwhile, shuriken system you can iterate over each raindrop and modify it (bad example but you can if you wanted to)

tardy dragon
#

Got it working! Turns out VFX Graph can read depth buffer (which makes sense, duh), so collisions were trivial.

#

Now to figure out if there is some inverse kinematic voodoo to make splatters normal to where they hit.

ashen robin
tardy dragon
#

ha, luckily my game is lofi enough to get away with clipping. thanks a bunch for the insight! ❤️

deft forum
#

That looks great!

still thistle
#

Hi there! Is it possible to send data from a VFX graph back to the CPU? Specifically, I want to call a certain method if a particle gets within a certain distance of a Vector3 property. I see a couple mentions on the Unity forums in 2020 of CPU Events and CPU simulation, but nothing that seems like it'd be helpful for this.

upper hedge
#

there is a way to get gpu stuff back into cpu, but I'm very doubtful it can be done with particle system particle positions

upper hedge
lost frigate
#

Hey guys, how can i know when my particle hits to any collider in the scene with VFX ?

#

this is my water effect and now i want it to make a decal on the ground when it hits, i could manage create the decal on the ground, but only when the particle dies, (Triggre event On Die) its called.

#

but i want it to be anytime when it hits to anycollider, any thoughts?

still thistle
solar summit
#

Does anyone know how dani made the blood have like a trail ? At 4:48

https://youtu.be/K0X5A6aURms?si=EClE3fl1rdxMPJ9t

haha 3d among us go brr
➤ Wishlist my game - https://store.steampowered.com/app/1228610/KARLSON/

NO DOWNLOAD AVAILABLE YET

➤ Twitch (coming soon) - https://www.twitch.tv/danimilkman

➤ Instagram - https://www.instagram.com/danidevmilk/
➤ Twitter - https://twitter.com/DaniDevYT
➤ Discord - https://discord.gg/danii
➤ Facebook - https://www....

▶ Play video
warm torrent
#

Since they look to be trails on particles, particle trails specifically

cinder iron
lost frigate
# cinder iron I think its related to Depth buffer

True, I am using it but yet I cant call any events for it, it only affects as collider to show physics particles ( like hits to any object around it) so basicly i need to move to old particle system in order if i want to have some functions and actions/events on my particle OnCollider hits because VFX is based on GPU, but Particle system is on CPU which is sad :(

still thistle
still thistle
#

Oh wait! Have you looked at the Output Particle URP Lit Decal block at all? This still won't allow other CPU events, but if adding decals is all you're looking for, it might be what you want? (Haven't looked into it too closely yet)

fast olive
#

hi! i'm having issues with the trail renderer:
in the first clip the order in layer is lower than the tornado. it seems to me like it's trying to figure out whether to render the whole thing or not and it sort of flickers
in the second clip the order in layer is higher and obviously the trails are rendering behind it when they shouldn't.

does anyone have any idea on how i could approach masking the back face of these trails without it getting all buggy? any help appreciated

fast olive
#

no, shuriken

ashen robin
#

it looks like it is sorting correctly, but the problem is the trails linger by the time the pivot swaps sorting position, making the whole trail render in front/back instantly

#

basically you're sorting by 2 pivots

#

because transparents you don't sort by pixels (when sorting between transparents)

#

some ideas is use opaque trails and a dithering shader

fast olive
fast olive
ashen robin
#

not too sure about the flickering but probably similar problem as it's fighting with sorting

little cobalt
#

Has anyone experienced certain particle systems not showing on some Android devices? If so, what fixed it?

tardy dragon
#

Unsure on how property binder functions under the hood; Is there a way to throttle how often the property is bound as to limit how often the CPU has to talk to GPU/potentially improve performance?

ashen robin
#

If anything, updating multiple buffers every frames I'd expect would lead to more synchronization issues first before any actual performance issues

slate radish
#

Where can i find 3d modelers on this discord ?

grizzled orbit
#

can we use vfx graph stuff in mobile games?

#

or just use shader graph and shuriken?

#

idk if its safe to say that all mobile devices that people use are gpu based these days?

clear spruce
lost frigate
#

but at the moment, I have another issue, so basecly i have an alpha clip in my shader graph and i have its value in VFX profile so i want to change it over the life time of my particle, im sure there should be a way but dont know how to make its algurothm, any idea?

#

this, i want to change this

ashen robin
#

rather it's lifetime divided by total time? That may be it

mint mesa
#

just messing around trying to make a basic fire particle. why isn't the lighter orange always appearing on top of the darker one? i have the order in layer of the light orange set to a higher value, so how is it that sometimes there is dark orange above light orange?

deft forum
#

Trying to make a VFX effect that correctly projects a decal onto a skinned mesh renderer (blood onto a character) - is there any easy way to make the blood decal deform 1:1 with the skinned mesh?

IE. At the moment, when the blood decal hits initially, everything is in the right spot, but when the character is moving/animating, the decal projection sits there and projects onto whatever element of the skinned mesh has moved in front of the projector. Parenting the decal to the relevant bone helps but doesn't seem to fix it.

lost frigate
agile hedge
#

With a Particle System that has subemitters. If I have a subemitter that emits on 'Death', how can I know when that 'Death' event happens, or when that subemitter starts?

ashen robin
# lost frigate

that seems fine to me, what's the problem? I'm not too sure if you can send in animation curves at runtimes, but I've not really looked into that

fast canyon
#

im new to vfx in unity, trying to make a simple effect by following a tutorial and i added a vfx graph into my game but there are no particals comming out? why is this?

lost frigate
spring wolf
#

I have some projectiles in 3d that use particles. I have them set to local here, where they are "correctly" facing their target, but are obviously flat in a 3d world
setting them to view works fine for achieving the 3d illusion, since they always billboard toward the camera, but then they obviously don't inherit the rotation of the game object, so rotating the projectile doesn't work

is there some kind of middleground for this where I can get both?

#

more succinctly: is there a render alignment option where a particle will be parallel/billboarded to the camera plane while also rotating with its gameobject?

spring wolf
#

this might be a better visualization

#

the particle is tilted 30* to match the camera, and it looks correct here- it's moving -> toward the right of the screen
but if I rotate the parent gameobject to face north instead, it obviously looks incorrect

#

is the only solution to this to do the math when I update the gameobject's rotation and rotate it to face the camera?

warm torrent
#

Although the alignment is with its particle, not the gameobject

blazing hinge
#

Hey people, I have a VFX which uses an "age over lifetime" sampled bezier path for particle motion. I want to begin the vfx at an advanced state, as if it had already been playing for a while, so that the path is already filled with particles. I tried prewarming and vfx.simulate from script but I can't do it. How do I do this? How do I start my vfx with advanced simulation time start?

fast olive
#

hello. i am making this effect and have hit a wall. i don't know how to stretch the orbs in the direction that they're flying into. i can't scale it over x/z axis because each orb has a different angle relative to the enemy so it wouldn't look right.

this is all one particle system. it's moving with an external forces module + spherical wind zone. i could split this up into 5 different particle systems and animate them manually but i would prefer to find a way to stretch them in the direction they're moving towards in either the particle system or the shader.

i have always used shuriken but let me know if vfx graph provides solutions for this and i will try it. any help appreciated, thank you! (this is not meant for in-game implementation so unconventional solutions are welcome)

burnt coral
fast olive
#

i believe custom vertex communicates shader into particle but not particle into shader. i might be wrong and i will check

ashen robin
#

Though, I think scaling is the easiest solution here such that all rocks should just face the target in the forward direction and scale the z

fast olive
#

But how would I make it so that they're all facing that direction? That would be ideal (I'm already using that to scale the Y in the beginning) but if I do that currently they would all have the same Z axis, and each one has a different angle

ashen robin
#

Though I'm surprised you've got that all accomplished with one system. Usually I would just use the animator or expand out my particle controller script

#

I find sequencing using the systems alone quite complicated without some secondary scripting

granite otter
#

does anyone know how costly is for a particlestrip update

granite otter
#

no

keen slate
granite otter
#

as long as i am doing gamedev my life is at stakes

tardy dragon
#

Is there a non-stupid way to clamp particles to a pixel perfect grid? Trying to avoid iterating over every particle every frame, esp. on CPU. Is a vertex shader the right track?

clear spruce
prime dome
#

how to make particlesystem particles emit 2d lights? blobroll

warm torrent
#

You need to modify it to be able to inherit particle information for the light though

prime dome
#

people really uses that to attach things in ps's?

#

i guess I have no choice cat_shy

warm torrent
#

Not having to use a script it would be more performant for sure, but it's not like prohibitively bad to do a couple of loops
Lights, both 2d and 3d are expensive enough that you probably run into rendering costs first

prime dome
#

Aight thanks, let's just hope the visual fx is worth the loop

granite otter
#

anyone knows why particle strips quad looks much thinner when moving vertically than horizontally?

granite otter
#

nvm i gotta orient it

limber quartz
#

hey all, is there a way to get sprite particles to use the sprites pivot point? I'm using it for the dust the player kicks up. "castle crashers" style. But I'd like each particle that spawns to be pinned to the ground (all particles to spawn at the same Y axis regardless of size). Also, Is there another work around besides using the pivot?

ashen robin
#

Hmm actually that just returns an enum

#

Usually I just pivot the sprites at the bottom such that local space 0 is at the ground

torpid harness
#

Can anyone help me make a lowish quality hollow purple particles, im new to unitys particle system and I would love to make something like it for my game! (Red, Blue and Purple if anyone knows how)

lost frigate
#

how to animate textures like this in VFX or in custom shader graph ?

warm torrent
lost frigate
#

tnx

warm torrent
#

VFX Graph also supports flipbook blending and "motion blending" which is fancier version of it

lost frigate
#

yeah but it dosent work, or at least i dont know how to work with it, im trying to find a way to do it in shader

#

even tho i think its better in VFX itself

#

should't be like this?

warm torrent
# lost frigate should't be like this?

To set an output to use flipbooks, change its UV Mode to Flipbook, Flipbook Blend, or Flipbook Motion Blend. For more information on the different UV Modes, see the documentation for the various output Contexts.

#

Seems relevant

lost frigate
#

got it thanks

lost frigate
torpid harness
warm torrent
torpid harness
lost frigate
torpid harness
lost frigate
#

is it like explosion ?

torpid harness
torpid harness
warm torrent
#

The lightning and debris in your reference could be particles, but all those swirls, blurs and wobbles would have to be scrolling textures or some distortion effects which only shader can do

torpid harness
warm torrent
lost frigate
#

and i finally found how to use animated tiled textures in both shader graph and VFX, which is i also believe is helpful for ya @torpid harness

#

the shader graph

#

and the VFX

#

u dont need flip book player at all

#

just try this

torpid harness
#

Okay

torpid harness
lost frigate
#

i can give it to ya, i dont mind share tbh

torpid harness
#

I may need a little more help with this if you dont mind T-T

lost frigate
lost frigate
torpid harness
lost frigate
lost frigate
#

so i have another problem over here

#

see part of the particles are under the ground

#

cause the there init pos is on the center

#

is there a way i make it bottom ?

limber quartz
fading flare
#

is this guy have differences tutorial between in youtube and in his udemy course ? i just was about to buy some of his vfx course but then i curious if there was have a different course or maybe tutorial between youtube and his udemy ?

tardy dragon
#

Is it possible to emulate these sharp diamond-ish impact FX from Hades without a custom texture/mesh that specifically has that shape? E.g. is just scaling/stretching a few basic particles viable? (or would it be stupid to do it this way rather than another)

ashen robin
tardy dragon
#

Yep, sorry should've been a bit more clear, mesh for arc makes sense, just concerning the impact "lines".

#

It is animated, they thin out like so.

ashen robin
#

ah, if it's not animated then it is some shader along with the decal

#

squashing the uvs of a quad maybe?

tardy dragon
#

iirc hades is purely 2D so on their end it may be pre-rendered?

ashen robin
#

you still have shaders in 2D

tardy dragon
#

i'm more than fine w/ it being a 3d effect though, just want to get similar visuals

ashen robin
#

not spatial shaders, but you can still distort uvs

#

(well, from the majority of 2D engines I've used)

#

and luckily Unity has a fake 2D implementation so most shaders you throw at it can work

cosmic moss
#

Hiya guysss, joined this server very quickly because I'm struggling with particles

I'm doing particles to mimic the effects you get from a gobo light (meaning they don't move)

But where I've set it up it seems to be flickering randomly which obviously isn't great, any ideas?

#

The effect I’m trying to recreate ⬇️⬇️⬇️

naive sentinel
#

ooh

#

nice

open birch
#

hey guys, I have a quick question I was hoping someone would have the answer to. I'm currently using a trailrenderer for a plume of smoke behind a rocket projectile in my game, that destroys itself after hitting a target and exploding. I was wondering if anyone knows how I can keep the trail renderer present until it has naturally ran its course and expired in its own time? (without waiting for the trail to dissapate and then destroy the object) thank you for your time!

cosmic moss
#

And I don’t understand why it’s constantly random either

#

Random seed is off

warm torrent
#

!collab

gleaming flickerBOT
#

:loudspeaker: Collaborating and Job Posting

We do not accept job or collab posts on Discord.
Please, use Discussions to promote yourself as job-seeking, advertise commercial job offers, or look for non-commercial projects to participate in:
Collaboration & Jobs

ashen robin
raw torrent
#

how can i make the lightning particles be easier to see and stuff

#

what should i be changing in the particle system settings to make it more visible

warm torrent
#

Or rather investigate why it's hard to see in the first place
Some purple thing seems to be occluding it?

onyx lake
misty hemlock
#

Hello! Does anyone know why my HDRP local volumetric fog is being culled at a very short distance? The component's cull distance is at 10000 as per default, and I've googled and scoured Unity for some kind of setting to increase the distance, but I can't find it. Any ideas? Thanks in advance!

warm torrent
tardy dragon
tardy dragon
#

ahhh duh.

#

would that be done w/ raymarched meshes? potentially expensive with tons of smol ones, I assume?

onyx lake
#

It's usually just fake stuff, if you're looking at games like world of warcraft and such. Usually no need to make it super realistic. Unless you have a different use case than normal?

onyx lake
#

@tardy dragon something like this is usually how games do it. Again, unless it's some very realistic game that wants to go for next gen graphics. If you're looking for something very realistic I'm out 🤫

tardy dragon
onyx lake
tardy dragon
#

yep no worries, just curious about how people approach things.

warm torrent
#

@onyx lake @tardy dragon depth textures could also be used here with multiple/layered light rays, similar to:
https://vxtwitter.com/Cyanilux/status/1190253359703482369

Seen some waterfalls recently, and I've been working on one too! 💧✨ #unity3D #madewithunity #shaders
I wanted to have a bit of interaction, so I'm passing a sphere's position & radius into the shader. (…

💖 5.98K 🔁 1.07K

▶ Play video
#

This example uses simple object position and radius, but with an RT camera that sends its depth texture to the shader, position of intersection could be inferred in 3D space

#

Much like how shadow casting works for Unity's own lights

tardy dragon
#

likely positive performance implications over raymarching, at the cost of some fine-grained control?

tranquil tendon
#

Hey yall, question. I just followed two tutorials, a lightining vfx and an impact one. How would I go about combining the two into one single vfx? I used the visual effect graph editor.

ashen robin
tranquil tendon
#

how would I do that? just drag it over in the graph?

ashen robin
#

create it inside of it

#

I believe you can just copy paste it all

tranquil tendon
#

got it, thank you!

#

not sure if I had to copy paste the whole system or just this, but it seems to work

#

i would assume doing it the other way would allow me to edit it the impact manually

onyx lake
random mesa
#

Looking to do an vfx aura that slightly pulsates around the player game object and creates an after image effect when it moves. Where do I start? Everything through Unity preferably

torpid grotto
#

why does my particle force field not affect all particles

scenic basin
#

Why is the Dusst Paritcle Material still a square even though I have a value filled in for the base map? The base map consists of 30 particles, which I want to be shown as separate particles, but the material just shows the 30 piece image directly,, instead of one by one. How do I fix this?

warm torrent
lost frigate
#

hi, is there a way that i can make fog shadered particles in VFX HDRP, by creating costum shaders? like adding mesh and the mesh gonna be the fogs 3D textures and then add it like particle ?

scenic basin
warm torrent
scenic basin
#

For some reason the paricles that are coming out are squares, instead of the things in the tiles of the texture sheet

lost frigate
#

hey, is there a way to stop particles from dying after spawnning?

warm torrent
#

Alternatively Ring Buffer Mode can be set to pause or loop which makes the lifetime pause / loop rather than the particle disappearing until the particle limit is reached

rancid verge
#

Hi. This should be simple but i'm stuck.
I've made a particle system using a sprite sheet
I've placed the pivot point to the right in the sprite editor, but the particle system uses the sprites as if the pivot point was in the center,

Any idea about why the particle system doesn't respect the image pivot point?

rancid verge
lost frigate
#

see these fires are spawning and getting destryed after their life time passes, if i dont set life time, it'll add a lot until every where is fire

#

plus i wanna controll its intensity by a slider value from 0 - 1

tardy dragon
tepid crest
#

Dang that is nice, I feel like the hardes part would be getting the perlin to flow nicely

But yea I would imagine it's some number of like quads or sprites each with the shader, perlin noise, quantization with dithering

tranquil tendon
#

Hey I'm trying to make particles without using tutorials for practice but I'm a bit stuck here, how would I make the particles not follow the set path? I want it to look like the red sparks you see when someone welds.

#

seems to be the add velocity that keeps it in the line

wicked narwhal
#

Alright, I've been scouring the forums and the rest of Google all night and I eventually just threw my own script together to try to handle the issue but nothing it working. How can I ensure my particle textures here always point in the direction they are moving while also billboarding? They should only rotate along the x and z axes. (This is a mod for RimWorld and RimWorld uses the y axis for depth/drawing, hence the rotation being on the x and z). The video shows what is happening. They are rotating along every axis.
Here is the script for the rotation handling. (and the rest of the repo)

tardy dragon
clear spruce
tepid crest
ashen robin
#

That's a pretty cool idea

humble moon
#

Are Sub-Emitter transforms just bugged? in 2022.3

If a sub-emitter has local offsets as a child, it gets reset to zero.
If a sub-emitter has transform settings on its Shape module, they only follow the default world axis (as show in in the video, the local axis is selected).

I want the sub-emitters to be offset in the local X axis they always align with the world axis.
I have set the sub-emitter to Inherit Rotation on Birth but that doesn't change the behaviours.

little cobalt
#

For 3D, is it possible to make particles only world-space on the X axis? I want the Z axis to stay on the player, and I will have a subtle Z velocity for that. I don't know if I explained it well.

I'm making a cartoony 3D endless runner and want this for the player running dust trail. Here is an example of what I want to achieve. In this test, the player is not moving on Z axis. In the actual game, player will be running along Z axis (so this doesn't work).

little cobalt
#

I achieved it by looping over each particle in LateUpdate and setting the particle.z position. Let me know if there's a better/more optimized solution.

slow beacon
#

Respected,
this will call on the particle collision....

if (_hit.collider.gameObject.name == gameObject.name)
{
UIController.instance.UpdateCurrentInteractingObject(objectName);
Debug.Log("why2: " + hit.textureCoord + "..." + hit.collider.gameObject);
// If the ray hits the object, returns the texture coordinates of the hit point.

return _hit.textureCoord;

}

this code works fine in the editor.
but when I export the android build..
it returns the default unity cube texture point correctly on collision... but on other meshes it print the name correctly and always return the (0,0) texture hit points on each part collision of the body.
I have applied my shader, but I think it's not relevant to the shader.
I don't know, I didn't get anything relevant to this..
And i am trying to get the solution from past two days.
Kindly guide.
Thanks

wicked narwhal
#
AnimationCurve weightedLifetimeCurve = BuilderUtility.GetWeightedLifetimeCurve();
mainModule.startLifetime = new ParticleSystem.MinMaxCurve(1f, weightedLifetimeCurve);
public static AnimationCurve GetWeightedLifetimeCurve()
{
  AnimationCurve weightedCurve = new ();

  // 75% of the time, lifetime of 1-5 seconds
  weightedCurve.AddKey(0f, 1f);        // Maps to 1 second
  weightedCurve.AddKey(0.33f, 5f);     // Maps to 5 seconds

  // 15% of the time, lifetime of 6-15 seconds
  weightedCurve.AddKey(0.34f, 6f);     // Maps to 6 seconds
  weightedCurve.AddKey(0.66f, 15f);    // Maps to 15 seconds

  // 10% of the time, lifetime of 16-20 seconds
  weightedCurve.AddKey(0.67f, 16f);    // Maps to 16 seconds
  weightedCurve.AddKey(1f, 20f);       // Maps to 20 seconds

  return weightedCurve;
}

I'm trying to give each particle emitted from my system a random lifetime with weights. This seems to only take effect once though. As in, when the system starts emitting it picks a key and that is the lifetime every particle has, instead of each particle getting a randomly weighted lifetime from my AnimationCurve. Am I misunderstanding how something here works, fundamentally?

lunar bough
#

Is there a way to render a quad that would 'hide' geometry behind it by rendering the skybox there instead?

In this example, you can see the top down of the rest of the level, but what i want to have happen is that it just renders the skybox over it. I could put this floating island inside of a cube with a shader on it, i'm just not sure what it would do.
Alternatively, i could make another camera which sets depth only? Then nothing would get rendered in the real pass for anything behind it?
Edit: Arg, i erased my clipboard, one moment

warm torrent
#

Not really VFX questions

#

I rendered the sky layer over a mesh by setting that mesh to use a stencil shader, and with URP's render objects feature rendering the sky layer only over that stencil
But I don't know if there could be better ways
And I don't know if you're using URP

lunar bough
#

ah right, i can ask this in the other forum

mint solstice
#

any 2d particle packs besides kenney

spring wolf
#

heya, I have a vfx graph that takes a combined mesh of my player and outputs it as a particle. this part works great- the problem is that this mesh is being updated and reapplied to the vfx graph (just through SetMesh) a few times a frame, for an afterimage effect. this means all existing particles update to the new mesh, causing them to essentially be a low fps version of the player character instead of a static afterimage of one frame of movement

is it possible to "lock in" a specific mesh for one particle? it's being applied just in a shader graph output variable right now, as shown

vapid spoke
#

Is there a way to fill a mesh with grass similar to blenders particle system, I need a quick way to apply grass to a mesh, Geomtry shaders seem far to complex for me to figure out, I'm ok with getting 1fps. I just need to apply grass to a modular mesh

#

Google has given me some examples but I'm not 100% sure on the method used I need some kind of tutorial

bright hinge
#

hi everyone, noob question but i googeled and didnt find the answer, how do i rotated the direction of the outputted emmision. In this case it was a rain effect but with a slight angle, im making it into a shower, im also looking to make it in a cone shape if possible?

normal remnant
warm torrent
normal remnant
empty obsidian
#

Does anyone know how I can render a particle system in front of a screen space overlay canvas?

idle cave
#

would just not over complicate things use a screen space camera canvas

#

then you can layer what ever else you want over it from a other camera

#

or use particles within the same camera

junior thistle
#

stupid question, but are all shuriken vfx eligible for the particle lit shader if they were made for the normal unlit shader

blissful knot
#

Hi. Not sure if i drop it here or in URP, but all thing considered it probably belongs here.

So. I have a problem that occured after i installed VFX Graph. It demanded installing URP or something similar, so i did just that(URP)
And when i added a VFX into scene it throws these exceptions

in all three Compute Shaders files inside VFX Graph asset("Initialize Particle", "Update Particle", "Output Update") and VFX plays slow and laggy.
Any solutions?

ashen robin
blissful knot
#

weirdly enough, but VFX Graph worked good with project that was made from 3D URP template.
But i guess there are some settings pre-set that i'm not smart enough to tamper with

wicked narwhal
#

When using MinMaxGradients and Gradients with ParticleSystem modules and different modes, is there a way to have the gradients/curves evaluated at something other than the entire system's lifetime?

empty obsidian
idle cave
#

but if you do not want a camera to render certain things, its always the same approach, you edit the culling mask on the camera

#

which lets you define what layers the camera will render

#

so for a UI i tend to toss my canvas on a layer called UI

#

and have the UI camera only render UI layer

empty obsidian
#

(or I'm doing something wrong 👀)

idle cave
#

assuming your partcies are just not set to the right layer

#

also make sure they are physically between the canvas and camera

empty obsidian
wicked narwhal
idle cave
#

and you can control that distance on the canvas

nimble axle
#

I can't seem to find many tutorials about how to make slash and swing effects in unity that doesn't use the VFX graph.. anyone know how to do this or have any advice?

scenic lynx
#

Can someone teach me how to achieve this type of lightning

#

Got really inspired by rec room and how they do there lighting

#

Yet nobody has figured out yeah and when I tried to figure it out myself everything goes wrong

obtuse yarrow
#

hi, im learning about particles, and i downloaded a package to check everything out and i was able to make it all work but for some reason the shadow look like this? any ideas on how to fix this? https://assetstore.unity.com/packages/vfx/particles/cartoon-fx-remaster-free-109565 this is the asset i downloaded

Add depth to your next project with Cartoon FX Remaster Free from Jean Moreno. Find this & more VFX Particles on the Unity Asset Store.

obtuse yarrow
#

its happening on other ones too not just that one btw

wicked narwhal
wicked narwhal
warm torrent
wicked narwhal
#

It does but that's not what I want. If I use RandomColor and the duration of the system is set to say, 0.5 seconds then for that half a second, every particle that spawns will simply get assigned a random color from my gradient starting at time 0 and ending at time 0.5. It just sets the color to each sequential particle emitted in order along the gradient.

warm torrent
#

So is it a random color from the gradient
Or a sequential color in order from the gradient?
I maybe confusing something

wicked narwhal
#

What i want is this, for example.
While the system is emitting, 50% of the time a particle will be green, another 25% of the time a particle will be yellow, another 15% of the time we get red, and the other 10% the particles are purple. I want to do this without having the curve evaluated for the systems' duration as x.

#

It always returns colors sequentially.

#

Sorry, this is bad timing too. I'm not home atm. sadness

warm torrent
#

If it's sequential I do wonder what's "random" about it
I'm not in a position to test much at the moment either, so just passing some ideas

wicked narwhal
#

Fair enough. The current method I have works. Just... Not well.

Since every modules' mode and their respective curves/gradients, if using any, only evaluate the x component of said curves/gradients as the entire particle system's duration that means all modules get evaluated via the same value. Meaning if I want green particles to possibly have the same random lifetime as a red one I can't. I need to make a graph to visualize this when I get home. Lol But basically green particles live the shortest and the rarer colors live the longest because those two totally separate modules share the same evaluation value for their curves. ded

#

I can't evaluate different modules curves with different x values.

#

Unless you can and the unity docs don't outline how or I'm missing something.

warm torrent
#

I think there has to be some way to set a random start color from script, from a gradient with the correct proportions, or some weighted random function
But if not, you always have the custom vertex streams / shader method

#

There's a custom vertex stream for "random per particle" which you can use as the variable for a color gradient in the shader

wicked narwhal
#

Fookin hell. At this point a shader might be easier. Looks like we're dusting off the ole HLSL today.

#

Wouldn't be a hard shader to write even.

warm torrent
#

What you're trying to do feels like it should be one or two methods / variables in a script, just elusive

wicked narwhal
#

I can't use shader graph in these parts. This is a mod for RimWorld and it's built on 2019.3 and doesn't support shader graph. I'm comfy enough with HLSL so I'll try it. Gonna look at my code again first. I'm doing everything in c# btw. No inspector or unity at all.

#

I could've done this whole system in unity but uh.... Yeah... I didn't. aPES_SipSpin

formal rock
#

how do I stop a vfx decal from projecting on other effects?

#

It doesn't have the layer control that the decal object has

#

if someone knows how to stop those lines in the wall, I also would be thankfull

ashen robin
formal rock
#

I mean, technicaly he is, the center is there, the problem is what gets hitted as well I think

#

Also, in the code I can't always control where this explosion will happen, only make sure its facing the normal it hitted, but still complicated by this extreme verticals

#

A solution might be to make the code verify 4 key points on where the explosion happen, and turn the overall thing to make it less weird

ashen robin
#

Grab a decal projector and fool around with that and rotate the direction and see if that gives some insight

formal rock
#

I'm starting with decals now, So I don't know many other ways

ashen robin
#

As for the layering issue, I forget if the vfx does have access to the lighting layers (urp decal layers), but I remember getting around that issue

#

maybe I had to use the physical layers and use URP render objects

formal rock
#

and they are still implementing, don't know if they already did't tho

ashen robin
#

right, I think I remember that issue now. Perhaps assigning the visual effect system to a layer and playing with render objects is the idea then

formal rock
#

hmmmm, that might be a interesting solution

#

gonna find a way to apply

#

thanks

ashen robin
#

otherwise just use decal projectors

#

probably easier lol

formal rock
spark talon
#

Hi everyone, I've been playing with the particle effects in Universal 2D and I want to add a lighting effect to the particles. When I try to drag a Spot Light 2D prefab into the lights setting of the particle effect it doesn't work. But if I create a normal Point Light prefab I can place it in the lights setting however it won't cast any lights. Can anyone direct me on how to accomplish this effect please?

crimson trail
#

How do i remove the background from particle system ( I have transparent background on the image)

cobalt scarab
#

@crimson trail Please remove other cross-posts now that you've found the correct channel to post in.

crimson trail
#

its okay right?

cobalt scarab
#

There's no cross-posting. Pick one channel

#

You need to select correct transparency mode on the material.

cobalt scarab
#

are you using a custom material on particle

#

It's either that or sprite doen't have correct settings

crimson trail
#

then tried applying it to the particle system

#

but there is still black background

cobalt scarab
#

You need to use material with particle shader set to transparency mode

#

And sprite I think must have alpha channel used for transparency in the asset.

warm torrent
# crimson trail

Not good enough
The material must determine transparency as seen above

crimson trail
#

Right?

cobalt scarab
#

Make sure that you use correct shader for the pipeline you are using as well

crimson trail
cobalt scarab
#

What pipeline are you using?

crimson trail
#

Whats pipeline

#

idk

cobalt scarab
# crimson trail

This looks like a shader for built-in one, it should work for both though.

crimson trail
#

I bought this pack from asset store

#

but its 4 in 1

#

This one

cobalt scarab
crimson trail
#

I cant read that long

cobalt scarab
crimson trail
cobalt scarab
#

@crimson trail Should learn to google while you're at is as well.

spark talon
#

Hi everyone, I've been playing with the particle effects in Universal 2D and I want to add a lighting effect to the particles. When I try to drag a Spot Light 2D prefab into the lights setting of the particle effect it doesn't work. But if I create a normal Point Light prefab I can place it in the lights setting however it won't cast any lights. Can anyone direct me on how to accomplish this effect please?

cobalt scarab
#

Check that materials you are using to reflect that light are Lit, so they can show it.

warm torrent
#

Additive material can give your particles light-like blending without having to deal with light components, alternatively

cobalt scarab
#

I think you might have to remove shadow casting for them as well. Particles might quickly deplete allowed shadow casting lights.

#

Not sure what are limitations right now.

spark talon
#

OK thanks. I've been looking into it all day but haven't found anything that works

nimble axle
#

I'm not at home, but would it be possible to create a slash effect by projecting a texture onto a 3d mesh like this?

#

and like making the texture travel along the mesh somehow

clear spruce
clear spruce
nimble axle
#

and how would i accomplish this with shaders?

clear spruce
#

more like this

clear spruce
nimble axle
# clear spruce depends on the exact effect you are looking for. clip of the desired effect woul...

skip to about 5:56 on this video
https://youtu.be/Rp-_zkFvwiw?si=-pDCicnmV_nJ4v0D

Interested in game development? Join us on our indie game devlog series where we'll create a game from scratch on Unity called HEUSS! In this devlog, we create a slash effect for our sword strikes!
Sit back and enjoy this deep dive into video game development!

MUSIC USED
►► Rhythm Is A Celtic (prod. by Exogen)
[ https://www.youtube.com/watch?v...

▶ Play video
warm torrent
clear spruce
nimble axle
warm torrent
nimble axle
warm torrent
#

In Shader Graph you access them using the UV node, and get the corresponding TEXCOORD via swizzle or split node

cosmic gale
#

hi is there a reason I only have these options for curves by default?

#

reducing in value would be quite useful too

#

im using 2022.3.17f1

random mesa
#

Pursuing a ghost trail like the image, but for a gameobject that doesn't have limbs (a chess pawn to be precise), how would you go about it? Tried a trail renderer but essentially would need a material formed like my chess pawn and to my knowledge you can't shape materials based on prefabs?

warm torrent
#

By adding new points on any curve you have

lusty glacier
#

hello new to unity , when i add a custom simple mesh exported from houdini and load it to particles it doesn't show anything any idea wh

#

they're like this invisible

warm torrent
random mesa
nimble axle
random mesa
# warm torrent Why would you want to?

To replicate this effect which was made with one. But as it can’t be done for my game object I’m looking for other ways to create that object/ghost trail

warm torrent
#

Skinned mesh is just the same as a mesh, just more complicated

#

The hard part would've been to transfer the skinned pose to each individual particle, but you don't need to do any of it

random mesa
warm torrent
#

Materials are related to shaders, not meshes

random mesa
#

My bad, I've been sitting in my trail renderer component so got a little scambled in my head

random mesa
warm torrent
random mesa
warm torrent
#

Particle System can do it too, but it doesn't deal with mesh particle rotations well
And you won't find tutorials for it because it can't do the skinned mesh deformation part which is what most people want this effect for

#

All you really need for it is 0 start speed, emission by distance and most importantly Render Mode: Mesh with the same mesh as your piece, and Render Alignment as World or Local

#

Then just keep the particle system parented to the piece

#

Local render alignment makes it so all particles inherit the piece rotation at all times
World makes it so that none of them do
Neither is perfect, though it may be possible to use scripts to override the particle rotation in World mode
VFX Graph can do all that out of the box, but is more complex to use

random mesa
#

Great, thank you so much. I'll give this a spin when I'm back at the computer.

lusty glacier
#

Hi guys, i want to make some vfx for a mobile games, any suggested youtube channel or smth to start?

proven mortar
#

I have a question about VFX graph systems, i have two systems in one Graph, both use the same perlin noise to move their points in 3d space, hovever i want one of the systems offset in Y so it is slightly above or below the other system.

how can i achieve that?

ashen robin
#

with local values

proven mortar
ashen robin
#

there must be something on that node that is setting the position to sample before applying the noise

woeful geyser
#

Anyone knows why there is a line appearing in the texture when I turn it into a material? It wasn't there originally

burnt coral
lusty glacier
#

Hi im working on a mobile game, does the unity's VFX graph work for unity urp mobile games?

inland tusk
#

how can I rotate something by a quaternion in vfx graph? I've passed one in as a vector4, I've also passed in on matrix4x4 which has the quaternion inside it (with position which I don't want).... but stuck what to do with them, there's no quaternion node or option to use quaternion in 3d rotate node (I'm getting some stuff going wrong with eulers)

errant osprey
#

I'm working on converting my particle system to utilize object pooling to improve performance. However, will this also resolve my issue with the first instantiation of the particle causing lag? After playing the particles after the first time, the lag goes away. But I'm not sure if object pooling is meant to solve that.

ashen robin
ashen robin
inland tusk
#

what's happening, weirdly, is that all of the particles disappear when it's roughly facing north south east west... I was wondering if it's a gimble issue and a quaternion rotation instead would help

inland tusk
#

this behaviour was present when I was using billboarded quads and is still now present with mesh cubes without rotation applied to them

tight wolf
#

For some reason my particle are just invisible? and if I change the render material they just turn kinda grey/blackish. How do I make them show up?

ornate ridge
#

Hey all !
Just got here, and I have some question for Unity 6 preview testers 🙂
I'm using the VFX graph and I'd need some experimental blocks, especially the "Get / Set Custom Attribute". I checked the Preferences > Visual Effects > enable experimental blocks, but I can't see anything in the VFX graph. restarted the editor twice..
Checked on 2022.x, the set custom attribute is available

cosmic gale
#

is there a way to use multiple "trigger event on die" blocks in one particle system? i want to spawn a burst when the particle dies but also flashes

nimble axle
#

how can i make a particle animated? i have a sprite sheet for this thing i made

#

and i just wanna spawn a single particle that animates this

warm torrent
inland tusk
#

so I have this map.... where the surface is a plane with vertical vertex displacement on it with a custom shader, and the map markers are a VFX graph, with output particle mesh. My intention is that the 'tail' on this mesh would be clipped off by the 'ground' in the map, so it would become a line showing how high above the ground it is.... but I'm getting wonky depth sorting between the displaced plane and the output particle mesh tails.... I'm not sure exactly my question here, but should this work? (as you can see the tails are rendering through the floor ( these map items are roughly at ground level)). I've played around with z write and ztest in the mesh output node and they seem to either be visible or not (URP, depth write is enabled in the map displacement shader). It seems actually that even a tall cube won't correctly be clipped by a standard cube, do VFX meshes only get sorted by their origin and not their geo?

inland tusk
#

eh vfx meshes were just not sorting right for irregular shaped meshes so I used a facing quad instead:

ashen robin
inland tusk
#

so, actually my previous bandaid was not working, and putting both items to custom shaders with 2 sided enabled 'fixed' it... So I'm guessing something was inverting/turning them around (even though one of them is an output mesh that wasn't set to facing or anything. I tried just about every other combination of sort priority and ztesting and stuff I could find

pallid carbon
#

does anyone know of a good blood splatter particle on the unity asset store? I'm looking for something that will stain the ground and players.

proven mortar
#

Can i tell the Line to stop connecting the last and the first Point?

proven mortar
#

I found out how to do it:
Get Particle INdex in Strip helped

#

Index -> custom

haughty kernel
#

help why does this look so bad 💀

haughty kernel
#

and actually does anyone have some good sources for vfx that work well with lower poly jessobs

prime dome
dire flower
#

Hey guys im quite new to particles and vfx, how can i make so a collider is following my particles. like in my video i have the particle bounce and stop and now i want it to have a colider around it self after it stoped. just adding a collider to the particle system doesnt work:(

prime dome
dire flower
dire flower
prime dome
dire flower
dire flower
prime dome
dire flower
dire flower
tardy dragon
#

I tackled a kinda similar case where no amount of billboarding or 2D trickery would look good, so I just opted for 3D smoke n' flames.

opal star
#

So I'm currently optimising our vfx systems. The approach I took for optimisation is to use a single vfx graph instance in the scene to render multiple effects. This is achieved by putting the position of the vfx requests in a gpu buffer and reading it in the graph. Now the problem is that some system like the sparks actually want to spawn a variable number of particles. Unfortunatly I cant read the gpu buffer in the spawn context since that is all cpu side( I get a error in the graph). So I came up with this idea to use a guide system. This system spawns a single particle at the desired world pos, in update emediatly kills itself and issue a gpu event with a random count that then feeds into the actual spark system. This works but feels cumborsome and I would like to avoid doing for all systems that require a variable number of particles. Anyone got any bright ideas ?

warm torrent
opal star
dire flower
#

Anyone knows of any good videos that explains how you can make diffrent vfx that follows eachother? in the video for example i want the trails to follow the flower. do i have to do it with a set velocity something`? i would want it to always follow the flower nomatter

ashen robin
#

will probably need to constraint it to some time variable as you can't limit it by a count doing it like that

opal star
#

Thats…what I already did

#

But using on die

ashen robin
#

So you're asking what you've posted there can be improved? Because it seems fine to me

#

similar to what I do in that scenario

opal star
ashen robin
#

But even in a basic system you'd do similar if you were using a system with world coordinates (giving it a position in the primary system then using some event to spawn more particles from it)

opal star
#

Oh I did not know you can put a whole system in a subgraph

#

Cool

zealous wing
#

In Shuriken particle system is there a way to make the particle system scale with parent?

astral saffron
#

hello can someone tell me how to get started , actually i am a roblox vfx artist and i was thinking of starting making vfx in unity

#

i was wondering if someone could tell me how to get started

vestal solar
astral saffron
#

oh

#

alright thanks!

astral saffron
#

i got lenovo idealpad 3

#

sorry for pinging

vestal solar
#

Yes, you can, just don't get to ... optimistic about the particles count ^^
Also, VFX graph works with URP in the latests version, so you don't have to use the more ressource heavy HDRP for rendering.

astral saffron
#

alright thanks bro!!

vestal solar
astral saffron
#

alright 😄 !!

#

ima dowload unity first ig and see the system n all

vestal solar
astral saffron
#

thanks!!!

astral saffron
#

can someone tell me why it says download failed

vestal solar
astral saffron
vestal solar
#

Are you installing on an other drive and C: is full ?

astral saffron
#

Idk ima try to re install

astral saffron
#

it installed finally

gray ravine
#

Hey guys, is this supposed to apply the rotation to the texture coord or do I have to do that myself?

vestal solar
grand bronze
#

Hey! Idk how to work this question exactly.

But I have a particle system that destroys its particles if it collides with an invisible wall.

My issue is I want it to spawn that killed particle instantly at its max size instead of slowly appearing. If you watch the mouse there will be parts of the asteroid belt that are empty, any tips?

#

Oh I wouldve hoped that embeded the video, not made it a download file

clear spruce
# gray ravine dang thats a bit annoying

It would be really annoying and weird if it did. The rotation of a mesh is 3D and UVs are 2D coordinates which doesn't have any direct relationship with the mesh rotation

gray ravine
vestal solar
gray ravine
vestal solar
#

Like, UVs themselves are not transformed when you rotate a sphere, they are exactly the same as before, it is just the whole mesh thate "changes", and the UVs keep their "relative" value to say it like this.
Maybe the issue is related to how you set up the rest of the connections, mind to show a bit more of the graph ?

merry snow
#

At this point I have no idea what I'm doing.
I was trying to change a normal shader graph particle system over to VFX graph, but no matter what I try, it's always black particles.

vestal solar
sharp frost
#

Hello i am just trying to use the basic particle system... i have for my explosion render set to mesh to shoot out shards, but when i assign the shards that i made in blender it doesnt work, yet unity's premade 3d primitives work. what determines whether a mesh plays nicely with the particle system rendering?

elder barn
#

Hi, is there a way to always spawn a new particle, whenever a particle dies in VFX Graph? I want to always keep a constant number of particles in an area, so whenever one dies because it's Lifetime is reached, a new particle should appear somewhere else. Before I did that by having a really high Spawn Rate, but a fairly low Capacity. That way it always spawned a new one. However I now need to set the amount of particles dynamically based on the Area (bigger area, more particles) and Capacity can not be adjusted per VFX 😦

nova dome
#

Asking for my Art Director : Has anyone else experienced the component sockets being completely gone in VFX Graph lately ? Unity 2022.3.25f1 (VFX Graph 14.0.11)

#

(in our case we can workaround with a swizzle mask, but this seems like a bug?)

vestal kite
#

Hi, I have made a particle using Unitys Particle System, but for some reason, my road object is not affected by it? Its just completely see through, and it doesn’t look very good. Am I missing some setting I need to switch on?

gloomy cypress
carmine bone
#

Sorry, I can't seem to figure out what these types of VFX are called so hopefully someone else can help me. Basically a line between two points that adapts as the points are moved and are sort of like a chain/tether/whatever between the two points. Usually they have some movement or flow in one direction.

ashen robin
deft forum
#

Anyone know of a hacky way to get any sort of data at all out of a VFX graph back onto the CPU (that's not a spawn event)? IE. is there a way to somehow make a graphics buffer and tell the VFX Graph to dump it over or similar

carmine bone
ashen robin
carmine bone
#

Yeah line renderer was what I was using I’ll see what else I can drum up. Thanks.

neon girder
#

How can I make a particle system start disabled? I called Stop() on it but it still briefly plays in the beginning

warm torrent
neon girder
#

Thanks

vestal fractal
#

Hey all, I need to "assemble" a texure from particles, I want particles flying in from one side and then locking into place to build up a texture. The texture is not big (about 100x700 pixels). Does anyone know of an asset or github repo that can do this? Or would be a good starting point? Needs to run under URP

warm torrent
#

With PS you'd have to get a bit hacky, since scrubbing or reversing a simulation is not a built in option
Instead you can call Simulate method for lifetime minus elapsed time
VFX Graph has way more control over stuff like that out of the box, and you might find something just like you need from the official examples

spring lake
# vestal fractal Hey all, I need to "assemble" a texure from particles, I want particles flying i...

This video should cover everything. His other videos are great as well. https://youtu.be/ZytOQ4NSciU?si=nxKEb_q7w5ZIFfrW

Unity VFX Graph:Post-it(Particles aggregate into models)
Version:2021.3.2f1(HDRP)
Subscribe:https://www.youtube.com/channel/UCf3S-ovaTom4cc7rxwall8w

If you become a paid member of my Patreon , you can download the completed results here and my other effects files:
https://www.patreon.com/wangray
Only buy this effect:https://raywang4.gumroad.co...

▶ Play video
inland tusk
#

I have a high amount of bullet impacts being spawned(or recycled from a pool) of unity particle systems (tiny ones). I started getting CTDs. Upon limiting the number of times spawning a system to 1 per frame, there is rock solid stability. I'm in 2022.3.11 , any ideas? (with 1 per frame limit I still have potentially hundreds going off and it's fine)

gray ravine
#

How would I make particles from the VFX graph emit from a cone and behave the same way they do in the particle system? I cannot seem to figure out how to give them velocity that matches the cone they emit from.

tardy dragon
#

I want a particle to do A when it "Collides with Plane" but B when it "Collides with Depth Buffer". Is there any usable output from a collision block or ability to dispatch different events from them?

gray ravine
#

I really feel that if it works fine in local space, transforming the world position to local position should make it work

tardy dragon
nimble axle
#

how can i make a trail that like draws the speed of the player like this?

tardy dragon
#

TrailRenderer + modify material properties based on player velocity in script.

#

oo hmm that would change the color of the whole trail though.

#

I assume you want different sections to be different colors?

#

You could do a gradient and keep track of things in that, but that'd be hack as all heck. So yeah, you'd probably be best off using a VFX graph that changes emission color based on velocity. You can use a VFX property binder to either bind a velocity or color.

nimble axle
#

so i dont really care how good it looks

tardy dragon
#

yeah if it's for debugging purposes you can just use particles. should be trivial to implement in both shuriken and vfx graph.

nimble axle
#

whats shuriken?

tardy dragon
#

the "old", standard particle system.

nimble axle
#

oh right

#

also that pixel effect in your video you sent is really cool, how did you achieve that?

#

i love that art style

tardy dragon
#

use a toon shader + sample the camera depth/normal textures to create outlines for pixels that are sufficiently deep compared to those around them.

#

then you can either change urp render scale or leverage a render texture to down/upscale for the pixelation effect.

nimble axle
tardy dragon
# nimble axle thats cool, i dont think im gonna use pixel effects in my current project, but i...

not sure what "unity look" really entails tbh.

the answer to making things look good and not generic is usually just art direction and competence in executing the direction. there's never going to be any one piece of advice that can address those things. personally, i just take things that i find pretty and try to implement them in my project.

i think your project looks good for whatever it's worth. also this is discussion is straying from vfx-and-particles, we should probably move to... shaders?? or post-processing??? idk.

nimble axle
clear spruce
ashen robin
#

VFX graph has does have rate from velocity that can work, but not too sure about shuriken

#

ah, actually you wanted to change the color based on velocity. You would send that value through code into the system then

#

you can probably resolve the color inside of the system by making a gradient, and then send in the character's current velocity into the system

idle lynx
#

There is a video tutorial I watched where the guy sampled the entire character and made it fade as he ran. Let ne find it

ripe mantle
#

For some reason the particle doesn't appear for the first 0.02 seconds of playback on each loop.

ripe mantle
#

This seems like a Unity bug. It doesn't flicker on an older LTS (2021)

#

Ya this issue seems to exist on 2022.3.48f1 (at least) to the most recent LTS.

ripe mantle
#

I also found it on 2022.3.40f1...

#

Ok there's no way looping particles have been broken since july.

#

Am I doing something wrong?

ripe mantle
#

And it's on the most recent version of Unity 6.

#

Alright what's going on here?

#

Anyone have a clue?

ashen robin
#

ya just spawning the particle over 1 seconds

#

also hi spazi

warm torrent
#

I didn't investigate it though

#

There might've been some workarounds using looping ring buffer mode, and maybe a burst for the first particle and a looping emission for the rest but I don't remember specifics

ashen robin
#

Ah, I thought this was just common behavior and would just set a very large duration

warm torrent
#

But the thing I usually would do this for to also make looping effects with modules that rely on lifetime, like a pulsing size or color

warm torrent
ripe mantle
#

If you spawn a single particle and it has a lifetime of 1 second, I believe it loops fine.

#

Problem is when the particle is part of some larger coordinated effect.

warm torrent
#

"Part of some larger coordinated effect" in what way exactly?

ripe mantle
#

Ok the problem seems to be with Burst?

#

If I just have the system emit 1 particle every 1 second it's fine. Even if duration is set to 1.

warm torrent
#

Hence why emitting one and then looping the emission is a workaround I mentioned

#

But the burst still desyncs the same way, just not every second

ripe mantle
#

Well I sent a bug report in.

#

Hopefully someone over there picks it up.

worn jewel
#

Crazy question I feel I already know the answer to, but is it possible to render the resulting particles of a VFX graph to two different render targets? Ideally with different shader passes on the particles? Basically, I'd like it to render to the camera's target as usual, but also an additional rendertarget too with a different shader pass.

ripe mantle
# warm torrent That also works, but you'll have the first second without any particles
#

Looks like I'm not crazy boys.

pulsar bay
stuck timber
# pulsar bay Any tips on making these kills look __*JUICIER*__?
  • Make the sprite/enemy turn white when hit/killed and goes back to regular color, should make it really short like 0.3s - 0.5s
  • Add 2 glow particles to the impact VFX, one glow should be big then goes small really quickly lasting about 0.15s, the other glow should last longer (1.5 - 3s) and just fades out slowly
    Even more juice:
  • Make the background flash bright red for a single frame, then ease back to black in about 6 frames
  • Add an impact VFX of the bullet, it could be some white particles that shoots out in a cone
#

Should also add an epilepsy warning if you intend to flash the screen btw

frosty prawn
#

I need help with enabling or playing a particle effect in animation. My setup involves a player with an attack animation clip. When the player slashes the weapon, it should produce an effect, and the FX is a child of the weapon. I’ve tried adding properties for the FX in the animation window and used an event at a specific time to trigger the effect via a script attached to the parent, but it didn’t work. I also tried enabling the FX GameObject at a specific time to trigger the effect, but that didn’t work either. What could be the issue?

pulsar bay
icy wing
frosty prawn
icy wing
#

Yeah you can always use GameObject.Find and make the particle a child of the weapon during instantiation if that’s what you’re looking for

hot comet
#

guys, help pls
i'm trying to play a particle system, Play() doesn't work, Instantiate() than Destroy() works but doesn't destroy particles

warm torrent
warm torrent
#

My guess would be that the script where the methods do not seem to work isn't referencing the particular particle system correctly, or at all

hot comet
warm torrent
#

Instantiate creates entirely new gameobject, or a particle system in this case
Play and Destroy must be called on an already existing one

hot comet
#

i put instantiated object into a variable than pass this variable as parameter for Destroy() method

hot comet
#

i tried it after i saw that one simple line

effect.Play();```
doesn't spawn particles
warm torrent
#

That doesn't seem to prove that effect actually holds a reference to any existing particle system component

#

There's certainly no indication that it'd be referencing the instantiated effect

hot comet
warm torrent
#

I don't know what the "animation" is in this case
All I can say is that particles can't exist if their particle system is destroyed

#

And assuming the issue is in your code or missing editor references, no one can troubleshoot with just random lines

warm torrent
#

There is no signs yet that your script is at all considering how the particles are animating before trying to destroy it
And as I said since particles can't exist with a destroyed particle system, it seems certain that you're not successfully destroying the system

hot comet
#

yes, i can't destroy them and i don't know why, that's why i'm here

warm torrent
#

That process alone seems likely to lead you to the solution

hot comet
#

you're saying i didn't give it to you but i don't even know what else should i tell you

carmine bone
#

I wanted to make a particle system where a bunch of orbs I have splatter into all directions. The problem I'm facing is that the orbs are constructed of 3 different parts. There's the orb itself which is a sphere with a shader attached, a billboarded glow behind the orb, and a trail renderer with a custom shader on them. Is there a way I could guarantee that all 3 stay attached together as they fly out with random velocities into different directions?

frosty prawn
junior thistle
#

They'll just move with the orb since they are children

#

Is that what you're talking about?

warm torrent
#

Unless you have a script that reads particle positions and sets gameobject positions to them

sinful badger
#

how to make my particles visible through my character's mesh? I'm trying to make a black hole in his chest

frosty prawn
#

cuz i tried using an event and playing it doesnt work

carmine bone
#

This is probably a dumb question but I'm probably just suffering from late night and needing to rest - I have a projectile effect I made that has some trail renderers attached to it as children along with a few other particle systems. I have a script attached to the projectile that when it impacts something or reaches its maximum range it will die and spawn an impact VFX.

My issue is that as a result, the trails instantly disappear even if they haven't fully caught up. Is there an easy way around this or do I need to rearrange my hierarchy somehow? I currently have a parent object with the scripts attached for the projectile behavior and then a few children attached with all the particle systems for the visual itself to separate everything.

icy wing
frosty prawn
#

not swiging just a effect that should be played at a specific movement like imagine a timeline where the weapong slashing and about to collider thats where the particle gonna be played.

icy wing
#

I mean you CAN set an animation but you can also use a raycast or coroutine (if your weapon has a fixed swing velocity) to have the particle instantiate at the end of the attack or measure the distance between the weapon and whatever you’re trying to hit. I’m assuming this is a 3D game you’re making, i’m not the best with 3D development but I hope I gave you something lol

craggy geyser
#

Hey guys I have a question

#

Currently I have a VFX of a rather large smoke wall

#

I want to put them in the shape of a square to act as walls for the player

#

I tried this and it seems to be dropping frames in the scene view and overall causing performance issues

#

How do I solve this problem?

#

This is what I have as for parameters

#

This is the smoke wall for reference

ashen robin
# craggy geyser

Despite the quality of the image, I'm not seeing anything that could be problematic. I was thinking overdraw problems, but looks opaque to me. And, even then it's not that high rate of a system. I'd try not using mesh and just output a quad for the sake of testing.

craggy geyser
#

But if I turn them back on, then the frame issues come back

calm moon
#

Hi, how do I apply a vfx graph to a line renderer?

warm torrent
calm moon
#

i made this vfx graph for a project but i realized my team is using a line render for a mob entity's attack and i have no idea how to apply this or if i need to remake the asset from scratch

warm torrent
#

There's no rule that says that an effect has to be all in just one vfx graph, or just one particle system or just one line renderer

calm moon
#

can the line renderer just use the same shader i used for the vfx though?

#

sorry im still learning how to get around this

warm torrent
#

In general a line renderer's shader doesn't need to do anything special beyond utilize the Vertex Color node in some way, if you want the component to be able to control the material's color

calm moon
#

ill try to mess around with that, thank you

fresh bluff
#

Hi VFX people

I've been playing with VFX graph and really enjoying it. So much that I'm considering something crazy

I'm doing a "voxel" game, but mostly as the visuals, not specifically gameplay
And I'm considering replacing my Mesh building code with VFX graphs as my "renderers".
Is this completely crazy?

I feel like it would open the door to lots of 'per voxel' effects

inner jolt
fresh bluff
#

how costly is VFX graph?
I guess always more then a simple mesh...

#

maybe I can do some sort of LOD
When close and wanting to play a Effect, swap in the graph and hide the mesh...

fresh bluff
#

anyone have tips on how to make this better?

I'm going to use VFX for the "planner" mode when placing the building, but I always hate how it looks cause of the faces of cubes against other faces
somehow I want the outer most faces andto cull all the others but still be transparent

fresh bluff
#

turns out I was looking for Dithering

sturdy forge
#

Any vfx graph enthousiasts here ? I'd have a question, what if I have a calculation for a color, and I need to use this calculation in 10 different place in the same VFX graph, how would I go about it if I dont want to repeat the nodes everywhere ?

I could do a subgraph, which I did, it only takes one node now every where I need it, but it feels wrong because it will have to redo the calculation for every sub systems ? Couldn't i just save the value and use it everywhere else

warm torrent
craggy geyser
#

Hey, I’m wanting to make a VFX for when an enemy dies in my game but have no idea how, would someone be willing to help me?

#

More specifically, a dissolve effect, I have a dissolve shader already made and working but I have no idea how to further customize it and then to get it to actually work

clear spruce
# fresh bluff turns out I was looking for Dithering

Dithering is one way but it has it's distinguishable look to it. If you don't want the grainy effect, you can always do depth prepass by rendering the mesh first only to the depth buffer and then second time using the transparent material to render only the front most faces

#

Nothing wrong with dithering though. In some games it can look really cool too in addition to being cheap and easy to set up. I think it could cause some problems with some other effects like post processing anti-aliasing though

calm moon
#

why is my trail so dim?

#

if it moves too fast and overlaps with itself it also becomes a miniature sun, im confused

warm torrent
calm moon
#

doesnt seem to be it, tried crazy high minvert and didnt do anything

#

just in case, the shader used is unlit

#

oh my god

#

i copied my nodes over to a sprite unlit shader and it worked

warm torrent
warm torrent
#

In your above screenshot

calm moon
#

oh no

#

i made a new shader thats sprite unlit
i was using a normal unlit shader

warm torrent
#

Indeed

zealous wing
#

Is it possible to use Lit shader graph in Particle Output Lit Mesh in VFX Graph? Everytime I try to do it I get "You must use a lit vfx master node with a lit output" error message. (using 2022.3.40.f1 version)

vestal solar
zealous wing
#

I can use it in VFX graph, but only in Unlit output

zealous wing
#

you are right

#

didn't check that box

#

thanks

#

I thought adding Visual Effects in active targets is all that was required

sturdy forge
#

@warm torrent and the same value, basically a sine calculation based on some parameters that will change the behaviour of the whole system

warm torrent
sturdy forge
warm torrent
stiff topaz
# sturdy forge thank you ! I will do just that. Is there anything similar to global variable in...

If you set your shaderGraph variable scope to "Global" they can be accessed easily in HLSL.
So if you're using Unity6, with the addition of CustomHLSL in VFXGraph, you can share HLSL code and Global between SG and VFXGraph.
In this Unite Talk you'll find some examples of "Rain global" that are used to control Shaders in the scene and also VFXs. An other exmples of shared HLSL code and global is shown with Wind Globals:
https://www.youtube.com/watch?v=20WjQIFl85o

Calling all technical artists! In this video, you'll discover how to quickly create a gameplay sequence using Unity 6’s updated VFX Graph, Shader Graph, and other artist-friendly tools. You’ll also get a primer on designing materials and visual effects, setting up post-processing, and creating a resolution-independent user interface.

Speakers:
...

▶ Play video
sturdy forge
#

Thanks to both of you ! I will look it up

inland tusk
#

I have a bulletmanager which uses jobs and burst to calculate loads of bullets/collisions. I am using VFX graph to represent these bullets by feeding in a graphicsbuffer with position, lastposition, angle, int type, int alive.

I just set the number of particles to 1000 as is my max number of bullets and use a setalive node in their render linked to int alive to turn them on or off. lerp their positions between lastposition and position for smooth movement. all of this is working fine.

I was thinking to use int type, which represents the different weapon types, to set color and size of the bullets. From how I know how to do it, this would involve a switch nodes on every bullet every frame... this seems like it would be super inefficient. if particles were actually getting spawned and destroyed I could set them once at the start which would be better, but I'm not sure how to link this with the graphicsbuffer system....

is it a really silly way of doing it just having the static 1000 particles and having them all updated all the time?

ashen robin
inland tusk
#

as in the savings wouldn't matter? Im' making a busy mobile vr game so trying not to be wasteful

ashen robin
#

Saving what?

#

It seems like you're trying to make some modular type of pooling such that you can just do some DI approach by using a switch. Seems like a fine idea assuming you can expand upon it.

inland tusk
#

I wasnt sure if you were suggesting that this aproach was a micro-optimsiation meaning that it wasnt worth the performance, or if using a switch operator for up to a 1000 particles per frame could be also a small amount of overhead

ashen robin
inland tusk
#

also, side question, is there a way to set a custom attribute in a spawn event? I'm trying to pass a graphicsbuffer which holds information for multiple explosions in it (different particle counts etc), have found that you can't spawn from gpu, so am sending an event with the totalnumber of particles

// Send the buffer to the VFX Graph
vfxGraph.SetGraphicsBuffer("VFXEventBuffer", vfxBuffer);

         // Calculate total particles to spawn
        int totalParticles = 0;
        for (int i = 0; i < eventDataList.Count; i++)
        {
            totalParticles += eventDataList[i].particleCount;
        }

        // Set the total particle count in the VFX graph
        vfxGraph.SetUInt("TotalParticleCount", (uint)totalParticles);
        vfxGraph.SetUInt("EventCount", (uint)eventDataList.Count);
#

what I'd really love would be a way to spawn x particles with custom attribute index, so then I could read in effect specific values for each 'explosion'

ashen robin
#

I find that using the first system just to get the buffers, then using GPU trigger events and passing those IDs when I want a pseudo spawn context.

inland tusk
#

(i'm trying to wrap bullet impacts, explosions, muzzle flashes all into one vfx graph, and there can be multiple effects spawned per frame)

ashen robin
#

but yeah, can't really do much in the spawn context with the buffers

#

can also handle some of the spawn operation in the script-side

inland tusk
#

could you explain to me how you could use gpu events to do this kind of potenitally multiple single shot bursts per frame?

#

I'd also be happy to have the particles created and index set code side, I haven't seen how to do that yet, just got as far as sending 'triggers' but it seems not as direct as I'd like

#

script side something like vfxGraph.createParticles(50, custom attribute id) would be amazing (perhaps meshID could be hijacked for this as that seemed accessible from spawns)

#

even if i could set an attribute in an event and have multiple of them

ashen robin
#

Yeah, burst and similar spawn contexts I would think would require some more script side logic unfortunately but it's not something I've looked too much into. As for the events, the idea around them is to spawn a secondary system of particles which aren't tied to the buffers, so an idea would be your primary bullet would be controlled with the buffers, but as it travels it emits sparks which you don't actually care to track on the CPU side of things.

#

It makes sense though, assuming you are controlling their position on the CPU side that a spawn context of burst wouldn't make too much sense.

#

Unless of course you make your own burst behaviour on your script

inland tusk
#

ok thanks, yeah I thought gpu event was for particle deaths and rate over time which wouldn't work in this context.

ashen robin
#

The GPU events are for secondary particle effects mostly which you don't need buffers for but you can inherit those values from the primary particle

inland tusk
#

I'm doing this in script, basically trying out a modular system where many systems in my game could be defined by a scriptable object, have those passed into a manager as events, then hand them all over to the vfx graph, where there may be multiple events in a single frame, so creating a graphicsbuffer containing that information and trying to apply that to generating particles... just getting particles created with an index I can use is proving awkward 😅

ashen robin
#

I just make my own hashset and keep track of the indicies myself.

#

instead of doing the modulus operation inside of the graph to grab an index

inland tusk
#

sounds interesting but I'm not sure what you mean, I can read more into it

ashen robin
inland tusk
#

cool, when it says it's getting the ID from source, where exactly is it getting this from? are you setting that in a script and retrieving it or something?

inland tusk
#

wow this looks like what I need

ashen robin
#

So what I'm doing is getting the system's max ids, making a hashset of the max amount of ids, setting an eventattribute and assigning a buffer to that id, and keeping track of those ids in use on the CPU side

inland tusk
#

thanks a lot for having had the patience to walk me up to here

ashen robin
#

which also means you need to handle how those particles are removed/hidden from the system when not in use or when a particle is done

#

(which needs to be all done on the CPU side but since you're controlling it all already it)

inland tusk
#

yeah i've set up all the bullet movements and stuff jobs/bursted, collisions raycasted with raycastcommand and stuff but figure I need to pass off the results of that for VFX anyways

honest breach
#

Yo bros, any one know if I forgot something ? In engine I have a torch vfx that loads, when I build it for IOS my flames arent appearing :

Don't know if there is a quick/easy thing to check on ?

warm torrent
inland tusk
# inland tusk wow this looks like what I need

so I thought this would solve the thing, but it turns out that you can only ever send one VFXevent per frame with unique attributes (boo) , so I wound up doing something ugly which worked 😅

#

(applying IDs through compares on the frames spawnIndex)

ashen robin
inland tusk
#

thanks, tried that though and read around and it doesn't work - multiple events in themselves are called yes, total number of particles, but any attributes passed with the event are overwritten and it just applies the last event attributes for all of them

#

I thought it would be just the ticket

#

just justified complaints and statements from unity staff that it doesn't work that way sorry on the web

#

(was up way too late last night)

ashen robin
inland tusk
#

yeah I found that, I do think I tried it and it didn't work, in multiple ways. I'll go over stuff again and see if I can dig out the relevent pages from a million tabs. I seem to mostly be reading about how eventAttributes themselves overwrote each other and the last one was used (I was sending multiple events with different settings eventAttribute, even dirrent eventAttributes themselves and wans't getting expected behaviour, though it did get too late and I'm entirely capable of getting it wrong.

I'm using 2022.3. Would be nice to get it working properly! when I saw direct link in the link you posted it seemed perfect but everything I did with it I was getting the last attribute data applied to every event sent that frame

ashen robin
# inland tusk yeah I found that, I do think I tried it and it didn't work, in multiple ways. I...

The reasoning for it all is because the devs don't want you doing a copy every time you invoke one of these events, and that the most performant way is to just update these buffers once. So, if you do have like a bunch of enemies shooting a bullet with the same VFX, then the idea would be to accumulate all these events and then copy it in late update. Well, that was my understanding with it and it seemed to been working for me.

#

But it's not something I've totally eye'd down and made sure was producing the correct amount of particles.

inland tusk
#

Yeah for sure makes sense to pile them all into the buffer at once. I was (I believe, I was mad tired in the end) that attributes that I was trying to set (int IDs) in the eventattributes would only ever be of the last type when there were multiple in the same frame (in my use case I'd be spawning eg: 20 (1) 35(2) 15(3) 55(1) etc etc ). I do remember reading about how evenattributes aren't actually sent when they are reached in code and are pushed together later in the frame)

I also seem to remember spawnCount also acting similarly, but I will look into it again as I don't like the above approach I settled for even though it allowed me to progress well

trail vine
#

Hey all! I’m working on a snowflake effect for my 2D game. It’s looking pretty decent so far, but I’d love some feedback or advice to refine it.

Here’s where I’m at: I initially set up the snow effect to cover only the camera view and follow it around, which worked well for my rain effect. But since snow falls slower than rain (which is what I want), it spawns slowly too. So, when the player starts moving, the snow doesn’t fill the entire area around them quickly enough. To fix this, I adjusted it to spawn snowflakes around the camera view as a buffer, which gives the particle system enough time to cover the space as the player moves.

This works but has a trade-off: I’m currently using around 3000 particles, which is a lot for what’s actually visible on screen. The majority of these snowflakes are outside the visible area, and I’m concerned this might hit performance on lower-end systems. If anyone has ideas on how to keep a good snow coverage without using so many particles (or any other optimizations) I’d really appreciate it!

dire flower
#

Hey guys any tips on where i can learn how to make cool textures for my particles? i want the textures to be my own, so i would like to learn how to make fire textures and some of my own ideas but im so bad at drawing its insane so i need someone to show me how to draw, not really how to make the texture in it self if you understand what i mean.

warm torrent
#

VFX Graph can handle a couple of million particles easily so no worry about grouping them, and you can build the wrapping logic right into the system
With Particle System you have less of that efficiency and less options, so the wrapping would likely have to be a script and using multiple flakes per particle could become even more necessary

#

An entirely different way to approach it would be to create the snowflakes programmatically in a shader (post processing or geometry covering the area), which places no limits on how many flakes you can have since it could be a type of animated noise

inland tusk
cinder iron
#

When i look in a specific angle with the camera, the vfx graph disappear
There is an option or a setting to touch to prevent this behaviour ?

cinder iron
warm torrent
#

This is because the culling system has no knowledge of where the particles are, and neither does the bounds system by default

cinder iron
#

Thanks for the clarification 😃
I have an another problem, but this time i find nothing on the internet

When i move my camera in some angles, the particles looks different (like the color change, or particles receive more light i dont know)
I think its related to the Lit shader but im not sure 👀

https://streamable.com/iicws7

warm torrent
#

Billboard particles always face the camera, so as the camera moves or rotates the particle's angle relative to the light sources changes and so does the reflected light

cinder iron
#

There is way to counter that ?

warm torrent
# cinder iron There is way to counter that ?

I don't know what the generally accepted solution would be, but something that may help is to use a spherical normal map (though that might make the particles blend poorly together) or to use a translucent material that allows the material to be lit equally regardless of where it's facing

cinder iron
warm torrent
inland tusk
#

Is there any node to generate random velocity from a sphere with a kind of slice on it, so it could do a sphere, a hemisphere or cone? Kind of like a direction with a degrees divergence which wraps around in a circle

pseudo olive
#

I'm learning unity for a uni project, how would I go about creating a similar effect?

ashen robin
pseudo olive
#

Hehh this needs to run on a Quest 2 so probably having real-time calculate light rays is not the best way to do that

ashen robin
#

Well, the old trick is just to use quads with some transparency if you want to go about a lighter solution

pseudo olive
#

What's a quad? I'm new to learning all this stuff

ashen robin
#

scroll a texture on the sea floor

#

a quad is just two triangles worth of vertices

#

basically you're creating a flat 2D image of the light, texturing it with an image that represents the rays, then using transparency to cutout the image

pseudo olive
#

This might be a very good solution

#

Unless I can test that the hd pipline has good performance on quest 2

ashen robin
#

it's worked for computing games for 30+ years now so yeah always a good solution, but may need some tuning with how it's shown to the player as in a 3D setting you have to keep the illusion that it's not 2D

#

some solutions is minor billboarding (try to make it face the camera as much as possible), and need some solutions for when the player walks into the rays like

#

the closer the player is to it, the more difficult it is to keep that illusion

pseudo olive
#

I see thanks

#

I will definitely test this

warm torrent
#

@pseudo olive Try to find tech breakdowns of the visuals of both modern games as well as games from 20 years ago

#

For the best mobile and other types of high performance graphics you'd combine the graphical innovations from both time periods

pseudo olive
warm torrent
#

A lot of the good info is on random blogs, which you should be able to find by googling for the right topics
Few are actively maintained or have many articles at all, but http://simonschreibt.de/game-art-tricks/ is one

#

Most blogs of that sort are from a random dev who drops one or two articles and then disappears into the ether, which can be harder to find

queen plover
#

Can particles from a ParticleSystem be used as a mask for other sprites? (specifically for other particles from particlesystem)

Context: I'm making sunlight godrays (particlesystem) and dust particles (also particlesystem) that should be visible only while inside the godrays

ashen robin
abstract crow
#

is there anyway to achieve per pixel sorting? when I have my player as the parent of a particle system, all particles are sorted based on the players Y axis, meaning if the player is below some objects, the particles render above the objects, but vice versa when above.

#

scratch that, its not because of the parent, its because the mesh that holds all the particles has one single sort point

#

im assuming theres no way around this

ashen robin
#

Actually, if you want to clarify a bit more with an image so I can get an idea of the perspective

abstract crow
abstract crow
ashen robin
#

Ah, ok so yeah you want to y-sort each independent particle. Maybe spazi knows a better way to go about it, but as each particle itself doesn't include those sorting layer properties, I can only image changing the z-sort by iterating through each particle.

abstract crow
#

might just be a feature then lol

#

dont know if its reasonable to do that

ashen robin
#

I was actually doing something similar a while ago in a 2.5D project, but there you have the option for depth which makes things heck of a lot easier to sort.

#

But technically you also do have depth in 2D, it's just unity does sorting by using a transparent queue primarily

abstract crow
#

yeah but that sorting is completely different to the y sorting right?