docs.unity3d.com
Search Results for

    Show / Hide Table of Contents

    Collide with Depth Buffer

    Menu Path : Collision > Collide with Depth Buffer

    The Collide with Depth Buffer Block makes particles collide with a specific Camera’s depth buffer. This is especially useful for fast moving particles like sparks or rain drops where precise collision is not as important.

    img

    Important: For the Block to generate depth collision, the specified Camera must be enabled.

    Block compatibility

    This Block is compatible with the following Contexts:

    • Update

    Block settings

    Setting Type Description
    Camera Enum The method to decide which Camera to use to calculate depth collision. The options are:
    • Main: Uses the main Camera in the Scene. This requires a Camera in the Scene to have the MainCamera tag.
    • Custom: Allows you to specify a particular Camera to use.
    Surface Thickness Enum The method to decide how to specify the thickness of the colliding surface. The options are:
    • Infinite: Sets the thickness of the colliding surface to be infinite.
    • Custom: Allows you to specify a particular thickness value.
    Radius Mode Enum The mode that determines the collision radius of each particle. The options are:
    • None: Particles have a radius of zero.
    • From Size: Particles inherit their radius from their individual sizes.
    • Custom: Allows you to set the radius of the particles to a specific value.
    Rough Surface Bool Toggles whether or not the collider simulates a rough surface. When enabled, Unity adds randomness to the direction in which particles bounce back to simulate collision with a rough surface.

    Block properties

    Input Type Description
    Bounce Float The amount of bounce to apply to particles after a collision. A value of 0 means the particles do not bounce. A value of 1 means particles bounce away with the same speed they impacted with.
    Friction Float The speed that particles lose during collision. The minimum value is 0.
    Lifetime Loss Float The proportion of life a particle loses after collision.
    Roughness Float The amount to randomly adjust the direction of a particle after it collides with the surface.
    This property only appears when you enable Rough Surface.
    Radius Float The radius of the particle this Block uses for collision detection.
    This property only appears when Radius Mode is set to Custom.
    Camera Camera The Camera to use for generating the collision surface. This Block uses the depth buffer from this Camera to generate the collision surface.
    This property only appears when Camera is set to Custom.
    Surface Thickness Float The thickness of the collision surface.
    This property only appears when Surface Thickness is set to Custom.

    Limitations

    When using the Opaque blend mode, particles write to the depth buffer. In this scenario, this block will make the particles collide with their own depth, leading to an unstable behavior.


    Did you find this page useful? Please give it a rating:

    Thanks for rating this page!

    Report a problem on this page

    What kind of problem would you like to report?

    • This page needs code samples
    • Code samples do not work
    • Information is missing
    • Information is incorrect
    • Information is unclear or confusing
    • There is a spelling/grammar error on this page
    • Something else

    Thanks for letting us know! This page has been marked for review based on your feedback.

    If you have time, you can provide more information to help us fix the problem faster.

    Provide more information

    You've told us this page needs code samples. If you'd like to help us further, you could provide a code sample, or tell us about what kind of code sample you'd like to see:

    You've told us there are code samples on this page which don't work. If you know how to fix it, or have something better we could use instead, please let us know:

    You've told us there is information missing from this page. Please tell us more about what's missing:

    You've told us there is incorrect information on this page. If you know what we should change to make it correct, please tell us:

    You've told us this page has unclear or confusing information. Please tell us more about what you found unclear or confusing, or let us know how we could make it clearer:

    You've told us there is a spelling or grammar error on this page. Please tell us what's wrong:

    You've told us this page has a problem. Please tell us more about what's wrong:

    Thank you for helping to make the Unity documentation better!

    Your feedback has been submitted as a ticket for our documentation team to review.

    We are not able to reply to every ticket submitted.

    In This Article
    • Block compatibility
    • Block settings
    • Block properties
    • Limitations
    Back to top
    Copyright © 2025 Unity Technologies — Trademarks and terms of use
    • Legal
    • Privacy Policy
    • Cookie Policy
    • Do Not Sell or Share My Personal Information
    • Your Privacy Choices (Cookie Settings)