Estou fazendo mais jogos e fazendo mais perguntas estúpidas.
Espero que este seja muito breve. Estou criando uma classe muito básica que apenas move um objeto Player aplicando força a um corpo rígido, mas isso me fez pensar: devo fazer uma referência de classe à rb ou apenas uma variável local dentro de Atualizar todos os quadros? (tendo em mente que ele já existe na classe pai da unidade Monobehaviour.GameObject).
Eu estou querendo saber se fazer muitas variáveis locais atrasaria o loop como um todo (por local, quero dizer dentro da própria função e não no topo da classe - espero estar usando o termo correto).
Aqui está o que eu quero dizer, as duas maneiras que eu estava pensando em fazer isso:
public class Player : MonoBehaviour {
private void FixedUpdate()
{
Rigidbody rb = GetComponent<Rigidbody>();
float v = Input.GetAxis("Vertical");
rb.AddForce(v * rb.transform.forward * Const.walkForce);
}
}
ou...
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);
}
}