Perl日記

PerlとかRubyとかPHPとかPythonとか

Unity FPS 視点メモ

プレイヤオブジェクト - 視点(空オブジェクト) - カメラ の親子関係

プレイヤオブジェクトにて、WASD で前進と左右移動と、マウスの左右移動でカメラの左右回転をする。
視点にて、マウスの上下移動でカメラの上下回転をする。

using UnityEngine;

public class PlayerTest : MonoBehaviour
{
    private float moveSpeed = 0.01f;

    void Update()
    {
        transform.position += transform.TransformDirection(Vector3.forward) * Input.GetAxis("Vertical") * moveSpeed;
        transform.position += transform.TransformDirection(Vector3.right) * Input.GetAxis("Horizontal") * moveSpeed;

        float x = Input.GetAxis("Mouse X");
        if (x != 0)
        {
            transform.Rotate(0, x * 6.0f, 0);
        }
    }
}
using UnityEngine;

public class PointOfViewTest : MonoBehaviour
{
    Camera cam;

    void Start()
    {
        cam = Camera.main;
        cam.transform.position = transform.position;
        cam.transform.rotation = transform.rotation;
        cam.transform.parent = transform;
    }

    void Update()
    {
        float y = Input.GetAxis("Mouse Y");
        if (y != 0)
        {
            cam.transform.Rotate(-y * 3.0f, 0, 0);
        }
    }
}