缓存引用

缓存引用以避免昂贵的调用,尤其是在更新函数中。这可以通过在启动时(如果可用)或可用时缓存这些引用来完成,并检查 null / bool flat 以避免再次获得引用。

例子:

缓存组件引用

更改

void Update()
{
    var renderer = GetComponent<Renderer>();
    renderer.material.SetColor("_Color", Color.green);
}

private Renderer myRenderer;
void Start()
{
    myRenderer = GetComponent<Renderer>();
}

void Update()
{
    myRenderer.material.SetColor("_Color", Color.green);
}

缓存对象引用

更改

void Update()
{
    var enemy = GameObject.Find("enemy");
    enemy.transform.LookAt(new Vector3(0,0,0));
}

private Transform enemy;

void Start()
{
    this.enemy = GameObject.Find("enemy").transform;
}

void Update()
{
    enemy.LookAt(new Vector3(0, 0, 0));
}

另外,尽可能缓存昂贵的调用,如对 Mathf 的调用。