unity 第一人称视角脚本(旋转)
2018-03-28 20:21
459 查看
创建一个物体(cube),为其创建子物体(camera),将scrip托到 ?物体:摄像机 上
(错误经验:应将旋转视角的脚本挂到物体上,才能实现第一人称视角和移动的一致)
代码如下
using UnityEngine;
using System.Collections;
public class MouseLook : MonoBehaviour
{
//方向灵敏度 (转动速度)
public float sensitivityX = 10F;
public float sensitivityY = 10F;
//上下最大视角(Y视角)
public float minimumY = -60F;
public float maximumY = 60F;
float rotationY = 0F;
void Update()
{
//根据鼠标移动的快慢(增量), 获得相机左右旋转的角度(处理X)
float rotationX = transform.localEulerAngles.y + Input.GetAxis("Mouse X") * sensitivityX;
//根据鼠标移动的快慢(增量), 获得相机上下旋转的角度(处理Y)
rotationY += Input.GetAxis("Mouse Y") * sensitivityY;
//角度限制. rotationY小于min,返回min. 大于max,返回max. 否则返回value
rotationY = Mathf.Clamp(rotationY, minimumY, maximumY);
//总体设置一下相机角度
transform.localEulerAngles = new Vector3(-rotationY, rotationX, 0);
}
void Start()
{
// Make the rigid body not change rotation
if (GetComponent<Rigidbody>())
GetComponent<Rigidbody>().freezeRotation = true;
}
}
(错误经验:应将旋转视角的脚本挂到物体上,才能实现第一人称视角和移动的一致)
代码如下
using UnityEngine;
using System.Collections;
public class MouseLook : MonoBehaviour
{
//方向灵敏度 (转动速度)
public float sensitivityX = 10F;
public float sensitivityY = 10F;
//上下最大视角(Y视角)
public float minimumY = -60F;
public float maximumY = 60F;
float rotationY = 0F;
void Update()
{
//根据鼠标移动的快慢(增量), 获得相机左右旋转的角度(处理X)
float rotationX = transform.localEulerAngles.y + Input.GetAxis("Mouse X") * sensitivityX;
//根据鼠标移动的快慢(增量), 获得相机上下旋转的角度(处理Y)
rotationY += Input.GetAxis("Mouse Y") * sensitivityY;
//角度限制. rotationY小于min,返回min. 大于max,返回max. 否则返回value
rotationY = Mathf.Clamp(rotationY, minimumY, maximumY);
//总体设置一下相机角度
transform.localEulerAngles = new Vector3(-rotationY, rotationX, 0);
}
void Start()
{
// Make the rigid body not change rotation
if (GetComponent<Rigidbody>())
GetComponent<Rigidbody>().freezeRotation = true;
}
}
相关文章推荐
- Unity第一人称和第三人称视角脚本
- Unity学习之第一人称视角旋转
- Unity 视角 第一人称脚本 MouseLook
- unity 3d 鼠标旋转物体脚本
- unity 鼠标控制第一人称视角及键盘控制移动升级版
- Unity用键盘控制物体左右旋转前后移动的c#脚本
- Unity第一人称控制器脚本解析-FPSCharacterController( FirstPersonController)
- Unity3D 第一人称视角摄像机旋转控制
- 让camera实现类似cs第一人称视角旋转和位移
- unity第一人称视角mouselook分析
- Unity官方_第一人称游戏<恶魔射手>----学习笔记一(英雄脚本)
- Unity官方第一人称射击游戏<恶魔射手>_学习笔记三(敌人脚本)
- Unity学习笔记——俯瞰视角摄像机脚本
- Unity的摄像机拉近拉远和旋转脚本实现
- unity 用鼠标控制相机绕着物体旋转脚本
- Unity摄像机 向指定位置移动旋转 C#脚本
- Unity第一人称控制脚本解析
- Unity入门系列||在Unity中添加第一人称视角
- unity角色控制器修改(鼠标右键按住旋转视角)
- unity 鼠标控制第一人称视角及键盘控制移动