더 많은 게임을 만들고 더 어리석은 질문을합니다.
잘만되면 이것은 매우 간단하다. 강체에 힘을 가하여 Player 객체를 이동시키는 매우 기본적인 클래스를 만들고 있습니다.하지만 매 프레임마다 Update 내에서 rb 또는 로컬 변수에 대한 클래스 참조를 만들어야합니까? (이것은 Monobehaviour.GameObject unity parent 클래스에 이미 존재한다는 것을 명심하십시오).
많은 지역 변수를 수행하면 루프가 전체적으로 느려질 지 궁금합니다 (지역에 따라 함수 자체 내부를 의미하며 클래스의 상단이 아니라 올바른 용어를 사용하기를 바랍니다).
여기 내가 생각하는 두 가지 방법이 있습니다.
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);
}
}