Shadow

    Cocos Creator 3.0 currently supports both Planar and ShadowMap shadow types.

    To enable the shadow effect for an object, proceed as follows:

    1. Check Scene in the Hierarchy panel, and then check the Enabled property in the Shadows component of the Inspector panel.

      enable-shadow

    The shadow type can be set in the Type property of the Shadows component.

    The Planar shadow type is generally used for simpler scenes.

    Adjust the direction of the directional light to adjust the position of the shadow.

    ShadowMap

    ShadowMap renders the scene with the lights as the viewpoint. From the position of the lights, the places in the scene that are not visible are where the shadows are created.

    shadow map panel details

    PropertyExplanation
    EnabledWhether to enable the shadow effect.
    TypeChoose the shadow type.
    SaturationSet the shadow saturation.
    PcfSet the anti-aliasing level of the shadow edge, currently including HARD, SOFT, SOFT_2X. Please refer to the section PCF Soft Shadow below for details.
    MaxReceivedThe maximum number of lights supported for shadow generation, default is 4, can be adjusted as needed.
    BiasSet the shadow offset value to prevent z-fitting.
    NormalBiasSet the normal offset value.
    ShadowMapSizeSet the texture size of the shadow.
    AutoAdaptIf checked, the range of shadows will be calculated automatically, as described in section AutoAdapt Adaptive Shadow Calculation below. If this option is unchecked, the following properties are enabled to manually set the range of shadow generation.
    NearSet the near clipping plane of the main lights shadow camera.
    FarSet the far clipping plane of the main lights shadow camera.
    OrthoSizeSet the ortho viewport size of the main lights shadow camera.

    ShadowMap receives and displays shadow effects generated by other objects when ReceiveShadow on the object MeshRenderer component is enabled.

    ShadowMap is generally used for scenes that require more realistic and complex light and shadow effects. The downside is that if the lights is not moved, then the previously generated Shadow Map can be reused, while once the lights is moved, then a new ShadowMap needs to be recalculated.

    PCF Soft Shadow

    Percentage Closer Filtering (PCF) is a simple, common technique used to achieve shadow edge desampling, by smoothing shadow edges to eliminate jaggedness in shadow mapping. The principle is to sample around the current pixel (also called a fragment), then calculate the ratio of the sample closer to the lights compared to the fragment, use this ratio to scale the scattered light and specular light, and then color the fragment to blur the shadow edges.

    Cocos Creator currently supports 5x, 9x, and 25x sampling. The larger the magnification, the larger the sampling area and the more blurred the shadow edges.

    AutoAdapt Adaptive Shadow Calculation

    For models with enabled in the material, the planar shadow will automatically draw with instancing as well, see the documentation for details.