Unity3d_镜头跟随鼠标移动

Unity3d_镜头跟随鼠标移动_第1张图片

需要将摄像头放在另个GameObject里
当上下旋转的时候,只旋转摄像头(相当于人的头部)
当左右旋转的时候,旋转整体(相当于全身,包括头部)
这样使得整个视角都处于正对面,而不会出现倾斜等现象

using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class CameraController : MonoBehaviour {

    public float speed;
    private Camera camera;

    // Use this for initialization
    void Start () {
        // 形变组件transform,与该脚本直接关联上的组件就是transform
        camera = GetComponentInChildren ();
    }

    // Update is called once per frame
    void Update () {
        // 得到鼠标当前位置
        float mouseX = Input.GetAxis ("Mouse X") * speed;
        float mouseY = Input.GetAxis ("Mouse Y") * speed;
        // 设置照相机和Player的旋转角度,X,Y值需要更具情况变化位置
        camera.transform.localRotation = camera.transform.localRotation * Quaternion.Euler ( -mouseY, 0, 0);
        transform.localRotation = transform.localRotation * Quaternion.Euler ( 0, mouseX, 0);

    }
}

你可能感兴趣的:(unity3d)