#✨┃vfx-and-particles
1 messages · Page 31 of 1
my computer kept crashing after playing my game for about 50 seconds. it was because I didn't have enough space on my HD . clean ur drives yall
my sprites ingame are showing up blurry
the top is how it looks in my paint software, the bottom is how its showing up in my scene editor
i started using that package, but im trying to get the camera size to go to 10.5, but the pixel perfect camera keeps changing it. how do i fix that?
Hi everyone, does anyone know how I can achieve this volumetric nebula effect in the universal render pipeline ?
any ideas why the "Lit" output blocks are not visible ?
^ apparently its not yet supported in URP ( coming 2021 ?.. )
this seems like an over kill to rotate a particle on the Y axis ( world-space ) , is there something simpler for this ?
trying to make a shader to be used with vfx graph but i keep getting unrecognized identifier 'UnityTexture2D' at line 1437 (on d3d11) everytime i try use the 2d texture sample node
have you tried the transform node?
I didn't need a position translator, but nice find , thanks
in my case the position is fixed while the rotation has to align with an axis and rotate around it
Trying to add rotation to this setup
seems to work with the transformer but the particles spawn point are overlapping , any ideas ?
i think i got it , it doesn't make any sense but it works ...
Local and World space
thanks
I need help building a simple shader, i can pay anyone who is able to lend a hand!
I need a transparent Fade shader that automatically changes it's HDR color over time, cycling through a list of color or all the RBG colors.
@sinful kite #archived-shaders would be a better place to ask.
ty
how can i increase the width of a line renderer past .10?
write .11?
nvm, i was talking about the graph in the line renderer but i see how to increase it now
Does anyone know how to have a particle emit facing view when i see it but on another machine it faces forward
basically when it turns it always faces forward
set filtering to none, and change bilinear to point
guys what is the difference between vfx graphs and particles?
are vfx graphs just a way of making particles' look?
so can vfx graph only be used for GPUs?
it runs on the GPU, yes
then I assume, I shouldnt use vfx graphs for my 2d mobile game :d
unless it's targeting modern phones, probably not
thanks!
I just cant seem to find the right kind of output node to prevent the "blinking" (z-fighting?) https://www.youtube.com/watch?v=TtgZL7FaHnY
this one seemed to do the best, but as you can see.. still has issues...
Hey guys, I've got a particle system question. I'm making a 2D game (top down), but I'm still using unity 3D. The issue is that I'm trying to test my particles when playing the game, but the particle effects aren't rendering in the game view. I have play on awake active. haven't had this issue when doing regular 3D so I'm wondering if there's a simple fix I'm overlooking.
Figured it out, Z was above the camera
yes VFX graph simulation is GPU compute only right now. but a small note that CPU simulation may possibly be added to VFX graph in the future. though it's not guaranteed to happen and it could be a long while if it ever does. the average mobile device having sufficient GPU compute could very well arrive first. ¯_(ツ)_/¯
https://portal.productboard.com/unity/1-unity-engine-graphics/c/102-cpu-simulation
This will allow you to simulate particles and trails on CPU.
speaking of that, even if you do have a 2D project that targets newer higher end (GPU compute) mobile devices, you would need to wait for this feature to land to use VFX graph natively with URP's 2D renderer : https://portal.productboard.com/unity/1-unity-engine-graphics/c/116-urp-support-compute-capable-devices-only-2d-renderer-support
Add support for the VFX Graph to be used with URP's 2D renderer.
I’ll try to achieve something similar with classic particle systems and shader graphs
cool yeah i think that's the best path to take right now anyway 👍
Hi guys. Is it still impossible to make character collide or physic interact with VFX that are created with visual effect graph?
here are two different ways you can achieve one way interaction, gameObjects as colliders for VFX graph particles.
CollideWithDepthBuffer: https://docs.unity3d.com/Packages/com.unity.visualeffectgraph@10.3/manual/Block-CollideWithDepthBuffer.html
CollideWithSignedDistanceField: https://docs.unity3d.com/Packages/com.unity.visualeffectgraph@10.3/manual/Block-CollideWithSignedDistanceField.html
the inverse, VFX graph particles as colliders for gameObjects is not strictly possible on a per particle basis right now, though Output Event Handlers allow for VFX graph events to affect C# physics gameObjects in some ways e.g. VFXOutputEventRigidBody
https://docs.unity3d.com/Packages/com.unity.visualeffectgraph@10.3/manual/OutputEventHandlers.html
Troubleshooting what appears to be a memory leak. I’m using the profiler to find it, and noticed that when a new instance of the VFX visual effect is instantiated, the number of allocated “Not Saved->Material” increases (as expected). However, when the visual effect object is destroyed, the number of allocated materials does NOT decrease (unexpected). Furthermore, creating a new instance of the same visual effect increases the material count AGAIN (unexpected). Is there something special I need to do to make the VFX release the material when destroyed, or to reuse a previously instantiated materials?
oh it's removing the mats from memory now- guess I was reading the profiler wrong somehow- nevermind
@dull obsidian Hey. Thank you very much. I meant something like my character controller collides and breaks the sphere that i've made with VFX Graph
@tidal zodiac if you add a 3d-vector (camera position) as a parameter for your VFX graph- you can feed that position into a SphereCollision node to affect particles. You can then update the position of the collider in VFX from your scene scripts, with via the VisualEffect component.
What display is that? (sorry for late response)
wdym
@soft pelican Thank you very much! I will try this! Can u break down it for me?
I must add Vector3 parameter in VFX graph, and then connect it to sphereCollision node?
I cannot find that node :/
@tidal zodiac correct. the sphere collider node itself has several parameters- you'd want to drag that Vector3 vfx input parameter to the position input of the sphere collider, it looks like you can just use a hard-coded value for the sphere radius via trial & error. To find the sphere collider node: click on your "update" context to select it, then hit space bar. you should see "colliders" listed at that point- it's one of those. Once you have the VFX setup, you'll need to use this class https://docs.unity3d.com/2019.3/Documentation/ScriptReference/VFX.VisualEffect.html, and it's SetVector3 function, in a monobehavior to assign the sphere position to the VFX. The SetVector3 function will take as parameters, the VFX parameter name, and the vector itself.
@soft pelican Thanks! :))) Let me try this method! Just for reference, I am trying to recreate something like this https://twitter.com/ABeginnersDevB1/status/1299356439711043585?s=20
I guess I'm just making excuses to play with #VFXGraph... Well, now I have a shield VFX.
#IndieGame #IndieDev #MadeWithUnity https://t.co/0XudgEHmoq
U are awesome!
Do u think that method will work ? 🙂
I'm trying to make an affect for a weapon I am making, but I have pretty poor knowledge on VFX graph and particle systems so I was wondering if anyone knew where I could find some beginner videos for that?
For reference I am trying to make an effect similar to this one but around a weapon.
I think it should! Hit me up if not
@soft pelican Hey. It seems I cannot do it right i guess :/
I tried with VFX Property Binder but It seems it is working only in world space :/
Basically, I cannot understand how to detect at first that my sphere for example (I am doing it with simple sphere at the beginning) is colliding with the VFX particles
Should I create a script and apply it to the sphere, then use onCollisionEnter method?
And then, how to make the Visual Effect "understand" from which side I am entering with the sphere so it would break only from there?
Sorry for the stupid questions tho 😄
Hey,
i'm trying to recreate a specific VFX from "Devil May Cry 5 Special Edition". I've been trying to get it done for months now but can't seem to get the hang of it. Are there any experts/tutors willing to help me out with this? I'm also willing to pay for the help/lesson(s). I also tried to reaching out to unitys 1:1 live help but my request doesn't get answered. I'm familiar with Shader Graph/Particle System/VFX Graph. The effect is AAA worthy so i really need an expert on this topic. If anyone is interested in this "job" feel free to dm me on discord.
Greets!
Ps.: I know this might not be the right place to ask for this but i've tried looking for tutors or alikes online and couldn't find anyone/anything besides the unity 1:1 help sessions and i'm really really desperate with this effect by now.
Hi!
Having this issue with the VFX shader asset... A normal HDRP transparent Shadergraph shader has the "Receive Fog" toggle, but on a Shader Graph that is used on visual effects don't have this option.
The particle strip quad should be invisible. It has a HD Scene Color directly in it's base color, but it is colored by the fog.
The mesh above it is using the same HD scene color, where it toggle the receive fog on and off for the comparison.
Is there some way to control if a VFX should receive fog or not?
woops wrong file
@prime dome can you post a video or screenshot of the exact effect?
sure thing @dull obsidian
In this video we go over Vergils Judgement Cut mechanic in DMC5SE and its basics in this tutorial video. If youre looking for more tutorials you can find them here: https://www.youtube.com/playlist?list=PLcAlwtHIsY5-kjsTsObzN4VznYvpceuWp
Subscribe ► https://www.youtube.com/user/devilnevercry124?sub_confirmation=1
Twitch ► https://www.twitch.tv/...
i timestamped it
I'm talking about the circling curve-shaped slashes + "implosion"
i'm not sure if there is an easy solution for this right now, but i do know that VFX graph's integration with Shader Graph is being worked on and will be improved greatly in the not so distant future, resolving issues like this. there will no longer be VFX specific shader graphs, you will be able to use any shader graph with all properties, like the receive fog property.
https://portal.productboard.com/unity/1-unity-engine-graphics/c/232-shader-graph-integration-with-vfx-graph
https://github.com/Unity-Technologies/Graphics/pull/3467
Arh, that's great news!
That'd open up so much content authoring in the future.
Tho, it won't help me at the moment :/
how can i make a scanner vfx
Is there a way to Modify the shader that is generated from the Shader Graph VFX variation?
I've found the specific line that applies the fog in the shader or should I ask in the #archived-shaders channel?
I Just want to comment that line out.
I'm very new to making vfx and particles, can anyone suggest how I might be able to make particles appear that fill up this 2d cone shaped spell, expanding outwards?
The angle and size is variable so I can't use a single premade particle system, any pointers in the right direction for what systems could be used for this would be helpful.
it needs to start at zero and then expands outwards and I need the particles to fill it up in that way
@tidal zodiac you dont need to DO anything to make the VFX particles collide with the sphere, once you have added the sphere collider to VFX. Once added, the vfx particles will collide with, and be unable to pass through the surface of the sphere. I'm not sure I understand your question about "which side".. the collider sphere would be smaller than your sphere of particles-where it passes through the larger sphere of particles shouldn't really matter. worldspace vs localspace: you have two options, yo can either use the InverseTransform function to convert the position of the sphere into local coordianates and pass THAT to the vfx, OR you can canvert your VFX graph to use world coordinate (that option is in top right corner of each "context" section)
I was doing something similar to this but it is far from done. There are many youtube channels others in #✨┃vfx-and-particles have recommended for VFX graph tutorials that will help you
I can share some resources with you for weapon effects
hey guys i just started learning unity, and i want to trigger my VFX Graph when i press a button how can i do that?
how do i make this ⬇️
when the space ship moves at insane speed those white things appear and also when the space ship moves at even more insane speed in 1:50 its starts those red things
https://youtu.be/UExKIrOlVmU?t=57
You just call Play on your VisualEffect component
any experts here willing to hep with this :
https://realtimevfx.com/t/recreating-a-specific-vfx/16147/6
It really does help me a lot. Thank you so much. I will give this another good shot using the insight you gave me. I didn’t know about the youtube framing feature either. That will come in very handy in the future aswell. I will keep this up to date and hopefully come back with the effect recreated 🙂
Hello is their any people online?
(that can give help)
Why dose the Scene show the muzzle flash glow, but the game view shows the original texture
Maybe you have something disabled on your camera?
Or you can try adding more bloom in your volume if you are using HDRP
I seem to have an issue where my texture pack is getting some chaff in regions it's supposed to be alpha
I want this stuff to go away.
I'm going to try to change to a better texture packer.
That didn't work.
I wasn't using the right shader.
OK, does anyone know how to make the particles solid?
I have alpha totally removed.
(on material)
use an unlit cutout material
Like code it in the script or change shader?
OK.
Thanks, good copy. Would be handy if it was designated shader next time @hearty flare
Have to play with settings a bit, but getting what I want. Thanks.
Hey, I'm trying to build for WebGL, and for some reason my godrays VFX (using stretched billboards) aren't showing up, despite working in-editor and in PC builds. Does anyone know why this might be happening?
(Image of the actual settings...)
I know this is possible but not sure how to do it. I've seen references to doing it online but no explanation on how. I want to use the alphamap from the terrain, but only the red channel, to add particles to just one texture on my terrain. But I can't figure out how to make this connection:
Here is the post that mentions it from one of the unity devs.
Hi guys, anyone knows how to increase the segments on a particle strip? I have a simple smoke that becomes jaggy when moveing the source away
@sterile forum I tried something like that here. Not using splat or height maps tho.
To sample the maps, I would use world pos XZ / map size for UVs.
For spawning maybe try Position Sequential 3D with count Y set to 1 to only get one layer.
Also on the spawn, check the sampled value and if it's not your desired layer kill the particle.
You can use single burst and turn off aging in the inspector for the particles to stay.
I'm not sure if it's the best way to do it but I hope it helps. 🙂
@slate sable a couple questions. Is the world pos XZ / map size a node?
@sterile forum sorry, I was little too deep in shaders rn. By world pos I meant Get Attribute: position and the map size would be a property that you would have to type in manually or by code.
Map size, meaning size of the terrain
Does anyone know why some of my vfx graphs not working when spawned at runtime? Only when i change some parameter they starting to work
OK, so I have this issue.
I have the glare for the marble as a 3rd layer in this game object.
It's layered to be on layer 4, the particles shows at layer 3, marble background at layer 2...
But the glare is behind the particle. How do I fix this?
Also, the particles are layered under the "renderer" tab under the "inspector" window, correct?
This is the 3rd layer for the game object in unity.
I may try it in shader graph instead
Howdy, any bites?
I found the solution: evidently I needed to play with the z axis as well as adjusting layers. Thanks for hearing me.
OK, how do I make my rainbow bomb the object it uses to show a rainbow bomb?
ambient occlusion is weird
this spikeball is very close to the camera
that wall is very far from the camera
they are not even close to eachother, so why is the occlusion there?
this seems to happen in every game that has this effect and for some reason it distracts me
https://cdn.discordapp.com/attachments/439772402751373322/818947161529909298/unknown.png
Hi guys, does anyone have a solution for this? I'm still stuck with the segment issue :/
Is there a shader that ignores rotation?
example: I have a plane on a pickup object, I want that plane to always show the same orientation on the plane's texture (an arrow pointing north), no matter which way the player moves it.
Hi, I need help related to particles. is this the right channel?
Nobody can help if you don't ask a question
I'm using the particles as a collectible items that will appear after the enemy is killed. I think with particles will be more practical because the direction where the items will be launched will always be random by default.
but there is a problem. I deactivated the loop option and set to only appear Max 8 particles, but as soon as I pick one particle it respawn. I set the duration of the particle effect to be a bit long so the player has time to pick the item but for all this duration the particles will reappear and the player can get more and more items until the particle system dies by itself.
How can I make the particle don't respawn?
You could certainly write a shader that does this (a compass I guess?). But there isn't one built into Unity or anything. Basically you would rotate your texture sampling coordinates based on some math with the object's rotation.
i am fairly new to programming new shaders, any tips on how to get this done?
First thing to figure out is are you using builtin renderer or one of the new scriptable renderers (URP or HDRP)?
If you're using one of the new renderers it should be pretty easy to do it in ShaderGraph using this: https://docs.unity3d.com/Packages/com.unity.shadergraph@6.9/manual/Rotate-Node.html
even if not able to use shadergraph, that generated shader code at the bottom of that doc page may be helpful as a reference
UnityEditor.EditorApplication:Internal_CallGlobalEventHandler()```
Why am i getting this even though i'm simply connecting a float output to float input?
someone that can help me with vfx graph?
what im trying to do is add sound effects when my fireworks explode but i can't get it to work. anyone knows how to do so?
you can add a sound source to the object that has your vfx graph and play it the exact moment your fireworks explode @steel oar
@prime dome huh im, so lost right now
your vfx graph is attached in a visual effect component on your object
@prime dome are you able to show me in a call?
add this component to your object
and adjust it in a way it plays when your explosion takes place
f.e if your explosion takes place 2 seconds in the effect
the problem is that it's random
that makes it a lot more complicated
ye
you could maybe turn the explosion into an event
and tell the audio source to play when the event happens
idk how to do that tho
but its possible for sure
i have an idea i can just set the velocity to be a bigger difference that way the explosions are more apart and the explosions will always happen the same time.
working with events is a way better solution imo you would have to do some research on this tho
yeah but i just started coding
i think it's to hard
i have one more question. how do i trigger my vfx graph with a script?
playing a sound source via code might be a bit tricky but not too hard
and once you have the hang of it you can do tons of stuff
definitely worth leaning
you need to be able to control your vfx graph via script anyways if you want to implement it properly
obviously takes research and learning
but its worth for sure
if classic coding is too hard you can also try BOLT
it lets you create complex code via a node based system
the visual thingy?
i see bolt is very good tho i can also do anything with it without having to jump into spag c# coding
xd
for sure it lets you access vfx graph aswell
about this
i want it so when i click my button my vfx graph get's trigger but it only needs to do 1 explosion and then stop.
from what i can see in the code is: vfx graph is playing and if you press space it stops
just do it the other way around
isPlaying = false -> spacebar -> play vfx graph
that requires the graph to not loop if thats not the case
you can also use a timer but thats a lot more complex
so when it's triggers it sets isplaying to false?
i wish i started with bolt right now lol
sounds alot more easy
using UnityEngine.Experimental.VFX as you can see in the 2nd line
yep
implements functions to control the vfx graph
you can check through those functions and you will probably find something that suits ur needs
i'll try thanks for the help mate
np
Yeah i really need help
My vfx subgraphs' slot kept being resetted...
I may have run into a very specific bug and I don't know anyone else with this experience but I imported my own mesh to use an additive shader with but I've had several problems with it that only seem to be happening with only the mesh I imported
See I created just a normal unity 3d object and the shader works fine (on the left)
but the mesh I created not only does not have all the UVs filled in but also is a purple color for some reason
I suspect it's some import issue but I have re-imported it several times to no avail
Here's the shader graph btw
I'm following a tutorial closely and still can't figure out why it's doing this
Figured it out
Because I separated it from another object it still had vertex data carrying over from the export and all I had to do was erase the data from blender
so what is the most used option for vfx for built-in. I have been dabbling with URP and the Visual Effects Graph and, sure mostly following tutorials but at least I can customize a lot of it. Now I am running the built-in and don't really know my options.
Is it basically the particle system I have to work with?
I want particles to spawn at the perifery of a circle, but up not outwards, is that possible. cant fin dthe settings for it
@errant rose what do u mean?
ohh sorry think I got it working. When I change to "shape" = circle it was only spawning in the direction from center to rim but I wanted it to spawn upwards
oh okay so it's working fine now?
ok
https://gyazo.com/f7d0178cbc2b86a655b17d4fe963904b
anyone knows why i cant see my expanding sphere?
i wanted to make it look like this:
https://gyazo.com/253c9e03593125490db6558d362eceb1
but my sphere doesnt get renderd
any help appreciated
when i put no shader on it it works just fine spawning me a blue orb
but when i feed in my shader its not there
@prime dome Don't cross-post
its literally two channels and this goes into both categories thought its fine then but okay noted!
Hey all just wondering if anyone has any idea how to accomplish a seamless loop of floating particles using the particle system.
Say like dust particles moving with some noise and cycling the same noise every 5 seconds.
Any VectorGen users? Was wondering if its possible to take exports (.fga files?) and bring them into VFX graph?
I want to go about making effects similar to this; with fair performance for a mobile game (its also pretty much a first person view only game).
Is there a specific particle system or vfx system that would replicate these well?
When I look around it seems like shuriken would be optimal but I feel like the docs must be named differently because I can't find many good vids or documentation on it.
Hey guys. I am using HDRP 7.5.3 and I miss random nodes. Like Vector3 random.
The thing is that I cannot find that node even in the manual
Can u check for me, do u have that Node please? What am I missing
It's on VFX Graph, not Shader Graph
Already enabled experimenting features for VFX, it is not there either
Looks like it's a billboard
Make it not a billboard?
What's a good way to change the screen color like this? I kind of want to just attach it to a particle System (Since it's a particle effect attachment) I'm just not sure how to do it.
Postprocessing effects
Would such a thing be attachable to a GameObject I can toss onto my script that relays the information about the attack? It's just basically a class called Effects and it has the effect GO attached to it to play.
You can control it from a script certainly but I think something might need to be attached to the camera? I don't remember really.
Check the stickies in #💥┃post-processing
where would i ask for help with the HDRP decal projector?
Here kinda works, or #archived-hdrp or #💻┃unity-talk
Hey, any idea how to create this effect? can i use a texture and put in the RGB color theme somehow? any help appreciated
looks like a lens flare
There's a lens flare component actually: https://docs.unity3d.com/Manual/class-LensFlare.html
yeah im using that already unfortunately im lost with brightness effect inside the rgb spectrum of the texture
yes, redirect nodes are available in shadergraph when using unity editor 2020.2 and up. https://portal.productboard.com/unity/1-unity-platform-rendering-visual-effects/c/65-redirect-elbow-node
@short harness in shader graph you right click on an edge/wire and select "add redirect node" ... though i'm realizing this is #✨┃vfx-and-particles and it's different with visual effect graph
@short harness fortunately vfx has this already too it's just a bit different in how you access it. they are called "inline" nodes and they are available for every data type. e.g. float, int, color, transform etc.
- you right click on the edge/wire and select "create node"
- enter "<data type> inline" into the search and select that node e.g. "float (inline)"
- you can also double click the inline node to collapse it / make it smaller... making it almost like the redirect node in shadergraph
@dull obsidian yo thx a lot man! 🙏
@short harness you're welcome! it's not very intuitive in VFX graph right now. though Unity devs are working on improving that and making these things cohesive across visual graph tools.
i added a gravity node to my update
but the force was rather strong so i wanted to decrease the mass of the particles but it didnt have any effect on the simulation
any way i can make the effect of the gravity on my particles less? without changing the standard -9.81
- is it possible to rotate particles around a point?
a difference in mass alone doesn't change the rate that objects fall. a 1cm solid steel marble and a 10m solid steel wrecking ball will free fall in air at the same rate because their density is too high to experience any air resistance aka drag force. but styrofoam balls of any size or mass will free fall slower than steel because of the low density of styrofoam. the drag force from the air affects it significantly. so it sounds like you want to simulate a drag force by introducing a density attribute and drag coefficient for the air, etc. more info in this video: https://youtu.be/YvNiLmHXZ_U
and book with live code examples: https://natureofcode.com/book/chapter-2-forces/#chapter02_section8
Chapter: 2
Official book website: http://natureofcode.com/
Twitter: https://twitter.com/shiffman
This video covers a drag force in Processing. A drag force is when an object comes into contact with a liquid or gas (air resistance, fluid resistance, also called a "viscous force")
- Read along: http://natureofcode.com/book/chapter-2-forces/#c...
aye thx a lot!
Hey,
any idea how to scale a particle to one point?
https://gyazo.com/1a6a2ec641df033f30972b2297e6329d
i want to recreate this behaviour where a particle spawns and stretches itself to a position
is there a way to do this ? Im using VFX Graph
I have a rocket's engine (doing a lunar lander clone) exhaust come out as a ribbon but the ribbons are pointing in the direction of the ship's velocity. In the attached image, the ship is moving to the right and as you can see, the particles are "flowing in the wind". This goes away if I do it in local space but then the particles will move along with rotating the ship.
What up peeps? Has anyone ever heard about a particle emitter not emitting (both in scene and game view)?
I am trying to make this screen pinch/squeeze effect from the Scout Launcher in Outer Wilds. The only thing I can think of is using the Lens Distortion post-processing effect, but I need several “pinches” to happen simultaneously, with different radii at multiple positions.
What would be the closest particle effect to goo/slime? It's affected by gravity, i.e. if it hits a wall it will scale downwards or ground hits would scale outward
Is it a good idea to import particle systems from external 3d software (like Blender) ? Or is it better to use Unity's native particles ?
also, do imported particles have overheads (in terms of performance) ?
So right now Im experimenting with procedural characters. Right now Im playing with a monster made out of boid sims and next on the line was a smoke monster but wheb I saw your fx I got inspired for a tar monster haha.
So you said you use the vfx graph to drive the liquid sim and write particle positions to a buffer yes? Im interested in how you construct the mesh after that
Really cool. Care the explain the bit with the volume that is used to generate a mesh? Is it some sdf stuff or what? I always tought that with fluid sim stuff you use the particle data to drive verts in the mesh directly.
@opal star there are ways to generate a mesh from a point cloud or particles, such as Delaunay Triangulation, but it's not as obvious how to parallelize that with GPU compute and even the implementations that are out there are far from being suitable for real-time . So i'm using some more well known methods to go from Points/Particles -> Volume/SDF - > Mesh. namely: a particle bucket sorting algorithm , SDF point stamping into the cells of the volume, a 3D blur of the volume, then a marching cubes algorithm to generate a triangle mesh to be rendered with DrawProceduralIndirect.
@opal star This is all computed on the GPU with compute shaders, with no memory copied back to the CPU. Though I do have a version that copies the mesh back to the CPU and hands it to Unity Mesh API as that works with any material and render pipeline without needing any custom render passes or custom shader materials.
While I'm not sharing the full fluid surface / mesh generation code, I do have the VFX graph output buffer on github, though it's an incomplete example and only works with BRP as-is, it needs a custom render pass to work with current versions of HDRP, URP likely as well. https://github.com/landonth/unity-vfx-custom-addons
@opal star and the Marching Cubes mesh generation i based on this implementation from Justin "Scrawk": https://github.com/Scrawk/Marching-Cubes-On-The-GPU
@opal star you can also find a lot of information on this and similar methods in the the documentation for Mudbun. Which already has some support for rendering particles. the SDF "stamps" in Mudbun are called "brushes": http://longbunnylabs.com/mudbun/
Welcome! MudBun is a volumetric VFX mesh tool for Unity. It procedurally generates meshes from non-destructive “brushes” that define shapes, distortion, and surface modification. MudBun can also be used for volumetric modeling and provides a convenient auto-rigging feature. Locked meshes,…
@dull obsidian ah thank you so much for the details I will look into this.
Ive always been interested in SDF but never could really get into it mainly due to not having the time haha.
And if I could finally ask what is the performance like?
The performance is quite good as everything is computed on GPU and stays in GPU memory. and the methods / algorithms used all parallelize well. though there is still room for optimization, e.g. I am wasting a lot of GPU memory by using dense volumes. Mudbun has optimized this by using sparse volumes via hash tables on the GPU. Though there is some small overhead, sparse volumes are much more flexible for use in large scenes and are much more efficient on memory usage.
So you would say its viable to be used for a character vfx in a normal game scene?
My method or Mudbun's?
Also, regardless, it really depends on the platform you are targeting
all of the above require a GPU compute capable platform with significant GPU power to spare
Oh yes only modern compute platforms. We are talking about a nezt gen game
@opal star this info from the Mudbun site linked above goes over all of the main points
Compatibility
Unity 2019.3 or newer.
Windows is the only platform under active development, maintenance, and testing. Non-Windows platforms are not guaranteed to run MudBun and support for them is limited. WebGL is not supported for now due to its lack of compute shader capabilities.
Compute shader support is required.
It is highly recommended to target hardware with dedicated GPUs, as MudBun uses compute shaders. It is not recommended to target hardware with integrated GPUs, unless MudBun is only used at edit-time to build meshes to be exported or locked at run-time.
If you are not sure how MudBun runs on your targeted hardware, please try out the trial version first.
Or well current gen I guess.
Okay, then yeah, sure no problem
Is PS5 still considered next gen or current gen now that it is out haha idk
yeah i know right
Ive been meaning to buy mudbun for a while now
PS5 and XSX and new PC GPUs are out but no one can actually buy them
If for nothing but a learning resource
so still "next" gen realistically, sadly
I still call them next gen for sure
kinda off topic but can a hobbyist actually develop and publish to their XSX if they have one?
I did some looking around and it seemed like XSX requires being an affiliate or something like that
(as I pine for the days of 2008 when XB360 let anyone publish to their console)
This sort of technique could certainly run on PS4 and XB1, and most dedicated PC GPUs though. just would take more optimization to balance performance with everything else in the game / app that needs GPU resources
I dont think so. At the very least you would need the SDK. Dont know if you need a dev kit for xbox. You do for playstation.
news to me
"However, developer mode isn’t entirely free. To activate it on your Xbox, you have to register an individual app developer’s account with the Microsoft Partner Center ($19 in the U.S, but the cost varies in other regions)."
Microsoft are way more lenient in this regard rather than sony.
We went trough a lot of hoops to become a sony dev partner.
Well I think I will finally buy mudbun after Im done with my boid characters and go from there
@dull obsidian this is great news. thanks for doing the search on my behalf, I would have been fine with just being sent Google results 😉 Thanks for being awesome.
seems like anyone can do it, just requires restarting the box to make it go into "dev mode"
(and $19)
Yeah Mudbun is definitely the most fully featured asset for this type of thing and very well optimized. It didn't exist when I started building my own tools for particle based fluid rendering. I'm not sure how well optimized it is for particles currently as that's not the primary use case, (the docs mentions that higher particle counts can greatly impact performance ) but I know the dev is more than capable of optimizing it, it's just a matter of time.
If the code is provided in the asset I could probably be able to optimize it myself. I just dont seem to have the time to build stuff from scratch these days sadly 😦
mudbun also seems to be a fork from a open project. I might start there.
does VFX Graph work without URP/HDRP?
no
f
okay cause I gotta use a lot of lights in my game but URP merely supports a max of 8 and hdrp seems to be too heavy
yup realtime
Apparently "deferred rendering" will let you have more
but I really don't understand what that is or how to use it
This post in particular seems promising too: https://forum.unity.com/threads/universal-rp-max-object-lights-limit-problem.907985/#post-6825767
not sure if that feature is available yet
seems like not
well I can't find the option
neither does it appear in the camera
very odd
Cool, not sure what other effects that will have on your rendering tho
okay it didn't really change anything
it doesn't seem to increase the amount of lights that you can have
if anyone knows how to increase the light limit in URP then I would highly highly appreciate that
🙏
Deferred render path does not have a light limit, but deferred for URP is not a released feature yet. it may show up in the editor interface in beta / alpha / pre-release but it may not work at all yet or not work fully or have bugs. here it is tracked on the URP roadmap: https://portal.productboard.com/8ufdwj59ehtmsvxenjumxo82/c/10-deferred-renderer-support
When using deferred shading, there is no limit on the number of lights that can affect a GameObject. Deferred shading has the advantage that the processing overhead of lighting is proportional to the number of pixels the light shines on. This is determined by the size of the Scene's light volume regardless of how many GameObjects it illuminates....
Forward+ render path is also an unreleased feature "in progress" on the URP roadmap which will allow for more per object lights than the 8 max "regular" forward has anyway: https://portal.productboard.com/8ufdwj59ehtmsvxenjumxo82/c/261-forward-renderer-support
Summary
The forward renderer in URP has an overall limit on the number of lights used when shading. Forward+ improves upon regular forward rendering technique by culling lights spatially rather than per object. This would significantly increase the overall number of lights that can be utilized in rendering a frame.
**Intended Outcome/Use...
@fierce cedar that said, VFX graph isn't even fully supported for URP yet, Notably, URP doesn't yet support VFX Graph "Lit" particles... and it sounds like you want a lot of lighting. this feature is also coming relatively soon: https://portal.productboard.com/8ufdwj59ehtmsvxenjumxo82/c/97-urp-support-compute-capable-devices-only-lit-particles-and-various-features-and-fixes
We're working on support to make it possible for you to do things like render lit particles or using depth buffer collision using URP.
This will only be support for compute capable devices (platforms HDRP supports) - additional functionality is required to get VFX Graph working on wider range of devices.
in the meantime, you could prototype in HDRP and then move your VFX graphs to URP when it's ready. you can also render Lit particles with the Built-in Particle System with URP.
Hey, i want to do a flare using 100 of the lines seen in the screenshot with VFX Graph
i use set position (circle) to let them spawn on the outer of a circle and they will then move to a outer sphere
my issue is that i cant get the line to look at the position the way i want it to...
the way i want it to look at the centre of a circle
https://gyazo.com/f6e767c60ba4fecb2cd3ab765f3cea10
the way my line is looking at the centre
https://gyazo.com/244f077a56b0f7d3054d637db061115f
i could just rotate it accordingly but that would require me to do it for each one individually meaning i will have to initialize each line itself which is super ugly in several way
is there a way to do this properly ? !
nvm i got it https://gyazo.com/8bdbf1b234706c06144056126d4628a8
thank you!!
appreciate it
Does any of you know why particle system fog turns black within a distance?
Hi guys 🙂 I have the following problem: when I move too close to the particle system in the scene view, the particles just disappear completely. Looks like they are getting clipped. I tried to use negative values for the near clip plane of the camera, but no luck.
The particles show up in the game view just fine, it's just when I move the camera in the scene view.
Anyone have an idea what this could be caused by?
Hello Everyone, i'm currently doing the Ruby Adventure Tutorial and i'm having a little trouble with the smoke. It appears on the robot prefab but in game it doesn't. Am i doing something wrong?
I'm not sure if this is the right channel, but I created a new material out of an image i scanned into the game from a printer, however the image isn't wrapping around the paper gameobject correctly. It zooms in super far; only 1 of the 9 scans appear properly on the paper-gameobject (they are all 8.5x11 scans on regular printer paper), does anyone know how to edit the size of a material or how i can get these images to format correctly on a paper game object? (or a small flat gameobject to be less specific)
Ashie if you're still having that problem I did that tutorial a few months back. The issue mine had was the Transform Z was hiding the smoke behind the rest of the assets! If you want to DM me we can talk about it more and I can open up the project to show you.
Unfortunately don't have any experience on the printer stuff Thea. Wish I could be more help.
The process of projecting 2D textures onto 3D models is called UV mapping. And yes you have a 3D model even if it's a flat quad, unless it's a SpriteRenderer.
You can do UV mapping in Blender
what do heck
I changed the image i scanned into a sprite and went into 2d sprite editor (after installing it from package manager cause my project is 3d and the 2d assets were not already present) , would sprite editor though allow the changes i would need to make or would i have to go the UV mapping route? (Thank you btw for the response/help, ive seen and heard of UV mapping but havent worked firsthand with it)
Is your object using a MeshRenderer or a SpriteRenderer
If it's a SpriteRenderer, you can get away with the sprite editor. If it's a MeshRenderer, you need to do the UV mapping
It uses a mesh renderer but then when i made a material out of it it just gives me surface options
You need to do UV mapping in Blender or other 3d modelling software
Oki, thank you!
where do you usually find a vfx designer for hire?
i cannot seem to find one lol, they're all mostly vfxs for videos.
Hey y'all, so I'm currently trying to build out a baseball game on Unity, however I am not sure what kind of particle asset would exist if say, a player dove/slid on grass and I wanted blades of grass to fly off of the field. Any pointers/help would gladly be appreciated!
Is it possible to lerp individual particles each to a different specific location in worldspace?
seems I have a bug, Unity 2021.1.0f1 I have some prefabs which contain particles. For some reason some prefabs are spawning with the renderer disabled, others not. It maybe just those outside of camera frustum which are disabled. They do not activate by themselves at all, I've had to manually force it in code but once on it seems to be okay for that object.
Did a quick search and not seen mention of this, so has anyone else experienced this or am I just a special nut?
Hey Nickolas, super later, but I did notice a few ways sort of around that in URP. A. You can add a bloom https://docs.unity3d.com/Packages/com.unity.render-pipelines.universal@7.1/manual/post-processing-bloom.html. B. You can make a flash / glow graph and connect it with your other effects in an event graph. something like this maybe? https://gyazo.com/f7d5a9868d4c7e71b611f83443519835. Just a student right now and this is my first time diving into VFX but hope this helps
Speaking off, first time trying to use a mesh here. I made this Taurus in blender, Here's what it looks like in the project -> https://gyazo.com/349895097583a02b53a756c043d8c2c1. I'm calling that mesh in this example, yet it doesn't even look symmetrical/ circular (it is). https://gyazo.com/349895097583a02b53a756c043d8c2c1. Im trying to get that Taurus to be more like a thin spinning disk (like one of Saturn;s rings). Lastly the inspector view for this VFX, to show the properties https://gyazo.com/2de32e70dda134fb298c19b597e91deb
Can VFX graph be used in the built-in render pipeline?
not officially. there is some basic functionality for BRP rendering with a few output contexts in VFX graph because the new RPs didn't exist when VFX graph was first developed. but it's not officially documented and could break or be removed at any point.
Dammit
which seems will be the case in some future Unity version according to this PR, due to a refactor of shader abstraction code: https://github.com/Unity-Technologies/Graphics/pull/3950
BRP isn't officially supported with VFXGraph.
we won't fix this.
@royal tulip that's not to say you or i or someone else can't extend VFX graph to support BRP in some way, since we have access to the package source. I've been doing custom rendering using VFX graph attribute data in multiple render pipelines with this method: https://github.com/landonth/unity-vfx-custom-addons
though fair warning that I don't provide any type of support / warranty or guarantee that i'll continue to maintain it. open source anyway
interesting, thank you
@royal tulip there is also some hope that VFX graph + BRP support might arrive officially in a roundabout way (or at least be easier to implement unofficially) via the foundational work being done in these pull requests:
Refactor VFX / SG Integration (use any target) #3467 https://github.com/Unity-Technologies/Graphics/pull/3467
Added more simple tests for ShaderGraph BuiltInTarget #3993 https://github.com/Unity-Technologies/Graphics/pull/3993
Could someone please briefly outline how to go about achieving the kind of particle effects shown here: https://store.steampowered.com/app/810020/Belle_II_in_Virtual_Reality/
I have a text file which contains the track information in a number of steps, i.e. an initial position, final position, the time at which this step takes place, etc. but am quite confused about how to generate a particle at a given time since delayTime seems to apply for particle systems not individual particles.
Can it be done with a single particle system? Hopefully somebody could point me in the right direction as I think I'm going about it in the wrong way completely, thanks!
Hi, I know VFX works with ARKit , but is there any way I can use it with ARCore ?
Hi all - is there a fairly quick method to create a UI map which has this sort of "highlight region on mouse over" event functionality?
I would like it to highlight the border with a glowing outline when i mouse over it.
what is the best way to trigger a certain particle of your system via c# code?
custom event or?
You can make 3D Textures using Houdini, Vectoraygen or custom script to generate it. There probably are some assets that can do it too.
It depends what do you want the 3D texture for.
I've been using a render texture for saving dynamic wind data and I was creating a new one every time the app plays.
I've been accessing it from shadergraphs and compute shader using the Shader.SetGlobalTexture() and unexposed shadergraph Texture2D properties.
I wanted to use the same approach in VFX Graph but you can't set the property ID there so I'm trying to switch to Render Texture assets instead of generating them via code.
But I'm having trouble with some flag error.
Compute shader (WindComputeShader): Property (_WindMask) at kernel index (0): Attempting to bind Texture ID 259 as UAV but the texture wasn't created with the UAV usage flag set!
I'm guessing it has something to do with the EnableRandomReadWrite thing.
Any ideas how to enable that flag on asset or how to get generated RT to the VFX Graph?
I am thinking about using Landon's custom function node to reading the RTs with specific IDs but it would be nice to avoid using that. (not sure if it would even work)
anyone started to use the new Skinned mesh sampling in vfx graph yet?
Hey, im recreating the "Perfect Judgement Cut" from Devil May Cry 5 Special Edition and ive been on this for around 3 weeks now and lost all sense of actual look (DOES THIS ACTUALLY LOOK GOOD?!)
its like 45% done now and would like some honest feedback on this
https://gyazo.com/ddf8bd1d5ce29592d502eb4483f6f103
my chromatic aberration is still global so its mapped to the sides of the screen thats why it looks different when im dragging it into the middle of the screen
does anyone know how to give more segments to this?
in the standard ribbon system its in the SPAWN block
but since the gpu event doesnt have that im not really sure how...
^ just a guess but try set size attribute/ set size over life in ur initialize function
Maybe do the set size between 2 values 🤔
Is there a way to simulate the blurry depth of field effect in VFX? I want it to be applied all the time to my laser and pointer.
How do I go about making a grid effect like this?
If you're using builtin Renderer - Projector component might do it for you
in orthographic mode
with a LayerMask of course..
I'm using the projector for the grid now but lets say i wanted to make the blue highlighted nodes actually blue in game, how would I do it?
Is there a way to feed shaders positional information somehow ?
even when creating render textures from c# script code at runtime you should be able to assign them to an exposed texture property on the vfx graph via the exposedproperty class of the vfx graph component scripting api https://docs.unity3d.com/Packages/com.unity.visualeffectgraph@10.4/manual/ExposedPropertyHelper.html
I know about that but it would be pain to keep references for the vfx. Because I use the same vfx on tons of dynamically generated objects with different hierarchy structures so I would have to have some helper script with the reference or maybe pulling it out of the script that has the RT. Global texture is just more elegant.
I ended up using "Custom Render Texture" for now. All it does is take the global render texture and sample it to render texture asset. ( Didn't even know a thing like that exists tbh )
But thanks for your advice. 🙂
ahh i see well i'm glad you found a solution anyway
looks good!
Any Simple but beautiful water techniques for a 3d sidescroller
Question, how do I bend particle systems direction? I need to create a fire, but instead of it going in a vertical line, I need it to be bent in a cape form. Is that possible?
Hey I am currently making a particle effect, I must be missing a ratio somewhere because only 3 or 4 of the particles (sparks in this case) are textured and emitting light, as you can see in the image the other sparks are gray and missing their lights
Its completely random which one has the texture
Does anyone know how to add a scroreboeard on the big square above my pinball table
What's the correct way to destroy all VFX particles currently being rendered by a VFX?
ReInit() doesn't do anything to all the old particles, neither does disabling/enabling it, and nor does Stop()
I tried setting a bool which updates the Alive state, but on setting it to true on the same frame breakes it
I basically am trying to reset a vfx graph to its original state
this seems to work 🥴
vfx.Stop();
vfx.SetBool("Alive", false);
vfx.enabled = false;
vfx.Reinit();
vfx.enabled = true;
vfx.SetBool("Alive", true);
How did you achieve this curve that your particles are falling in?
I just activated gravity
plus you can add trails to make it look slightly more curved
Like turn existing particles in a trail? Sorry, am new
nah just add a trail effect
Simulating continuous and non-continuous electrical sparks in Unity 5.5. Great for malfunctioning machinery and exposed wires.
Get Ultimate VFX: https://assetstore.unity.com/packages/vfx/particles/ultimate-vfx-26701?_aid=1100l3rZp.
Twitter: https://twitter.com/TheMirzaBeig/.
watch that
its great
Thank you so much! This is brilliant
does anyone know or know any tutorials on how to distort shadows under a shader graph water plane
Umm put a canvas on the scoreboard, than put a 2d sprite image along the big square and put ur ui over that. Don't know how you plan on using vfx for it though
yeah I just want to add up a certain number to the score depending on which "pin" you hit with the ball
Hey, does anyone know how to make a distortion texture that has this look to it ?
https://gyazo.com/ef64e5dea6098ef828c85a6068865873
im talking about the white inner parts of the distortion what kind of noise texture do i have to create for that fx
how do you make it where you can edit the particle curves?
@gritty quail This discord isn't a place for hire posts. You can find links to the official forums for this pinned to #💻┃unity-talk.
when I try making a burst of particles, it gets misaligned- how do I make it aligned-?
Do you have any turbulence on your particles ?
I don't think so- for now I'm just creating props and I'm still in the beginning, so unless having turbulence is set to default-
Are you using the VfxGraph ?
no- all I'm using so far is within the inspector and I hadn't seen vfxgraph
tbh I don't even know where vfxgraph is, since I just started on unity o-|-<
Ahah that's completely fine, the other particle system works very well! Trying to look into it
Are you spawning your particles on a circle shape?
When I switched the "Radius Thickness" to 0 it aligned perfectly!
Hi guys! I am trying to use an Alembic point cache. I am having issues with rendering it. I am trying to spawn cubes for each "point" of the point cloud, but for some reason it is only visible in the scene view. I think it's only showing me the Motion Vector Material, because when I check off "Generate Motion Vector", it disappears in the scene view, even when there is a standard material assigned to the mesh
Can anyone give me any pointers on how to deal withe Alembic point caches?
oooo yas! that was it!! tysm!
YAY! Glad to help 😄
Hello ! I have a question about a particle strip using vfx graph : I'm trying to spawn 2 quad per unit, which works great, but it squashes my texture too much. So I wanted to add a tiling in my shader, to spawn only half of the texture. It also works... but since the UV are "reset" for each particle of the strip, it only spawns the first half, which is intended.
But now, I don't know how I could tell my shader which "half" of the texture it should output depending on its position on the strip.
I tried to get the particle index and add a modulo to return only 0 and 1, but it doesn't seems to work
At least the value seems to always be 0
Do you know how to manage tiling in a particle strip ?
Still stuck with this Alembic cache, if anybody has any clue ahah
does anyone know how to create a more better water shader, with like reflection and refraction
Anyone know any workarounds for putting vfx into a webgl build?
Sorry but there are none, VFX graph requires compute shader support. The stagnant WebGL API doesn't support / will never support compute shaders. What will happen is web browsers (and Unity) implementing the new WebGPU API, which does support compute shaders, and will eventually succeed WebGL.
https://webgpu.io
I have a hunch this is also a bad idea, but what about gpu instancing?
We can't use WebGPU right now, so there's no judgement call worth making here. WebGPU is just a new web API we have to wait for before VFX Graph can target the web. It's not something you'll have to deal with, it will "just work" one day when WebGPU is implemented.
And GPU instancing is beside the point. the Rendering / instancing method isn't the hold up, VFX graph's particle simulation (the "physics" that happen before rendering) is dependent on compute shaders.
All that said, the current, "ready right now" alternatives we have instead of VFX graph are:
- Use Unity's built-in (CPU) particle system which works with WebGL
- write your own WebGL compatible GPU particle system using some 2d render texture packing method for simulation attributes which is a classic hacky technique but well known and well documented.
- there are pre-made WebGL compatible GPU particle systems / sims on the asset store as well.
Anyone have experience with playing back point cloud animations from an Alembic file? The docs seem quite sparse, and I'm not sure how to get it to render
Hello guys, I have a problem which is driving me crazy x)
For exemple : https://docs.unity3d.com/Packages/com.unity.visualeffectgraph@10.4/manual/Block-VelocityFromDirection%26Speed(Spherical).html
I'm at the right version (but using URP), and I can't find it in my graph. Not really the only one, I remember trying to find stuff like multiply size over life, but couldn't.
What do I do wrong?
https://gyazo.com/ccec08c2a942eb69ab04e8c49c5c19c5 feedback on this pls ?!
im recreating the Judgment Cut from Vergil in DMC5SE
@prime dome Not the place to hire 🙂
Nobody never used velocity from direction speed (spherical) node from the vfx graph?
I tried to create a brand new project on the last LTS version, with HDRP.... same thing. Am I crazy?
That node works fine for me. What are you trying to do with it?
Simply to put it into my graph, couldn't even find it with a new project :'(
@prime dome are you sure you are trying to put it in the block? (Init/Update)
I didn't even have to enable experimental nodes and I have it there.
Unfortuantely I think yes
Damn, and because it's for an editor tool it's not in project settings
Anyway thanks :DD
Hey guys, does anyone know if there's a way to stop the particles extending by so much when in motion? Since they look nice when the character is standing, but how do I stop them from going so far away or at least make it look nicer x)
https://gyazo.com/931be885af251cb64c3409bd456544a1
You could simulate them in local space instead of world space
Yeah was wondering if that won't look too fake, too stiff. If I wanted only the end of the tail to move i probably would have to have 2 particles systems one after another right
Is this VFX graph or Shuriken?
You could also continue to simulate in world space but let the particles either inherit some velocity or apply forces back towards the player
a lot of tweaking you can do
and yeah 2 systems is an option albeit an annoying one
Yup it's a particle system, though I've never heard of those two options.. I'll play arond the velocity but what do you mean by forces?
I noticed with particle systems the closer I get to a particle it shrinks and rotates towards me
is there a way to have it so the particle fades out when I get close?
nevermind I found what I was looking for the in particle material settings, under advanced, "Camera Fading"
I'm working on cloak effect for my Mecha game, what do you think? Any feedback welcomed, what can be improved, changed https://gfycat.com/bowedacceptableboar
so clean
Hi. I'm trying to spawn particle strips, but the stripIndex seems to always be at index 0
I'm using the Spawn Event, which causes the strip Index field to be shown in the Initialize block, which normally it doesnt
I connect the stripIndex node to it but doesnt do anything
Tried the Increment Strip Index on Start but doesnt help with anything
If i spawn the particleStrip with GPUEvent (from a source particle), then the stripIndex is properly distributed
So how do the stripIndex work if it's spawned with SingleBurst or something?
Hey yall, I' made a vfx graph that creates a forward decal (among other things) and it is working perfectly in the scene view, but the decal doesn't show up in game. The other particles all show up fine, but just the decal doesn't show. Anyone have any idea how to fix that?
Hey for some reason my particles aren’t leaving the scene like the image stops rendering once it’s done but the game object doesn’t leave do I have to press a specific button to destroy it after it’s done
@quaint plover Put the decal as first in ur render order https://gyazo.com/419c1885794be656d695d979e8ca5371
Anyone know why my particles with collision on are landing on the collider correctly, and then falling through a moment later? Like when they start to shrink or fade they fall through the object.
Not all fall through, but most do and it seems to be at the end of their life, or when they're shrinking.
What's the fastest way to input a random array of points from script to a vfx graph?
Hey, is anyone experiencing problems with VFX Graph and Unity 2020.3.3f1? When i freshinstall the VFX Graph with the package manager several warnings show in the console and when i create a default VFX Effect it doesnt work and an error shows up.
hey there, now im playing around with particle systems and i watched this youtube video, where they make an effect for a laser "bullet". it appears to no be a 2d sprite particle, but rather a 3d mesh. Can someone tell me what the way to recreate something similar is?
In particular i want to have a roughly cone shaped spaceship engine exhaust. I thought about using a particle with alignment to the worldspace, but that doesnt work bc if you look straight from the back, it will be like looking into the edge of a paper.
Any suggestions or "key words" to google are appreciated.
Video in question with timestamp:
https://youtu.be/eRfpwHfbqu0?t=453
Alex shows how he creates sound effects for the new ship, and Chris shows us what effects he needs to create before the ship goes into the game.
Star Villains and Space Heroes:
http://svsh.revora.net/
Music:
"The Battle" by Hans Zimmer
"The Looks" by MSTRKRFT
dont hesitate to tag me::)
Hello Everyone,
I'm working on a installation where de VFX graph is the center of the scene. I would like my camera to point at the average position of the particles. I'm quite new to the VFX Graph, and I would like some help for the following:
How do I get the average position of the VFX particles? I know that I can use Get Position Attribute operator for each particle, but how do I add all the position and then divide them by the total of the live particles?
Umm I'm thinking that you might be going about it the wrong way. If your talking about an array of points to instantiate your vfx, than yea keyword is calling an instantiate and setting those points in there.
@urban swift can you go in more depth?
yeah true it depends on if @urban swift wants to input a random array of points from a script to a single visual effect (best to use a point cache / attribute map like what i linked to above.) but if they want entire visual effect instances at each point set by the script (they should use instantiate like you just described.)
@bronze surge use scene veiw(scene tab) not game view and zoom out. Then you can drag it into the heircy, and loop it(youll have buttons to pause, stop, reset, and play) from the scene. Also might want to move your main camera back while your at it.
^ Theres a hotkey for auto setting your main cam to your current view, but I forgot it atm.
Hi sorry was at work, yea essentially it's a painted grass tool on any mesh, and I was initially combining quads into a larger mesh for performance, and I saw vfx could do grass too, so I wanted to see if they way was more efficient
And I saw point caches, just not much on how to build them in script
Actually this new feature would be more direct than "baking" point caches. Just provide the points/positions to the Mesh API in your script, then set the mesh as an exposed property on the Visual effect to fetch/load the vertices from https://docs.unity3d.com/Packages/com.unity.visualeffectgraph@10.4/manual/MeshSampling.html
Ohh thanks a ton that could work
@urban swift technically grass is also usually a billboard for optimization, usually mixed with shader graphs. Interested to see how you can do it with vfx graphs instead
i was following a tutorial and i came across this and i was stomped as he uses this assets prefabs but this an old unity how can i get it?
Im trying to add a dissolve shader effect for a 3d object, but my problem is that i loose the material of that object because the dissolve effect is also a material and I can't add both materials to one object, how can I fix my problem?
is it possible to change the color of a particle system to hue change over time? Like all of them emitted currently
I'm having an issue with trails (and particle strips from VFX graph), and I don't think I've seen any solution about it : how can I keep my trail from following the head ? By that, I mean that currently, the end of my trail will be dragged by its head, which is annoying if I want to generate effects like smoke and want to keep it where is spawned (without spawning individual particles, because they wont be connected). I do understand that it's a complex issue, and an old one in many engines.
It's not mine but you have to see this
好久不见!!:D
很高兴又来发表VFX作品了!
Vergil-Just judgement cut【次元斩·绝】.
我是DMC的粉丝,我热爱这个游戏。
于是我制作了这个效果,Vergil-Animation、Just judgement cut-VFX 独立完成。【因为我不是专业的动画艺术家,制作的Animation并不是很专业,因此会有非常多瑕疵】
从六年前我就开始模仿并制作DMC中的特效,时间过的真的很快,看很庆幸可以看到自己正在进步。
在早期,我发布了很多VFX视频,如果感兴趣,也欢迎观看!不过因为没有保存高清视频,分辨率非常不清晰,很多人留言反映了这个情况hhh。
这次我准备了4K画质,不再留遗憾~
I need more power!❌
I need more 4K!✔✔...
Is it possible to have a particle cull other particles?
I need help with my muzzle flash effect
Not sure why its constantly looping despite being put off loop :/
what are your emmission settings?
do you mean looping in the editor or when playing?
ohh yeah I meant in game, but thanks anyway! I read that is impossible at the moment to read attributes from the particles that are in the GPU to the CPU
Im trying to understand
this node
from the documentation, it reads: "Returns the total time with a fraction of the delta time randomized per-particle. Use this time node to randomize sub-frame position computations and prevent discrete stepping."
But I dont really know what does mean.
While playing
I have a question about separating and combining portions of a texture, is this the right place to ask about it?
maybe that's image processing?
yeah not officially. i made some modifications to vfx graph to allow for this myself but it's a bit of a hack.
Do you mean post processing or are there channels I can't see?
I made a silly toon like fire
Looks nice!
thanks
Be sure your particle are spwaning (if you use a single burst or whatever)
Hello guys. New dude here. So I am dabbling in some VFX using particle system. I want to create an impact effect with this kind of heat/distortion wave that would just spawn with the rest of effects during impact. I assume the best way to approach it is creating shader through shader graph right? And if so, does anyone have a easy to follow tutorial for that? Thanks in advance!
Do you mean that even if you use a rate spawn block as an entry point, and you simply drag and drop the vfx to the scene (which create a go with a visual effect and the asset correctly assigned). Then you look into the scene and don't see anything? (be carefull with World/Local position maybe?)
how do i make particles have glow
You need to give them an emissive material and use post process bloom.
how do i use post process bloom
and the emmisive material doesn't work it just makes the material's colour lighter instead of making it glow at all
Because you need bloom. One doesn't work without the other.
Look up some tutorials on setting up post processing.
can i use post processing and bloom with just normal unity or do i need something like HDRP for it to run
Any render pipeline can use post processing
how do i get it
ok i did it thanks
anyone? 😄 what i meant is something like this in 8:40
The Dash ability is back from Ori and the Blind Forest and feels as good as ever. This will allow Ori to clear very large gaps and speed up really quickly.
This is a super fun ability and you will find it very useful in the upcoming escape scenes as well as boss fights.
Become a member to get custom badges and emotes, early access to videos,...
I'm on the verge of a stroke, what's the workflow to set a particle color in an Event Attribute
Say I have a "FireLaser" event, and from script I have
m_FireLaserEventAttribute = m_LaserEffect.CreateVFXEventAttribute();
m_FireLaserEventAttribute.SetVector4(colorAttributeID, m_greenLaser); m_LaserEffect.SendEvent(fireLaserEvent, m_FireLaserEventAttribute);
but setting aside the script, I am having troubles from the Event Tester already, and I'm sure that if I solve this trivial error there I'd be able to solve it into the code too
"Inherit Source Color (Set)" doesn't seem to do anything
I've had this problem many times before. i make a VFX graph. and it wont render when i press play... Why does this happen?
It might not be framed in the camera view, check your bounding box
bounding box of the effect, if it doesn't fit wholly in the camera it gets culled
change the values in that section
also, notice the tiny (L), you can choose whether you want the bounding box to be computed in local or world space by clicking on it
Sorry, just putting up also with my problems here
post graph
I have multiple cameras, is there a way to dictate what camera its referecning for the bounding box?
I have a suspicion its using the wrong camera
you forgot the UpdateParticle Block
even if you don't put anything in there, it is mandatory
for real?
so it seems
You're right
Back again on the VFX EventAttribute issue
Here's the situation: I want to use the Event Tester to set the built-in color variable and spawn a single particle with a specific color
Here's my testing setup: no matter the value I put into color, the outcome is always a white ray
No matter how, it refuses to pick up the color value and instead outputs the default white
On a related note, every time I modify something in the graph these warning get spewed out
Update: it doesn't even work with other parameters, can anyone help me please?
Last Update: EventAttribute payloads are absolutely broken and cannot be used, I've resorted to setting the property on the emitter manually rather than wrapping it into an event
but still, without Event payloads I can't absolutely set per-particle values from script
i have a simple particle system in VFX graph, i need it to be world space. But when i set it to world space its not eminating from where the VFX graph is, its spaening it at the objects root position
How do i fix this?
set the position of the particles in the initialize block
or whatever it's called
been a while since I used VFX
Once again you a g, thank you
Hello everyone! I'm sort of a level designer who can't code 😄 I'm trying to create a scrolling background made of 2-3 layers. For that, I need to extract 2-3 corresponding images from a scene. I've spent several hours reading/watching tutorials and tinkering on my own, to no avail. Could anyone please help me?
What do you mean "extracting images from a scene", which tutorials are you looking at
Basically I want to create a scrolling background that looks like a part of the scene (as in made of the same assets, terrain, etc) , just more distant. It's for a side scroller with relatively few assets, and even that little was not made for game development.
I was trying to use reflection probes (and sometimes the camera) to take snapshots of certain sections of the scene, but I cannot transform them to .jpg files.
I'm trying to go along this to come up with the images:
https://www.youtube.com/watch?v=-ZEtUZBcC7A&ab_channel=DumbGameDev
The tutorials start off with having images already available to make the scrolling background:
https://www.youtube.com/watch?v=P3LXGbSA4c0&ab_channel=JasonWeimann
https://www.youtube.com/watch?v=RXNXEIwOLMA&ab_channel=AwesomeTuts
https://www.youtube.com/watch?v=32EIYs6Z18Q&ab_channel=MadFireOn
https://www.youtube.com/watch?v=zit45k6CUMk&ab_channel=Dani
https://www.youtube.com/watch?v=HrDxnMI7pCc&ab_channel=ChargerGames
https://www.youtube.com/watch?v=nGw_UBJQPDY&ab_channel=quill18creates
Is it possible to extract an VFX frame as a 3D gameObject? I'm working with the Record3D app & looking at trying to save a VolCap frame as an 3D object.
A few more questions: is it going to have a perspective camera, an ortho one or is it a VR game?
Perspective camera
Ok so you're going to have a collection of pictures, each taken at a different depth, so that you can later do a parallax effect
Yes, but I'm still struggling with taking those pictures 🙂
So, first of all, avoid JPG, why would you muddle up the result with artifacts when you can have crispier results with .png
Second, have a look at Unity Recorder
it's an official plugin, you can find it in the package manager
When I open the Recorder window, I get tons of error messages
Well, that's because you've imported the sample but not the package itself
have you pressed "import" in the package manager window?
Turns out I've already had it - so I updated it to 2.5.5
I removed 2.5.5 and installed it again, it's working now 😄
Where can I set depth?
You don't
I just move the camera around?
Build a dummy scene for your background
separate the objects in groups based on their distance
keep the camera in one point, then take a screenshot with each group isolated
you don't want to move the camera around because you don't want to break the perspective
Oh, I see
Is it normal for the "STOP RECORDING" button to remain greyed out for long?
It says the frame is processed
I've set it to single frame
Ticked Exit Play Mode
If I stop play mode, I still don't see anything in the designated output folder
I can see the image in the Game window
Is this something I can accomplish in VFX Graph with an exposed property only?
Sorry, pretty new to VFX graph. Trying to wrap my head around this. I'm trying to make a VFX that replaces the trail renderer, which had limitations/problems for my project
I've got something sort of working, but I can't figure out why the trail abruptly ends and restarts
@nocturne yarrow Sorry derp, not sure. See you here and in general, not ignoring, I just don't know.
best thing you can do is continue working through it, and updating your post here with new bits (it seems you're already doing that which is good).
I did figure it out, it just took all day. VFX graph is suitable for making trails 🙂 although in URP, they currently must be unlit, which kind of sucks for my purpose.
I also think the performance is worse than just using a trail renderer, but it does fulfill my needs.
depends, might use less CPU budget, but uses more GPU budget
VFX graph Lit material support for URP is being worked on right now. in fact VFX graph will soon support any Shader Graph material.
Right but my game is more GPU bottlenecked so not really a win for me 😅 I am looking forward to new versions of Unity that support lit VFX graph materials, supposedly in 2021.2
the most annoying thing is that adjusting the alpha on this style of trail didn't look very good
my particle is white, and blend mode additive, but transparent particles took on sort of an ugly beige/grey color that I can't really explain
really simple question, how can I give particles a random rotation in VFX graph?
nevermind. Adding a "Set angle random per component' to my particle init and changing the channels to Z worked
Not sure where to post this, but anyone know how to make it so trails only render in local space?
I'm getting this effect when moving with my vehicle throughout the map, even though the trail only emits when an attack animation is playing.
Does anyone have the documentation for attribute blocks? The link is dead in the docs
^^ dead link
Has anyone tried u.movin by leetful for UI fx similar to Lottie (https://airbnb.io/lottie/#/)
https://github.com/leetful/u.movin
Can't figure out if it's mobile compatible before I start testing
version 6.9 is very outdated at this point, but search engines still link to old documentation (in general) for reasons i won't go into. you can find the latest vfx graph docs here. this link is also always pinned to the #✨┃vfx-and-particles channel here. Then navigate to Node Library, Block, Attribute, and you'll see all the reference docs for the Block nodes dealing with attributes listed https://docs.unity3d.com/Packages/com.unity.visualeffectgraph@latest
Looks like a temporal anti-aliasing artifact to me
is there a node that can output 1 out of an amount of values that were put in based on a int variable
1 2 3 4
hello , i need some help on making the water splash effect with particle in 2D , which look like this , which spawn when something hit the water surface
Does VFX Graph have same features as Geometry nodes in Blender?
Message #💻┃unity-talk
not really. vfx graph is primarily for particle systems and rendering dynamic but simple instanced geometry (usually particles or particle strips / trails.) it's not currently intended as a general solution for procedural geometry generation like the geometry nodes in blender or houdini.
what is vfx ?
vfx = visual effects. often things like explosions, magic, particle systems. water, fire, smoke, destruction, swarms of small objects like birds, insects, etc.
thanks
Thanks
Almost might be easier using a line renderer and bloom :P
Hmm
@nocturne yarrow have u tried setcoloroverlife? https://www.raywenderlich.com/9261156-introduction-to-the-visual-effect-graph
Not really a "speed"
But if game object is moving can for instance use it to make trail diff color as it moves away from player
^ maybe age over lifetime as well
is there any block graph that can retrive one specified position data from a point cache with given index?
So I'm sure most of ya'll know that flares stay the same size regardless of distance to the camera... so what do ya'll do? I know you can resize them but doing that for thousands of light flares would be very slow. What is my solution here? I need it for care headlights, streetlamps as well as traffic lights.
Visual Effect graphs have "Set Color" / "Set Alpha" blocks that seem to operate on hidden shader attributes, named respectively color and alpha, how do I make a custom vfx shader graph that correctly exposes these parameters?
The best I can do is exposing my own parameters and drive them from outside, but they don't interact with the aforementioned blocks
To be clear: this works, Set Color over Life affects the particles
Custom shader graph, doesn't work because it's not clear how the block passes information to the underlying shader graph
Hi, I'm trying to create a shockwave effect using particles. I have a sprite that grows in size over time, but for some reason, it gets clipped when in game. The sprite just visually does not get any bigger past a certain point in-game, even though it should be way bigger than the player.
Hey Everyone, I am trying to use some VFX in a school project I am working on but am running into some trouble with the project.
Anytime I try to use Particle Strips I get the following Error
[AwesomeOrb] [Trail Bodies] Update Particle Strip.compute: Kernel at index (0) is invalid
[AwesomeOrb] [Heads] Update Particle.compute: Kernel at index (0) is invalid
It works fine in a different project, but not this one. Even after removing and reinstalling the VFX Graph is still gives errors.
Anyone have an idea what may be going wrong with it?
whoa, that is looking really darn cool. is that made with unity vfx graph or a different program?
how do i make vfx stop and start in c#
@deft pilot instantiate functions
what?
Unity is the ultimate game development platform. Use Unity to build high-quality 3D and 2D games, deploy them across mobile, desktop, VR/AR, consoles or the Web, and connect with loyal and enthusiastic players and customers.
What do you want?
it is not particle system it is vfx
Same thing only as array
i want it to play once, than destroy itself or stop playing
do u have an event system?
it is looping, and some of the particles go for longer than the others so if i played it for .4 seconds before destroying it, all of the particles would play, but the orange particles would restart
so like
my "example"
instantiating vfx graph on hit
with a game manager
private void OnTriggerEnter(Collider other)
{
Vector3 newParticlePos = new Vector3(pos.x, pos.y, transform.position.z - 0.01f);
Instantiate(GameManager.Instance.hitParticle, newParticlePos, Quaternion.identity);
Instantiate(GameManager.Instance.vfx[0], newParticlePos, Quaternion.identity);
}
else
Instantiate(GameManager.Instance.hitParticle, pos, Quaternion.identity);
Instantiate(GameManager.Instance.vfx[0], pos, Quaternion.identity);
GetHit(Random.Range(pInfo.tDmgController.minGivenDamage, pInfo.tDmgController.maxGivenDamage));
} ```
how do i call the events in c#
this is particle system
mixed with vfx
in a gamemanager
public ParticleSystem hitParticle;
public static GameManager Instance;
public List<GameObject> vfx = new List<GameObject>();
private GameObject effectToSpawn;
private void Awake()
{
Instance = this;
effectToSpawn = vfx[0];
}
} ```
so I use arrays
cause might want more than one
this for a 2.5D fighter with the vfx being spawned on collision with enemy, along with some hit particles
can use whatever data struct fills ur need
gonna need to instantiate it too tho
im watching a VFX Graph tutorial and hes using a set size node but there doesnt seem to be one for me...just a get size..has it changed to something else?
got it, i had to hit space on the actual appropriate node cluster, just right clicking wont bring them up and auto-add them to the appropriate area
👍 Was writing that just now. 😄
thank god i got used to Shader Graph before trying this, otherwise might have spent a week gritting my teeth over that instead of just asking XD
You need to be using UnityEngine.VFX to call C# methods on effects from VFX Graph.
Then you can do something like VisualEffect vfx and these methods.
vfx.Play();
vfx.Stop();
vfx.SendEvent("MyEvent1");
vfx.SendEvent("MyEvent2");
You can also set which event triggers when the object becomes active in scene.
That is on the VisualEffect asset itself
omg thanks so much
yes with shader graph and vfx graph


holy hell, this looks amazing!
Big fan! 
I didn't know stuff this amazing was possible solely in unity without extra programs. that's pog
VFX Graph is awesome
Thanks 🔥✨
not really because he take a lot of performance
Hi. I need help with this:
I am making an effect for shooting, so I am firing a particle so that it looks like a bullet travelling. Now if I have a weapon like a shotgun I need to fire multiple particles, the thing is in order for the particles to match the direct of the rays being cast I need to be able to tell the VFX component what velocity to apply to each particle but there's now way (that I can find) of setting a property for each individual particle from a script (or from the editor for that matter).
Any help or suggestions are appreciated
Could you elaborate?
What would be your preferred way of making vfx and by how much would it preserve System resources compared to vfx graph? And why did you do it in vfx graph then?
how do your bullets work?
is it raycast and your bullet travels so fast that precision doesn't matter (too much)?
is it raycast and your Bullet should follow the point of impact of the raycast?
is the bullet a traveling object that collides and then runs a colliding script?
It is the first one (though I would love to make it the second one). Basically, I use a tiny delay between the player clicking and the ray being cast. I shoot the particle as soon as the player clicks, but I cast the ray a couple of milliseconds later, I set the velocity of the particle using an exposed property, so that the particle is guaranteed to travel in the same direction as the ray is cast (but it is not guaranteed to be at the point of impact by time the ray is cast).
Hey so this texture im using for/with a shader graph has this black border around it.. i got told to check "Alpha is transparency" in the import settings but sadly that didnt work.. could anyone help?
Hi all, just experimenting with VFX Graph, I output a single particle mesh sphere and i'm trying to figure out how I would apply a Fresnel-style look, currently im using gradient color but it doesnt seem to work, anyone know how i would achieve that?
You can create a shader with your fresnel and apply this shader to the particle
You have to tick "Experimental feature" to see the shader option
yeah, i was wondering if there was a way to have the particle system itself generate it
Lets wait to see if someone else has any idea, i'm a beginner so I don't want to give you bad advices ^^
But I think the usual way to give an effect to a particule is to use a custom shader
it's all cool, im familiar with ShaderGraph so could do that easily, but i wanted to see if i can make everything drag-and-drop so it doesnt rely on external materials etc
I managed to do suns 🙂
WoW
Now that's a nice looking sun !
You want to replicate it with only particles ?
no it's all particles already, im working on a Black hole and just wanted the fresnel for the outer whiteness
White Sun 🙂
each one varies but it's always under 1mil.
I think the highest I have so far is 720k particles
anyone know in VFX Graph how to change the culling? i want it to work but at the moment it only uses the effects centre as the cutoff so my effects pop in/out a lot, is there a way to change it so it culls if none of the particles are visible instead?
show a picture
@past owl Heres a subspace tear I made, you see the scaling box in the middle of it? if that box moves off screen the entire effect gets culled and pops out, is there any way to keep it rendered as long as a single particle is on screen? that way it should only get culled when the entire effect is off-screen
i dont understand what you mean
ok np
It's all about the Bounds of the visual effect
If the Bounds are not in the camera frustum it will be culled
hmmm, the bounds are at 20000 each side....
ok NP, seems my scaling was a little off, sorted it cheers
:+1:
Hello, I'm trying to orient particules toward the center of a sequential circle they spawn from
I'm using this setup :
But for some reasons the Look at throw me an error
That I don't understand
not really any fixed number
average
anyone know how I would change the render space of effects in VFX graph? so if the effect moves the particles will remain in world space
On some node/blocks in the top right corner you have a local/world toggle.
cheers @vestal solar !
Hey i've spend 3 months of getting "good" at vfx to recreate Vergil's Judgement Cut from DMC5SE and this is my final result:
I would love to get some feedback or critique on this since this is my first vfx ever 🙂
In tribute to the amazing work done by the team that worked on DMC5. I tried recreating Vergil's iconic Judgement Cut for my own game. Could still do a few things different/better but im happy with how it is right now. Everything is done using Unity 2021.1 Beta-Version (VFX Graph) , Photoshop and Blender.
Discord: Mirko #1513
literally make a bigger bounding box
or, there's a more "cursed" way to do it
i sorted it yesterday, thanks 😛
Has anything changed for Visual Effect Graphs in Unity 2021?
Are lit particles there yet?
i believe so , i see a couple of Lit options
@tall summit
anyone know the process for optimization in VFX Graph? in shader graph both paths are computed on a branch then the result displayed so its best not to stack effects unless necessary, does the same hold true for VFXG? if I made say, 6 different types of sun inside a single graph, then hooked up a bunch of bools which change the spawn rates to 0 / >0 depending on which is selected, would it be better to have an individual graph per sun?
just spoke to a friend and apparently its better to have individual graphs as the Capacity field is what takes the performance, it "reserves" the required memory for it, which explains why theres no Input option for the capacity field, it's set in stone once the game starts.
hi, im new here. i try to setup a a vfx graph that uses the depth position node to spawn. but i cant get it to run. the particles spawn all over the screen but i want them to spawn at untransparent positions of the depthbuffer. how can i do that? greetings from germany
i also read that the depth buffer based nodes are still under construction
Hi, I'm getting no Trigger Events or GPU components showing when I hit space and search to add one. Anyone know what the issue might be?
@rustic ore do you use urp?
i think you have to change some settings ion preferences
i think it was experimental nodes
yes thats it
Done, awesome. Thank you
youre welcome bro!
I'm also trying to find any good tutorial sources for adding lights to a VFX Graph. Any suggestions?
damn shame
yes
i got the damn depth buffer working, but i still dont know what the problem was. help apreciated. i read the node descriptions 40 times!
Why didn't they provide a way to make vfx particles act as light source, like Shuriken does? Is it because in the end there's really no use case for that many point lights?
Aside from the obvious performance hit
I mean, if you have that many lights swarming around you might as well emulate the effect with a single flickering point light
@tall summit im fairly sure VFX Graph uses ECS at it's core and thats not currently compatible with standard point lights.
You may find when they get lights working fully in DOTS they will add lights to the VFX Graph.
This (i think) is also the reason VFX Graph particles wont collide with standard colliders / rigidbodies, but they do with ECS ones.
This VFX appears to fade-away with distance. I know it is not the camera far-clip, since other visible vfxs (the stars) are further away and visible. Not clipping all at once, so I don't think it's a bounds issue. Seem almost like light attenuation? any ideas how to fix it/possible causes? https://gyazo.com/25c73f11bac8eaff32640964fd6f0c36
^ by @prime dome ❤️
could be the mip mapping in the texture that is uesd for the paricles
i have seen this with cutout materials in particular
but you don*t seem to use a cutout material
it's using the default particle and default VFX shader.. I dont think I change the import setting on the default particle, I'll make a copy and use that.
good idea re mip maps- thank you!
@inner topaz Looking like that did it! thanks again!
glad it works now 🙂
Awesome Mirko, do you have a breakdown of the process? Or how did you compose that? Something like:
- Texture for Ground cuts
- Plane with the distortion shader
- Mesh for the slashes
I am very interesting on those type of VFXs.
@viral coral Sure, just dm me
VFX graph doesn't currently use ECS or DOTS (that will likely change in the future.) The reason there is no Particle Light Output for VFX graph is because Light instantiation in Unity happens on the CPU, but VFX graph particle simulation happens on the GPU. This is distinct from how Built-in ParticleSystem (fka Shuriken) particle simulation is on the CPU, so particle data is already where it needs to be to instantiate Lights from the CPU.
VFX graph does allow for Spawn events to instantiate lights, just not individual particles. This is because Spawn events are on the CPU, but individual particles exist only on the GPU. (and Light instantiation happens on the CPU.) Per particle lights or a random sampling of particles for instantiating Lights could be possible in the future; making it work is tricky but not impossible. the VFX graph Roadmap shows that this feature is under consideration https://portal.productboard.com/unity/1-unity-platform-rendering-visual-effects/c/110-particle-light-output
A new particle output to render particles as lights.
This is the main reason, copying data from GPU to CPU memory has a hefty performance penalty in most cases, in addition to the cost of rendering many real-time lights. there are non-trivial ways to mitigate / work around this.
@rustic ore @prime dome @fluid lagoon see my messages above for more info on VFX Graph Particle Light Output. I also personally already came up with my own modifications that could be used to instantiate per particle lights from VFX graph, but as mentioned, it has major performance limitations, and I'm using internal Unity classes that aren't intended to be accessed.
Thanks, landan. Very useful!
Thanks for the explanation 👍
how do i give this more segments?
strip capacity doesnt do anything
i try make it a quick swipe
but then it looks like crap
cause of the segments
I have a noob q with standard particle systems. I've got a fireball effect that has a sub-emitter (child prefab) acting as the fireball trail. The trail emits when setting a starting speed on the fireball, but not when setting starting speed to 0. I want the effect to be used as a player ability, so starting speed is not relevant, but I can't seem to get the fireball trail to emit based upon parent transform... if that makes any sense? Thank you
@modest jolt try changing the rendering space from local to world on the trail
great idea, thank you!
hi, i made a zbuffer test with a property binder camera. i have a zbuffer and the geometry of the particles is fine, but they spawn behind my camera... somebody know why?
i can add position, but its kinda sad
is there any resource detailing visual effects graph compatibility with the urp? and maybe a roadmap as well
@eternal nebula what do you want to know? the only things urp cant do are: lit particle outputs and distortion out
full URP support for Visual Effects Graph (GPU compute platforms only) is in progress right now. you can track this on the vfx graph roadmap here, which is also pinned to this channel for future reference: https://portal.productboard.com/unity/1-unity-platform-rendering-visual-effects/tabs/9-visual-effect-graph
Product roadmap and feature requests. Welcome to our product portal.
@eternal nebula and here is the new Unity Platform Roadmap landing page that can direct you to this and other product roadmaps: https://unity.com/roadmap/unity-platform
Hi, I was wondering if anyone knew how Unity created the signed distance field as used in the genie VFX Graph example
I want to experiment with it a bit and think it would be cool to learn how to do something with SDFs
@jade crypt You can download the full demo I believe if you google it, it should contain the graph so you can dive into it and see how it works
I did. I am asking about the SDF they use
Idk how they created it
I was looking at SDFs on google, which gets added into the "Conform with Signed Distance Field"
thank you, this details everything i wanted to know
thank you for summing it up
When I use GPU Event. Is the capacity in the "sub particle system" per Visual Effect or is that capacity for each Parent Particle.
I've been running into some insane memory issues when trying some things out.
So if I have capacity of 50 on the parent system and then 100 on the GPU event particle system, does that mean that each of the 50 particles can have 100 particles spawned or is it only 100 in total for all 50.
you can bake it houdini. but this kinda sux because you cant export fbx in houdini free version, so you only can change your mesh outside houdini
you can get the spawn count. theres a node for it. this way you can control the spawn amount
is it possible to print values with custom node?
Is there a way to hotswap pointcaches (with same properties) on runtime?
I'm thinking that I would have to make compute shader and some render textures to get the data in the graph.
Isn't that exactly what the importer does with the pointcache? Or does the vfx shader gets baked with the pointcache data inside.
@jade crypt fortunately, we don't use FBX format for SDF, so we can still use Houdini Apprentice (the Free version) for exporting SDF or point cache for Unity VFX graph https://www.youtube.com/watch?v=z1Am4DIDEzw
In this short video i show you how you can export point caches and signed distance fields (SDFs) from the free apprentice version of houdini and how you can use them inside the unity editor and the new VFX graph.
As this is my first tutorial video ever made, i appologize for any mistakes and would appreciate you kind feedback!
More updates on ...
nope!
you cant create force at runtime. you only can set position
it would be nice if particles could atract other particles, but its not possible
BUT: YOU CAN USE THE DEPTH BUFFER AS A POINT CACHE
this is true, but not what @slate sable is asking about
also: you can use render texture as point cache( with set position from map), but the format has to be argb half/float
as far as i know, you can only convert the rendertexture via script. using just a rendertexture as pointcache (or set position from map) does not work for me
doing it this way is only possible by baking a pointcache via script everyframe, which has a major performance cost
you may not be able to do this using the point cache node, but under the hood, point caches are just particle attributes packed into textures. so the workaround to this is to emulate what the pointcache does by packing and unpacking data in textures or rendertextures. that will give you the result you want.
no i mean: set position from map. its not the same as point cache. you dont have to bake it. just convert the texture to depth. but the result is the same
yeah, we are on the same page, that's what i just described above "the workaround to this is to emulate what the pointcache does"
and @prime dome is correct, you can use the "set position from map" block node to do this
as an "attribute map" is just particle attributes packed into a texture (map)... and point cache is just a static attribute map
they used a lot of different terminology to describe very similar concepts lol
do you know how to convert a rendertexture the right way?
I'm actually using few render textures right now. Writing to them with compute shaders. And to get them to VGX graph easily, I set them as globalTextures with a script and then use "custom render textures" that can read from them directly and write to custom render texture assets. It's a weird workaround but it works flawlessly. 😅
But right now I have bunch of static points that get generated once on startup with a script and it's a bummer that I can't change the pointcache with script not even once.
can somebody tell me why i cant use "inherit source target position". if i set position to source target position, my particles always conform to {0,0,0}
@slate sable this is what @prime dome and I are talking about. expose a new Texture2D property and assign your rendertexture to it
like so
is the getparticle id needed ?
i dont know why, but this method is just not working for me with a standart rendertexture
thats why i use the "Set position depth node"
you might be able to use Sample Mode: Sequential instead? or Sample Mode: Random if you just want a random sampling. either way i usually prefer explicitly assigning the particle id as the index to the map to make it more clear what's actually happening, and ensure there isn't some implicit nonsense going on under the hood throwing off the exact index
the default color format of the rendertexture may be the problem, it's set to 8 bits per channel which isn't sufficient for particle attribute data
yea i changed the sample mode, but with a standart render texture theres not even a single particle spawning
ahh ok
Oh yeah. That thing. Thanks!
I thought "convert" as in to put them to vfx graph but I didn't realize that not everyone makes the RTs on runtime. 😄
you can assign the RenderTexture to the exposed Texture2D property via the VisualEffect C# API as well
It's a bit more complicated. I think I talked about it here before. We have bunch of stuff generated on runtime and it would be pain to keep track of all the VisualEffect objects. So we can just stick the custom render texture asset in there as default. But thanks for the tips!
@slate sable as mentioned above ARGBFloat, ARGBHalf (aka R32G32B32A32_SFLOAT, R16G16B16A16_SFLOAT) are the best color formats to use for this
but how can i change the format via code? just put a script in the main assetsfolder?
ah ok i think i found it: https://docs.unity3d.com/Manual/class-CustomRenderTexture.html#custom-render-texture
I have a noob q with standard particle systems. I've got a fireball effect that has a sub-emitter (child prefab) acting as the fireball trail. The trail emits when setting a starting speed on the fireball, but not when setting starting speed to 0. I want the effect to be used as a player ability, so starting speed is not relevant, but I can't seem to get the fireball trail to emit based upon parent transform... if that makes any sense? Simulation space to world on the trail didn't seem to help 😦
@dull obsidian thnks for your help! that helped me a lot!
yeah point caches just aren't an exposable property type... you can fortunately avoid using point caches entirely, they are redundant when you can use textures as attribute maps instead with much fewer limitations. (it could be said point caches are a half-baked, or even... pointless feature 😅 ).
absolutely true!
As long as all the visual effect objects have the same input attributes property, keeping it simple like that sounds ideal. you'd only need to spin up some sort of "VisualEffectManager" (to say, assign different attribute maps to vfx objects from an array of attribute maps) if different vfx objects needed different input properties at runtime.
it really wouldn't be that complicated of a script if you did need something like that down the road.
@slate sable This is an upcoming feature to keep your eye on by the way, since it will reduce cpu performance overhead for all of the vfx objects you are instantiating at runtime: https://portal.productboard.com/unity/1-unity-platform-rendering-visual-effects/c/107-effect-instancing
Omg I want that right now haha. I just realized that I'm dumb. Since i ran into performance issues with the multiple instantiated effects approach. I moved to a single VisualEffect yesterday so I dont even need these custom render textures. We are dynamically burning down bunch of procedurally generated trees. I'll head home now. Too much work and I'm starting to get confused. xD
no worries, yeah that's what you have to do in the meantime.. combine everything into one VFX graph. and I don't think it's a wasted effort --the team seems to have a lot on their plate right now for 2021 so my guess is Effect Instancing will not be released until 2022.
Anyone know how to kill all particles when a Stop event is received?
For VFX graph.
Set Lifetime = 0
Use the Stopevent AS a Component INSIDE the Graph. Connect IT to an and and invert the Output to Zero. Send the Zero to nlifetimenode
So from C# I call the VisualEffect and there's some method for setting the lifetime of the graph itself?
Sorry sent that just as yours came in let me see if I can follow that along. Thanks for the guidance.
ok so just to make sure I get that right, is there an event node I'm missing that works inside the graph with other properties etc, or are you saying forget using an actual event and instead just call (for example) a bool that controls an output to lifetime, and when the bool switches it goes 0?
The Event context (I think is the jargon) doesn't seem to mix with the normal properties.
Usualy the Main Stop Event Kills all particles
And yes you can make use of Events INSIDE vfx that are sent from outside
Like Stop event
AS a node
Can you tell me the name of the node I'd be using or maybe do you happen to have a link to any examples?
Look For Keyword event when adding a note
If the node ist Missing you May have to activate Events in the preferences
Is it just me that I find it ridiculous that this isn't there by default?
(this being, kill all particles on an event)
Depends und what you try to do
ok so just to be sure I get this right, the node itself is called "Look For Keyword"?
I really appreciate you taking the time, by the way.
No sry: Event ist the keyword
What I'm really trying to accomplish is to pass ownership of existing particles to the new system.
Also: GPU event
My testing and reading indicates (and I may be wrong on this) that the best I can do is pass an event and inherit the prior particles' values in the new system.
But the problem I had is my existing particles keep moving how they were instead of "blending" with the new particle system's forces.
Yeah that's enabled.
I have the event node
But when it runs, while the systems "switch", the old particles keep behaving the old way until their death.
Inherit source speed
Or velocity
In case this helps paint a better picture.
The Inherits are in different areas for testing right now. I tried both in Update and both in Initiatlize.
Ignore the "OnStop" event naming I just did that for a test it was named otherwise before.
So that brings up a separate question: Is there a way to trigger a GPU event other than particle death and over time?
The idea is to switch between several distinct systems, but passing the particles over between them.
I'd need to control it via C# at some level.
I've had decent results with an overly complicated bool tree, but this would be much more elegant if it's compatible with the GPU events.
Sidenote: I owe you a beer if you're ever in S. Florida.
You know what that was actually perfect. I can actually wrap the logic up behind an int tthat I can pass to
Hey thanks for your help @prime dome . That got me going.
youre welcome. if i ever will be in carlifornia: i will drop by
Hope this isn't too stupid of a question. So I've been hearing that unreal has really good systems for vfx. However right now my games are all in unity. Would there be a way to import to unity if I find something really cool, and make it/ prototype it in unreal?
youre better of recreating them
i still have the problem with SetPositionFromMap and rendertexture. i have set the format to argbfloat. but i just get a line of particles instead of the position from the map
you tried using get attrib particleid to use as the index?