Search Unity

Feedback VFX Graph needs a global sort

Discussion in 'Visual Effect Graph' started by jjejj87, Nov 9, 2022.

  1. jjejj87

    jjejj87

    Joined:
    Feb 2, 2013
    Posts:
    1,117
    3 things I noticed.

    1. I've been using VFX graph in depth lately and realized that it needs a global sort for particles. The flickering of many systems triggering is really hard to beat without a good global sort. I am aware that within a system, you can sort them, but between two different systems there is no way other than merging the two or more systems into one.
    2. Needs a way to warm up VFX. So, when the VFX plays for the first time, it usually ends up in a spike (not too bad but still noticeable). I usually loop through all VFX during loading and play them once but it also means that I either have to make sure that it is out of camera or put up a curtain. I've looked through the API to check on this but I can't seem to find it. Is there a way to do this with grace?
    3. I get many shader warnings on build. Shader warning in 'Hidden/VFX/nukeImpactFX/System (5)/crack': Ignoring duplicate keyword line 'shader_feature _ DEBUG_DISPLAY' - about as many as VFX systems exists. Is there something that I have to do to fix this? 2021.3.12f1 HDRP, VFX12.1.7, DX11
    Thanks!
     
    Last edited: Nov 9, 2022
    Qriva likes this.
  2. OrsonFavrel

    OrsonFavrel

    Unity Technologies

    Joined:
    Jul 25, 2022
    Posts:
    192
    Hello and thanks for your feedback.
    1. Sorting particles isn't trivial. At the moment you can sort particles together if they belongs to the same system.And you have a bunch of options regarding sort ordering when it comes to different systems.You can take a look at this Thread for more information about sorting options. But it's true that better sorting options between Systems could be very handy...
    2. Did you try the PreWarm options that you can find in the inspector when selecting a VFXGraph in the project folder ?
      upload_2022-11-14_12-30-55.png
    3. Will poke the Team to see if we can find something but it might be better if you open a dedicated thread for this issue as it will be easier to answer and reference to this thread.

      Thanks again and have a great day.
     
  3. jjejj87

    jjejj87

    Joined:
    Feb 2, 2013
    Posts:
    1,117
    1. If it is going to be a massive effort to add in global sort then can you guys add a quick workflow to merge the two easily? I have to resort everything in the graph, and each graph is usually about 2~3 screens, the screen space alone gets really hard.
    2. Ah thanks! Didn't see that. I did give it a try late last night but it still seems to cause lags (not as severe) compared to just playing it once during load.

    Thanks for the reply!
     
  4. fleity

    fleity

    Joined:
    Oct 13, 2015
    Posts:
    345
    Could a "simple" (and not necessarily ideal way) of sorting the systems be to expose the renderqueue id and let us tweak that manually?