Feedback Wanted: Visual Effect Graph

Feedback Wanted: Visual Effect Graph

The Visual Effect graph is the next-generation entry point for visual effects in Unity. It is targeting modern platforms and relies on Compute Shaders and the High Definition Render Pipeline for maximum performance and visual quality.

Visual Effect Graphs are a new kind of assets that contains one or many components (Mesh, Particle Systems, …) of a fully customizable, standalone effect. Every graph embeds the behavior, shaders, parameter interface and events of the effect template.

You can use these templates in the scene by referencing them in a Visual Effect component, then adjusting the parameters you have exposed to customize any instance.

Preview

This piece of tech comes up as a preview for 2018.3. So it is not best suited to be used in production at the moment. You will probably encounter bugs and crashes, so feel free to report them to us.

Also, some parts are subject to refactors and changes in the near future : you can expect breaking changes, although we will try to keep them as a minimum :slight_smile:

Compatibility

Visual Effect Graph can be used starting 2018.3, by using the Visual Effect Graph package and can be used on build for the following platforms:

  • PC Standalone Windows (DX11, DX12, Vulkan)
  • PC Standalone Linux (Vulkan)
  • MacOS (Metal)
  • PS4 and XBoxOne

Currently, Visual Effect Graph is not compatible with the following platforms:

  • Android Vulkan
  • Any platform that does not support compute shaders

How to get the Visual Effect Graph?

You can access the Visual Effect Graph preview for now as a local package, by cloning the Scriptable Render Pipeline repository under the release/2018.3 branch.

git clone https://github.com/Unity-Technologies/ScriptableRenderPipeline.git --branch release/2018.3

If you do not want to use github to recieve updates you can download a zip containing everything here.

Feedback

  • Any Feedback is appreciated! Feel free to participate to the discussions on this forum thread.

  • You can also report bugs using the Unity Bug Reporter by mentioning the Visual Effect Graph as package.

  • If you do something cool, record it then post it on social media using the hashtag #VisualEffectGraph

5 Likes

is this usable at runtime and can be extended to different purpose? lets say controlling a dialogue

Not sure if this is planned but it would be nice if shader graph can create shaders that work with the VFX editor. This might be more of a shader graph topic but since the VFX shaders are directly linked to the graphs, this seems like the place to mention it and see if there are any plans for that.

Question: Is there support for frame blending with motion vectors to create effects like this?

9 Likes

Yes they are plans for tight integration of shader graph within vfx graph. We’re aware this is a major feature missing.

For motion vectors generation of flipbooks, we are looking at it too. Probably within the VFX toolbox

6 Likes

Is there a way to have the effect be local to a specific designated transform that is NOT the Transform the effect is on? For example, in Shuriken, we can choose Local, World, and Custom Local (which is a reference to any other designated Transform). I’m only seeing Local or World options in the VFX Graph, and am not sure how to achieve this.

I would love to look into it. Is there a way to grab the “Unity Wrecked VFX Demo” project as well? It looks stunning! You really did an amazing job with it.

Are there any other templates than the 4 inside the Visual Effects Graph/Editor/Templates folder called “Empty Particles System”, “Simple Particle System”, “Simple Static Mesh” and “Simple Swarm Particle System”?

Would be cool if we could get hands on that pintable vfx :open_mouth:

Will Visual Effect Graph be available for the standard rendering?

This system generates compute shaders that are run on the GPU. As such it is rather suited to specific tasks, largely particle related at the moment. The use of graphs & nodes for other sorts of programming in Unity is clearly a thing that will probably evolve further over time, but this is the wrong place to look!

I love this system! I’m sure I will have plenty of feedback and questions soon but for now I just wanted to say how wonderful it is.

1 Like

@

Right now, we do only support local and world, but you can still simulate in local space, then apply transforms in your output context on whatever attributes you need by using set nodes, then feeding in an expression using transform operator, taking as input your custom local transform and the get operator. So far it’s doable even though it could be straightened up. We’ll look into that matter

Sadly, not at the moment.

These template are actually used in the spacebar menu to spawn already configured systems in your graph :slight_smile: The visual effect graph package contains the mimimum and does not ship with broad samples, but we shall provide an actual samples project in the future.

It is supposed to be compatible but only for non-lit outputs. We only support HD Render Pipeline for now.

1 Like

I hope this will be the ground work for more general visual scripting and visual finite state machines.

It looks good and with very fast iteration times

Hello!

Is there any downloadable sample? maybe the asset in the first picture?

I note that there are some vector field importer utilities. May I enquire as to what 3rd party tool(s) were used to make the .vf files that the utility can convert to textures for use with the Visual Effect Graph?

edited to add - these seem to have been used in the test project to bring in a couple of SDFs (of a teapot and unity logo) but I am curious about the .vf format used.

Please don’t forget to add future related to SDF. like generating SDF from mesh or particles system to be use in Visual Effect Graph

1 Like

Or if they dont plan to offer that, maybe see if Keijiro is prepared to do some more work on the following project so that it can generate SDFs from meshes that are compatible with the Visual Effects Graph:

https://github.com/keijiro/DFVolume

I did have some partial success hacking that project myself to make it work, but my results were not good enough to share just yet.

2 Likes

Since there are no official fancy sample projects for this yet, I took the liberty of taking some of the more visually interesting scenes from the github test project (that exists in branches such as vfx/2018.3 but not release/2018.3 at the time of writing) and putting it in a .unitypackage file so it is a little easier for people to get. I will share it shortly.

The tests I mentioned:

EDIT - I have removed this package now because I have a feeling the samples have been updated since I made the package and with multiple different VFX versions around it is best for people to get the right versions themselves from GitHub or wherever.

It does include the Unity logo one that you’ve probably seen in presentations.

These were all taken from the following repository. That test project includes a bunch more tests but I didnt include the more basic ones in the above package: https://github.com/Unity-Technologies/ScriptableRenderPipeline/tree/vfx/2018.3/TestProjects/VisualEffectGraph

EDIT - the above branch isn’t the right one any longer either, treat this post as out of date!

10 Likes

Hi! Is it possible to bring in a flipbook of vector fields? I have a 30 frame fluid simulation from Houdini I would like to use to drive particle motion…

1 Like

Is it supposed to work in Standard Unlit rendering in the current version or in the next versions? Because I’ve tested it, it doesn’t work in standard rendering (when I unplug the HDRP Asset from Graphic settings). Particles are created, but they are invisible and for some reason, their emitter stuck to view space.

Any plan to release more information about the data supported by visual effects graph, such as 3D volume, Vector field(.fga), Motion Vectors and etc.?

1 Like