【Unity组件扩展】减少Image的渲染

需要实现透明遮罩功能,如点击任意关闭界面、透明遮挡不让点击等,一般可以添加Image组件,然后将alpha值设置为0。不过,在Unity2018.4.3.6f1及之前的老版本中,这样的做法会增加DC和增加overdraw。

可以继承Graphic重写OnPopulateMesh方法来减少这个方面的性能消耗。

using UnityEngine.UI;

public class EmptyImage : Graphic
{
    protected override void OnPopulateMesh(VertexHelper vh)
    {
        vh.Clear();
    }
}

但是在2021.3.19f1中,已经优化这个问题,将Image的alpha值设置为0后,不会增加DC和overdraw。

【Unity组件扩展】减少Image的渲染_第1张图片 图片未设置alpha

【Unity组件扩展】减少Image的渲染_第2张图片 图片alpha为0

你可能感兴趣的:(Unity3D,unity,游戏引擎)