快取引用

快取引用以避免昂貴的呼叫,尤其是在更新函式中。這可以通過在啟動時(如果可用)或可用時快取這些引用來完成,並檢查 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 的呼叫。