カメラの設定を変更 3
PlayerController.csを下記のように変更する
追加しているところ、削除しているところ、変更しているところが沢山あります。
using UnityEngine;
using System.Collections;
public class PlayerController : MonoBehaviour {
public float speed = 3;
public float jumpPower = 30;
private float rotationSpeed = 180.0f; // プレイヤーの回転速度
private Vector3 direction = Vector3.zero;
private CharacterController playerController;
// Use this for initialization
void Start () {
playerController = GetComponent
();
}
// Update is called once per frame
void Update () {
if (playerController.isGrounded) {
float inputX = Input.GetAxis ("Vertical"); //変更
float turn = Input.GetAxis ("Horizontal"); //変更
// プレイヤーの向き変更 追加//
/ /左右のキー入力を取得し、移動方向に代入.
Vector3 playerDir = new Vector3 (Input.GetAxis ("Horizontal"), 0.0f, 0.0f);
// プレイヤー基準の向きたい方向へ修正する.これがないと角度が固定してします
playerDir = transform.TransformDirection(playerDir);
//ある程度の大きさで回転し始める
if (System.Math.Abs (turn) > 0.4f) {
Quaternion q = Quaternion.LookRotation (playerDir*2); // 向きたい方角をQuaternionn型に直す .
// 向きを q に向けてじわ~っと変化させる.
transform.rotation = Quaternion.RotateTowards (
transform.rotation, q, System.Math.Abs (turn) * rotationSpeed * Time.deltaTime * 0.5f);
}
// プレイヤーの向き変更 追加//
if (Input.GetButton ("Jump")) {
Debug.Log ("ジャンプ");
direction.y += jumpPower;
}
}
direction.y += Physics.gravity.y * Time.deltaTime;
playerController.Move (direction * Time.deltaTime);
}
}
次に前に進むようにする
この時は、いきなり最高速にするのではなく徐々にスピードを上げるようにする
if (Input.GetButton ("Jump")) { 前に下記のスクリプトを追記するの
//キャラクター前方への移動量 transform.forward*move.magnitude*speed
//transform.forwardで前方 move.magnitudeベクトルの大きさ
direction = playerDir + transform.forward*inputX*speed;
- 関連記事
-
YouTubeで動画を定期的に出しています。ご視聴いただけると嬉しいです。
Reon Labo
- 2016/09/15(木) 12:00:00|
- Unity
-
| トラックバック:0
-
| コメント:0