国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > C# > 正文

Unity3D實現(xiàn)鼠標控制視角轉動

2020-01-24 00:08:43
字體:
來源:轉載
供稿:網友

前面,學了物體的移動功能,現(xiàn)在來學一下C#實現(xiàn)鼠標控制攝像機(視角)移動。

代碼如下:

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); } }}

調用時,只需把該腳本綁定給物體即可。這里是綁定攝像機,以攝像機為第一人稱視角轉動。

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持武林網。

發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 兴安盟| 额尔古纳市| 蒲城县| 苏尼特左旗| 龙游县| 郓城县| 万荣县| 岚皋县| 会同县| 荣昌县| 武夷山市| 青阳县| 莲花县| 郴州市| 五家渠市| 顺昌县| 双柏县| 三河市| 洪洞县| 上栗县| 改则县| 犍为县| 砀山县| 靖宇县| 德令哈市| 永顺县| 商洛市| 兴安盟| 鄂托克旗| 崇义县| 阳春市| 绵阳市| 柘城县| 阿勒泰市| 广德县| 乌兰浩特市| 延庆县| 静乐县| 田东县| 正宁县| 无锡市|