質問: GetComponent(); // rigidbodyのx軸(横)とz軸(奥)に力を加える rigidbody.AddForce(x, 0, z); } } インターネットでいくら調べてもどこが間違ってるかわからないです。 初心者ですがご教授お願いします。 バージョンはUnity 2019.1.0f2 (64-bit)です
回答: これが原因かどうかは分かりませんが、Inputクラスの関数をFixedUpdate()で使うとバグの原因になったりします。 そのため、以下のように、Input.GetAxis()をUpdate()内で使うようにする必要があります。 (また質問とは関係ないですが、GetComponent()は毎回呼び出すよりも、Start()で一度だけ呼び出すほうがよいので、そのようにしています) ``` using UnityEngine; using System.Collections; public class PlayerController : MonoBehaviour { Rigidbody rigidbody; float x; float z; void Start() { rigidbody = GetComponent(); } void Update() { x = Input.GetAxis("Horizontal"); z = Input.GetAxis("Vertical"); } void FixedUpdate() { // rigidbodyのx軸(横)とz軸(奥)に力を加える rigidbody.AddForce(x, 0, z); } } ``` これで解決しない場合は、Consoleにエラーが出ていないか確認し、出ていればその指示に従ってください。