方法:

Quaternion ClampRotation(Quaternion q)

{
        q.x /= q.w; //q.x/q.w  ==  tan(θ/2)
        q.y /= q.w;
        q.z /= q.w;
        q.w = 1;

float angle = 2 * Mathf.Rad2Deg * Mathf.Atan(q.x); //Mathf.Atan(q.x)表示把数转换为弧度,Mathf.Rad2Deg 表示把弧度转化为角度
        angle = Mathf.Clamp(angle, -90, 90);
        q.x = Mathf.Tan(Mathf.Deg2Rad * (angle/2));//Mathf.Deg2Rad * (angle/2)表示把角度转化为弧度,Mathf.Tan()里面的数是弧度
        return q;

}

主函数:

       float xRot = Input.GetAxis("Mouse Y") * CameraSet.YSensitive;

       float yRot = Input.GetAxis("Mouse X") * CameraSet.XSensitive;

        m_camQuation *= Quaternion.Euler(-xRot, 0f, 0f);
        m_camQuation = ClampRotation(m_camQuation);
        m_camTrans.localRotation = m_camQuation;
        m_chaQuation *= Quaternion.Euler(0f, yRot, 0f);
        m_chaTrans.rotation = m_chaQuation;

四元数仰角和俯角的转换(第一人称视角)相关推荐

  1. Cesium 视角跟随-第一人称视角漫游

    Cesium 视角跟随-第一人称视角漫游 实现思路 核心代码 完整代码 在线示例 2023年4月19日更新-搞了一个 Cesium 镜像,欢迎使用:沙盒示例 和 API 作为三维项目,以第一人称视角漫 ...

  2. 第一人称视角的一种解决方案

    a模型在以b模型为基准点,实现b模型旋转,其a模型还是会在a模型原来相对的一个点上.比如说,a模型在b模型左上方的某个位置,如果b模型绕摸个轴旋转了某个度数,其a模型还是相对与b模型在左上方某个位置. ...

  3. 【游戏开发实战】Unity手游第一人称视角,双摇杆控制,FPS射击游戏Demo(教程 | 含Demo工程源码)

    文章目录 一.前言 二.实现方案 1.无主之地,第一人称视角 2.我之前做的摇杆控制 3.第一人称视角 + 摇杆控制 三.开始实战 1.资源获取:Unity AssetStore 2.Low Poly ...

  4. OpenGL入门暨用C#做个3D吞食鱼(一)第一人称视角的实现

    OpenGL入门暨用C#做个3D吞食鱼(一)第一人称视角的实现 废话少说先上图: 图表 1第一人称视角效果图 源代码在文末. 为了学OpenGL,尝试各种代码示例是不错的选择.但是我就经常因为视角不合 ...

  5. 使用Open3d在点云中实现第一人称视角导航

    Open3D是一个开源库,支持快速开发处理3D数据的软件.Open3D前端在C++和Python中公开了一组精心挑选的数据结构和算法.后端经过高度优化,并设置为并行化. 本人最近在工作上需要实现一个需 ...

  6. 7999元大疆最新无人机,支持第一人称视角极速拍摄,直接起飞

    穿越山口.过火圈,体验2秒加速到100公里的急速飞行: 可以从第一视角体验拍摄效果,"就像是开启了第三只眼": 而且,只需要靠手部动作"单手操作",就能操控: ...

  7. arduino 操纵杆_用Arduino做一台FPV(第一人称视角)遥控履带车

    这次和大家分享的这个项目结合了3D打印,Arduino和FPV(第一人称视角)相机的相关知识. 非常适合有兴趣制造自己的RC履带车,或者只是想使用3D打印,Arduino和FPV进行创造的伙伴们. 步 ...

  8. 7999元大疆最新无人机,支持第一人称视角极速拍摄,网友:不是航拍,是直接起飞...

    萧箫 发自 凹非寺 量子位 报道 | 公众号 QbitAI 穿越山口.过火圈,体验2秒加速到100公里的急速飞行: 可以从第一视角体验拍摄效果,"就像是开启了第三只眼": 而且,只 ...

  9. 在场景中加入第一人称视角运行后一直往下掉的解决方案

    问题描述 在场景中加入第一人称视角后,点击运行游戏,你会发觉自己一直在往下掉,像这样 解决方式 点击第一人称视角,在右侧的Inspector面板中找到关于第一人称视角的脚本 将Gravity Mult ...

最新文章

  1. python3+opencv生成不规则黑白mask
  2. 技巧.自己学会取名字,学会欣赏
  3. linux内核亲和性,Linux中CPU亲和性(go)
  4. python 关于excelcsv与cookie的部分笔记
  5. 道路交通安全违法行为记分管理办法的重大调整(2022版)
  6. 奔小康赚大钱(HDU-2255)
  7. 《深入理解分布式事务》第一章 事务的基本概念
  8. DeFi衍生品协议dFuture未来5日将通过公测奖励100万枚DFT
  9. python中函数的参数_Python小知识-Python中的函数参数(基础篇)
  10. 大神总结的机器学习的数学基础,掌握这些足够
  11. 关于StopSelf
  12. matlab rsenc函数,Xilinx RS编码IP核仿真验证
  13. Mysql8.0如何重置密码
  14. 2个74151实现16位数据选择器以及在Multisim的演示
  15. 字节跳动不需要总部大楼
  16. YOLO基础教程(三):视频处理
  17. 工厂模式简介和应用场景
  18. gee微端服务器系统设置,geem2微端服务器设置
  19. bartender打印错误
  20. c语言选择冒泡排序,c语言选择冒泡排序讲解(附代码)

热门文章

  1. 临近毕业大学生该怎么规划自己的未来
  2. spring.data.mongodb.uri认证失败Authentication failed
  3. phpstromintellij ideawebstrompystrom 2018最新版3.5版破解教程
  4. 不使用Form表单实现页面查询重置功能
  5. 目前主流浏览器市场及浏览器内核介绍
  6. TCP/IP协议、端口等相关【1】
  7. 超详细的 MySQL 学习教程(多实例、附练习、视频讲解持续更新)
  8. Tesseract编译
  9. java高级编程笔试题_JAVA 高级编程笔试题
  10. 计算机原材料有哪些在制品区,知识丨WIP