zoukankan      html  css  js  c++  java
  • 实现3dof功能

    1.前言

    现实中手机移动,可以看到相应转动的虚拟画面,采用手机自带的惯导就可以实现,当然也可以借助手机ar的插件,比如arcore或者easyAR等。

    2.代码实现

    using System.Collections;
    using System.Collections.Generic;
    using UnityEngine;
    
    public class GyroCameraController : MonoBehaviour
    {
        private Gyroscope gyro;
    
        // 相机初始的态势
        Quaternion cameraBase = Quaternion.Euler(90, 0, 0);
    
        void Start()
        {
            // 从Input中获取陀螺仪对象
            gyro = Input.gyro;
            // 开启陀螺仪
            gyro.enabled = true;
            // 获取陀螺仪的态势数据
            Debug.Log(gyro.attitude);
        }
    
        void Update()
        {
            transform.rotation = cameraBase * ConvertRotation(gyro.attitude);
        }
    
        // 将旋转从右手坐标系转换到左手坐标系
        private static Quaternion ConvertRotation(Quaternion q)
        {
            return new Quaternion(q.x, q.y, -q.z, -q.w);
        }
    }
    
  • 相关阅读:
    组合继承
    包装明星——封装
    多种添加公用方法的方式
    专有扩展
    插入标记
    mac 命令操作
    php(apache)切换版本
    SqlServer索引+约束篇章
    sqlserver 常用语法
    C# 通用数据访问类
  • 原文地址:https://www.cnblogs.com/llstart-new0201/p/14774285.html
Copyright © 2011-2022 走看看