Sto facendo più giochi e faccio domande più stupide.
Spero che questo sia molto breve. Sto creando una classe molto semplice che sposta semplicemente un oggetto Player applicando forza a un corpo rigido, ma mi ha fatto meravigliare, dovrei fare un riferimento di classe all'rb o solo una variabile locale all'interno di Aggiorna ogni frame? (tenendo presente che esiste già nella classe genitore Unità Monobehaviour.GameObject).
Mi chiedo se fare molte variabili locali rallenterebbe il ciclo nel suo insieme (per locale intendo all'interno della funzione stessa e non ai vertici della classe - spero di usare il termine corretto).
Ecco cosa intendo, i due modi in cui stavo pensando di farlo:
public class Player : MonoBehaviour {
private void FixedUpdate()
{
Rigidbody rb = GetComponent<Rigidbody>();
float v = Input.GetAxis("Vertical");
rb.AddForce(v * rb.transform.forward * Const.walkForce);
}
}
o...
public class Player : MonoBehaviour {
Rigidbody rb;
private void Awake()
{
rb = GetComponent<Rigidbody>();
}
private void FixedUpdate()
{
float v = Input.GetAxis("Vertical");
rb.AddForce(v * rb.transform.forward * Const.walkForce);
}
}