Unity3Dの公式チュートリアルのプロトタイプ1です。最後までチュートリアルしましたがなぜか修正方法が書かれてないのでないので質問しました。
考えられる原因は Player.csではTranslateを使っているため値を直接いじってるため オブジェクトが移動→カメラが移動の繰り返しでカメラがガタガタ移動する現象が起きているのは知っていますがどうやらRigidbody.AddForce()が使えないのでこのままでコードを修正する方法が知りたいです。scene画面では問題がないためカメラだと思うのですが
以下CameraController.cs
public class FollowPlayer: MonoBehaviour { public GameObject Player; private Vector3 offset = new Vector3(0,5,-10); private Vector3 pos; private Vector3 prev; // Start is called before the first frame update void Start() { prev = (Player.transform.position + offset);//前 pos = (Player.transform.position + offset);//今 } // Update is called once per frame void Update() { transform.position = (Player.transform.position + offset); //////////////////// } }
プレイヤースクリプト
public class PlayerController : MonoBehaviour { private float speed = 15; private float turnSpeed = 20; private Vector3 move; // Start is called before the first frame update void Start() { } // Update is called once per frame void Update() { move.x = Input.GetAxis("Horizontal"); move.z = Input.GetAxis("Vertical"); transform.Translate(Vector3.forward * Time.deltaTime * speed * move.z); transform.Translate(Vector3.right * Time.deltaTime * turnSpeed * move.x); } private void FixedUpdate() { } }
・「ガタガタしている」とはどういうことか具体的に記載してください。
・参考にしたチュートリアルへのリンクを張ってください。
・プレイヤーを動かしながら「シーンビューで」プレイヤーを見て、ガタガタしているか確認してください。(カメラがガタガタしているのではなくプレイヤーがガタガタしている可能性があります)
・場合によってはあなたのPCのスペックが足りなくて処理落ちしているだけの可能性もあります。UnityのバージョンとPCスペックを質問に追記してください。
回答1件
あなたの回答
tips
プレビュー