前提・実現したいこと
3Dでキャラクターをvelocityを用いて動かしたい
発生している問題
こちらの動画を参考にして三人称視点のプレイヤーを作ろうとしたのですが、移動せずに同じ場所で向きだけクルクル変わるような動きになってしまいました。
↓このコードを入力しました
C#
1using System.Collections; 2using System.Collections.Generic; 3using UnityEngine; 4 5public class Controller : MonoBehaviour 6{ 7 Animator animator; 8 9 private void Awake() 10 { 11 //コンポーネント関連付け 12 TryGetComponent(out animator); 13 } 14 15 // Update is called once per frame 16 void Update() 17 { 18 19 //入力ベクトルの取得 20 var horizontal = Input.GetAxis("Horizontal"); 21 var vertical = Input.GetAxis("Vertical"); 22 var velocity = new Vector3(horizontal, 0, vertical).normalized; 23 var speed = Input.GetKey(KeyCode.LeftShift) ? 2 : 1; 24 25 //移動方向を向く 26 if (velocity.magnitude > 0.5f) 27 { 28 transform.rotation = Quaternion.LookRotation(velocity, Vector3.up); 29 } 30 31 //移動速度をAnimatorに反映 32 animator.SetFloat("Speed", velocity.magnitude * speed, 0.1f, Time.deltaTime); 33 34 } 35} 36
Rigidbodyを追加して試したのですが、変わりませんでした。
環境
Unity 2020.3.9f1
Windows10
Visual Studio 2019
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。