私はより多くのゲームを作り、より愚かな質問をしています。
うまくいけば、これは非常に簡単です。剛体に力を加えてPlayerオブジェクトを移動するだけの非常に基本的なクラスを作成していますが、rbへのクラス参照を作成するのか、Update every frame内のローカル変数を作成するだけなのでしょうか?(これは、Monobehaviour.GameObject unity親クラスにすでに存在していることを念頭に置いてください)。
多くのローカル変数を実行するとループ全体の速度が低下するのではないかと思います(ローカルとは、クラスの先頭ではなく、関数自体の内部を意味します。正しい用語を使用してください)。
これが私が言いたいことです、私がそれをすることを考えていた2つの方法:
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);
}
}