###前提・実現したいこと
Unityでアクションゲームを作るためにプレイヤーを動かしたい
###発生している問題・エラーメッセージ
十字キーで動かそうとしても、spaceでジャンプしようとしてもほとんど動きません。
###該当のソースコード using UnityEngine; using System.Collections; public class UnityChanMove : MonoBehaviour { public float speed; public float jumpPower; public GameObject MyCamera; //カメラの向きでプレイヤーの動く向きを決めたい Vector3 move; // Use this for initialization void Start () { move = new Vector3(0, 0, 0).normalized; } // Update is called once per frame void Update () { move.x = 0.0f; move.z = 0.0f; float Hor = Input.GetAxisRaw("Horizontal"); float Ver = Input.GetAxisRaw("Vertical"); if (Hor == 1 ) { transform.rotation = Quaternion.Euler(0.0f, 90.0f, 0.0f); move.x += MyCamera.transform.right.x * speed; } if (Hor == -1) { transform.rotation = Quaternion.Euler(0.0f, -90.0f, 0.0f); move.x += MyCamera.transform.right.x * -1.0f * speed; } if (Ver == 1) { transform.rotation = Quaternion.Euler(0.0f, 0.0f, 0.0f); move.z += MyCamera.transform.forward.z * speed; } if (Ver == -1) { transform.rotation = Quaternion.Euler(0.0f, 180.0f, 0.0f); move.z += MyCamera.transform.forward.z * -1.0f * speed; } if (Input.GetKeyDown("space")) { move.y += jumpPower; } move.y += Physics.gravity.y; GetComponent<Rigidbody>().velocity = move * Time.deltaTime; } }
###試したこと
speedの値を1000ぐらいにすると最初は動くがだんだん動かなくなる。
jumpPowerの値を500ぐらいにすると一回目はジャンプするが、
二回目以降spaceを連続で押さないとジャンプしなくなる。
###補足情報(言語/FW/ツール等のバージョンなど)
MyCamera変数はカメラの向きでプレイヤーの動く向きを決めたかったので付けました。
move変数に動く向きと速さを入れて最後にまとめてRigidBodyのvelocityに代入しています。
RigidBodyコンポーネントをつけてますが、useGravityは使ってません。
RigidBodyコンポーネントのFreezeRotationのX,Y,Zすべてにチェックしてます。
C#です。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。