Search Unity

Feedback Wanted: Visual Effect Graph

Discussion in 'Graphics Experimental Previews' started by ThomasVFX, Oct 21, 2018.

  1. shadewing23

    shadewing23

    Joined:
    Jan 30, 2019
    Posts:
    6
    Also has anyone trying on Decal Output? I'm trying to made an burnt floor but the sprite didn't display if the camera was too close. (I did scale up bound size, result is the same)
    Capture2.PNG


    And it display on the capsule even I uncheck the Receive Decals, any help on it?
    Capture3.PNG
     
    Last edited: Aug 15, 2019
  2. volvis

    volvis

    Joined:
    Jan 10, 2013
    Posts:
    5
    Hello! Does somebody know what's causing this issue? I'm creating a build for iOS13 and the app stalls visibly (5 secs or so) every time it encounters a new VFX graph. This happens only once, and there's no stall when accessing the scene later.

    Unity 2019.1 / VFX Graph 5.16.1

    This error message seems related:
    Metal: Error creating compute pipeline state: Compiler encountered an internal error.
    (null)​
     
  3. 1000cranes

    1000cranes

    Joined:
    Jun 16, 2015
    Posts:
    5
    Hi I'm having issues with getting accurate reflections with the VFX-graph. I'm creating a simple bubble effect using a lit mesh output with a default unity sphere mesh. All my spawned bubbles have cube reflections. I've included my output settings below. My scene has fresh reflection probe in it which accurately updates any regular HDRP materials but any VFX graph spawns still have issues with their reflections. Any ideas?

    VFXGraph_Reflection_Issue.PNG BubbleMeshOutputSettings.PNG BubbleSettings.PNG
     
  4. unity_IpxdANggCs1roQ

    unity_IpxdANggCs1roQ

    Joined:
    Feb 19, 2018
    Posts:
    11
    Hi.
    VFX graph doesn't seem to work with vulkan android device on 2019.3.0a12(Universal RP 7.0.1)
    I've tested VFX graph with my own project and simplest universal RP default scene. It correctly works on unity editor, but is not drawn on my android device.
    [2019.3.0a12(Universal RP 7.0.1)]
    My project with VFX : app launch -> first frame is drawn -> blackout and crash
    My project without VFX : OK
    Default project with VFX : only vfx is not drawn
    [2019.3.0a7(LWRP 6.9.0)]
    VFX : OK
    Is this related to recent SRP change?
    my device : Zenfone 6 android 9, Windows 10
     
  5. Sinbad3D

    Sinbad3D

    Joined:
    Oct 11, 2016
    Posts:
    15
    Hoping you still want general feedback here, I have a few issues / suggestions. I'm pretty new to VFX Graph but have managed to create some really nice effects with it and generally think it's great, but there are a few niggles it would be great to iron out.

    1. Some options are "hidden" in the Inspector

    I was having trouble figuring out how to change a Color Over Lifetime block to multiply colours instead of overwrite them; I was sure I'd seen it but couldn't for the life of me find it. Turns out it was hiding in the Inspector, when you select that box, and when you change some of the options in the inspector, the content of the block in the graph changes.

    Given that you tend to need quite a lot of space for the VFX Graph window, the Inspector is often obscured (for me) so it's really easy to forget or not even realise that there are more options there. Perhaps there should be an option to add an inspector to the RHS of the VFX Graph window itself, or at least have some kind of indicator that more options are available than are visible in the graph?

    2. Initialise in Local / Update in World

    It seems to me that it's a really common requirement to spawn / init particles in local space, but simulate them in world space. You often want to spit particles out of a moving object but have them be detached from then on; this is how the old particle system worked. In VFX initialise and update change between local/world together, so the way I addressed this was to set everything to world space, and add a parameters which drove the Initialise block's transforms. This is "fine" but it seems an unnecessary faff when this is such a common requirement. Maybe I missed something?

    3. Customise attributes?

    I had a situation where I wanted particles to change between 2 colours over time, but I wanted those two colours to be defined per particle so I could have a single system. Now, I can have a single color attribute per particle and use a global gradient to ramp that (and that's what I settled on), but really I wanted to be able to hue shift to another per-particle colour over time as well as this global ramp. Attaching a full gradient per particle would be too costly of course but I think there might be space to add one extra colour per particle and use the age myself to lerp them, especially as I'm not using much else. Would being able to customise attributes more be a possibility in the future?

    Possibly I could work around it using a global 2D map of colours (age transition left/right, one row per colour set?) but that's a lot more complex to set up and harder to make dynamic when just 1 extra colour on a particle would do.

    4. Please add SetColor

    A small thing since SetVector4 works and the conversion is implicit, but I was scratching my head and Googling and I'm sure lots of people will too when a quick overload will solve that in no time :)

    Thanks!
     
  6. ThomasVFX

    ThomasVFX

    Unity Technologies

    Joined:
    Jan 14, 2016
    Posts:
    25
    Yes, that is indeed an issue if you work with an undocked window. what you can do (that I also do) is to add another inspector docked into the left/right part of your detached window.
    VFX Graph has so many options that we have to carefully choose what we expose or not in the graph, and as the inspector is mostly often used in the editor, we chose to use its space in order to display these options based on selection of a visual element in the graph.

    That was indeed an issue that bugged us for a long time so we had to use Transform and LocalToWorld and WorldToLocal operators in order to perform space transformations. Now, we have spaceable properties in the set position blocks. Instead of using a Vector3, we use a Position which is a Vector3 and a Space (L/W icon as a toggle left to the Vector3 field). So when you use a position you express a value in a space. For instance a 0,0,0 Local in a world-space simulation will perform the local-to-world space transform automatically.

    upload_2019-8-22_17-56-54.png

    Right now, we have a Get Custom Attribute Operator and Set Custom Attribute Node that are part of the Experimental Features (in order to activate them, go to Preferences/Visual Effects and Check the Enable Experimental Blocks/Operators checkbox). We are working on a more elegant solution that shall come a bit later.

    upload_2019-8-22_18-0-16.png

    We could add the prototype indeed, as we only supported low level data types for setting properties. But indeed we could add a prototype to set a color.
     

    Attached Files:

    Sinbad3D likes this.
  7. Sinbad3D

    Sinbad3D

    Joined:
    Oct 11, 2016
    Posts:
    15
    @ThomasVFX Thanks for your fast and comprehensive replies!

    I completely missed the block-level L/W toggle, that's quite subtle. Maybe it should be bigger or a bit higher contrast? Maybe I'm just not very observant ;)

    The docked inspector is perfect, didn't realise you could do that. May I suggest an inspector is docked in the VFX window by default? It's a lot easier to remove if you don't want it than to realise there are things missing that you can't see in the graph. Might help new users trying to find things, or maybe it's just that the documentation is quite light at the moment and doesn't mention the inspector at all AFAICT (just the blackboard and component panels)

    I look forward to the custom attributes finding their way out of experimental mode :)

    Thanks again!