Saya membuat lebih banyak game dan mengajukan lebih banyak pertanyaan bodoh.
Semoga yang ini sangat singkat. Saya membuat kelas yang sangat mendasar yang hanya memindahkan objek Player dengan memberikan kekuatan pada benda tegar, tapi itu membuat saya bertanya-tanya, haruskah saya membuat referensi kelas ke rb atau hanya variabel lokal di dalam Perbarui setiap frame? (mengingat itu sudah ada di kelas induk kesatuan Monobehaviour.GameObject).
Saya bertanya-tanya apakah melakukan banyak variabel lokal akan memperlambat loop secara keseluruhan (oleh lokal saya maksud di dalam fungsi itu sendiri dan bukan di bagian atas kelas - harap saya menggunakan istilah yang benar).
Inilah yang saya maksud, dua cara yang saya pikirkan untuk melakukannya:
public class Player : MonoBehaviour {
private void FixedUpdate()
{
Rigidbody rb = GetComponent<Rigidbody>();
float v = Input.GetAxis("Vertical");
rb.AddForce(v * rb.transform.forward * Const.walkForce);
}
}
atau...
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);
}
}