Я делаю больше игр и задаю более глупые вопросы.
Надеюсь, это очень кратко. Я делаю очень простой класс, который просто перемещает объект Player, применяя силу к жесткому телу, но меня удивляет, должен ли я делать ссылку на класс на rb или просто на локальную переменную внутри Обновлять каждый кадр? (имея в виду, что он уже существует в родительском классе Monobehaviour.GameObject Unity).
Мне интересно, если много локальных переменных замедлило бы цикл в целом (под локальным я подразумеваю саму функцию, а не верхнюю часть класса - надеюсь, я использую правильный термин).
Вот что я имею в виду, два способа, которыми я думал об этом:
public class Player : MonoBehaviour {
private void FixedUpdate()
{
Rigidbody rb = GetComponent<Rigidbody>();
float v = Input.GetAxis("Vertical");
rb.AddForce(v * rb.transform.forward * Const.walkForce);
}
}
или же...
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);
}
}