Light.layerShadowCullDistances不会清除我的阴影;

时间:2019-03-15 04:01:16

标签: unity3d optimization shadow culling occlusion-culling

Light.layerShadowCullDistances不会清除我的阴影;

如何复制:

  • 创建一个新场景;
  • 删除方向灯;
  • 创建一个多维数据集;
  • 将多维数据集放置为相机的子级
  • 将其设置为变换。 localPosition 设置为0f,0f,30f;
  • 创建PointLight;
  • 将其设置为相机的孩子
  • 将其设置为Transform。 localPosition 设置为0f,0f,0f;
  • 将点光源设置为投射柔和阴影
  • 设定点灯范围为3000;
  • 将点光源强度设置为3000;
  • 设置质量设置阴影距离,执行3000;
  • 附上下面的脚本:

    公共类CullShadows:MonoBehaviour {    私人布尔EveryFrame;    公众浮动距离;

    private void OnEnable() { if (everyFrame) return; SetShadowCullingDistances(); }
    private void Update() { if (!everyFrame) return; SetShadowCullingDistances(); }
    
    private void SetShadowCullingDistances()
    {
        var layers = new float[32];
        for (int i = 0; i < 32; i++)  { layers[i] = 1f; }
        GetComponent<Light>().layerShadowCullDistances = layers;
    }
    

    }

  • 按播放;至少总会有1个阴影投射器;

0 个答案:

没有答案