Search Unity

  1. Megacity Metro Demo now available. Download now.
    Dismiss Notice
  2. Unity support for visionOS is now available. Learn more in our blog post.
    Dismiss Notice

Smoke particle effect morphing into a 'blob' when viewed for long distances

Discussion in 'General Graphics' started by skillllzzzz, May 2, 2021.

  1. skillllzzzz

    skillllzzzz

    Joined:
    Jan 7, 2020
    Posts:
    18
    I have a particle system set up to generate a smoke effect, as shown below

    upload_2021-5-2_20-57-56.png

    This is exactly how I want the effect to look. The only issue is, when I zoom out from the effect, it begins to look like this:
    upload_2021-5-2_20-59-30.png

    And even further:
    upload_2021-5-2_21-0-11.png

    It ends up looking more like a black blob with some smoke effect around the outer edges.

    What is causing this to happen, and how can I fix it?

    Thanks!
     
  2. bgolus

    bgolus

    Joined:
    Dec 7, 2012
    Posts:
    12,329
    You're probably scaling the particles up too much and they're getting clamped by the Max Particle Size property in the particle system's renderer section.

    The Min and Max Particle Size properties are how big a particle can get in percentage of screen space. If when previewing your particle system you're scaling your particles up bigger than that, they'll get clamped to the smaller size, and when you move further away they'll appear to "grow" much like what you have.

    My suggestion is to set the Max Particle Size to 10000. This will likely make your effect look terrible when viewed at a "normal" distance, but is showing you the real max size of the particles. Adjust the particle scale setting to look how you want it again. After that you can set the Max Particle Size back to 0.5 again, or leave it as is at the extremely large size. The purpose of that property is to limit the screen coverage of the particle for when you're very close to a particle system. This can help with overdraw (rendering costs from overlapping particles) significantly, especially in systems with a lot of particles. Most of the time any value over 2.0 or so isn't going to be significantly different in performance from another, though it can be in very dense particle effects. It's usually only values less than 1.0 by a good margin that the performance benefits become obvious. At 0.5, a particle is going to be limited to covering a max of roughly 1/4th as many pixels as 1.0, which also means far less overdraw.
     
    skillllzzzz and adamgolden like this.
  3. skillllzzzz

    skillllzzzz

    Joined:
    Jan 7, 2020
    Posts:
    18
    Sorry, but I am a bit of a beginner to Unity, where do I find this setting?
     
  4. bgolus

    bgolus

    Joined:
    Dec 7, 2012
    Posts:
    12,329
    Sorry. Particle size settings. Probably mainly the Size Over Lifetime curve.
     
    skillllzzzz likes this.
  5. skillllzzzz

    skillllzzzz

    Joined:
    Jan 7, 2020
    Posts:
    18
    Following your suggestion to set the Max Particle Size to 10000 and lowering the maximum size in the size over lifetime curve worked absolutely flawlessly, thank you so much!
     
    richardkettlewell likes this.