unity 陀螺仪控制节点旋转

本文介绍如何在Unity中通过陀螺仪控制3D游戏对象的旋转,实现移动设备上的真实感交互体验。
摘要由CSDN通过智能技术生成
/********************************************************************
    Desc:       陀螺仪对相机的逻辑类。
*********************************************************************/

using System;
using System.Collections;
using System.Collections.Generic;
using System.Linq;
using System.Text;

using UnityEngine;

namespace Game.Gyro
{

    /// <summary>
    /// 职责: 
    ///     1.实现陀螺仪对相机的影响和操作;
    ///     2.尽量重现崩坏3的主界面驾驶舱效果;
    /// </summary>
    class GyroCamera : MonoBehaviour
    {

        #region 声明

        /// <summary> 陀螺仪的输入类型 </summary>
        public enum EGyroInputType
        {
            /// <summary> RotateRate </summary>
            RotateRate,

            /// <summary> RotateRateUniased </summary>
            RotateRateUniased,

            /// <summary> UserAcceleration </summary>
            UserAcceleration,
        }

        #endregion



        #region 控制变量

        public float m_gyro_max_x = 15.0f;

        public float m_gyro_max_y = 15.0f;

        public float m_gyro_max_z = 15.0f;

        #endregion



        #region 变量

        /// <summary> editor开发环境下的模拟陀螺仪输入 </summary>
        public Vector3 m_editor_debug_input = Vector3.zero;

        /// <summary> 陀螺仪的输入参数,用以控制相机 </summary>
        public Vector3 m_gyro_input = Vector3.zero;

        /// <summary> 当前的摄像机角度 </summary>
        public Vector3 m_cur_euler = Vector3.zero;

        /// <summary> 陀螺仪数据的更新频率 </summary>
        public int m_upate_rate = 30;

      
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值