时间:2021-05-20
前面,学了物体的移动功能,现在来学一下C#实现鼠标控制摄像机(视角)移动。
代码如下:
C#脚本(在Unity 5.5.1 下能运行):
using System.Collections;using System.Collections.Generic;using UnityEngine;public class MouseView : MonoBehaviour { public enum RotationAxes { MouseXAndY = 0, MouseX = 1, MouseY = 2 } public RotationAxes m_axes = RotationAxes.MouseXAndY; public float m_sensitivityX = 10f; public float m_sensitivityY = 10f; // 水平方向的 镜头转向 public float m_minimumX = -360f; public float m_maximumX = 360f; // 垂直方向的 镜头转向 (这里给个限度 最大仰角为45°) public float m_minimumY = -45f; public float m_maximumY = 45f; float m_rotationY = 0f; // Use this for initialization void Start () { // 防止 刚体影响 镜头旋转 if (GetComponent<Rigidbody>()) { GetComponent<Rigidbody> ().freezeRotation = true; } } // Update is called once per frame void Update () { if (m_axes == RotationAxes.MouseXAndY) { float m_rotationX = transform.localEulerAngles.y + Input.GetAxis ("Mouse X") * m_sensitivityX; m_rotationY += Input.GetAxis ("Mouse Y") * m_sensitivityY; m_rotationY = Mathf.Clamp (m_rotationY, m_minimumY, m_maximumY); transform.localEulerAngles = new Vector3 (-m_rotationY, m_rotationX, 0); } else if (m_axes == RotationAxes.MouseX) { transform.Rotate (0, Input.GetAxis ("Mouse X") * m_sensitivityX, 0); } else { m_rotationY += Input.GetAxis ("Mouse Y") * m_sensitivityY; m_rotationY = Mathf.Clamp (m_rotationY, m_minimumY, m_maximumY); transform.localEulerAngles = new Vector3 (-m_rotationY, transform.localEulerAngles.y, 0); } }}调用时,只需把该脚本绑定给物体即可。这里是绑定摄像机,以摄像机为第一人称视角转动。
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。
声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
好多unity3d的爱好者,可以把游戏导出为linux的版本,让unity3d游戏在ubuntu下跑起来...1、打开自己的unity3d游戏项目,File--
unity3d想要制作一个太阳转动的动画,该怎么制作呢?下面我们就来看看详细的教程。软件名称:unity3dProV2017.6绿色版软件大小:68.3KB更新
Unity3D中shader轮廓描边效果想利用Unity3D中shader这个功能实现描边轮廓边框效果该怎么做呢,相信有很多搞开发的人想知道,为此下面就给大家介
本文实例为大家分享了Unity3D实现相机跟随控制的具体代码,供大家参考,具体内容如下跟随算法要实现3D摄像机的控制第一步就是先实现摄像机跟随物体移动。要想让相
Unity3D怎么显示网格,我们学习Unity3D的时候,教程老师的页面里面的视图窗口有网格,我们怎么漆黑一片,我们怎么显示网格呢软件名称:Unity3DPro