Unity中Quaternion的含义及其使用
官网API文档:
file:///Applications/Unity/Unity.app/Contents/Documentation/html/en/ScriptReference/Quaternion.html
Quaternion的意思是四元数,用于代表旋转。
它们是紧致的,不会产生万向节死锁并且能够很容易被插值。Unity内使用Quaternion表示所有的旋转动作。(万向节是什么可以百度下)
四元数是基于复数的,并不容易被直观地理解,因此你基本上从来不需要访问或修改单个Quaternion组件(x,y,z,w);通常你只需要拿到现有的旋转(例如,来自Transform)并使用它们来构造新的旋转(例如,在两个旋转间平滑地插值)。四元数函数的应用中,99%的时间是在应用以下函数(其他函数仅额外使用)Quaternion.LookRotation, Quaternion.Angle, Quaternion.Euler, Quaternion.Slerp, Quaternion.FromToRotation, Quaternion.identity。
你可以使用Quaternion.operator *来将某一次旋转通过另一个旋转角度旋转,或由一个旋转角度来旋转一个向量。
静态变量:
identify
identify是一个只读变量。这个四元数相当于没有旋转,即仍为物体本身。
变量:
eulerAngles
返回表示旋转的欧拉角度。
this [int index]
分别使用 [0]、[1]、 [2]、 [3],访问x、y、z、w组件。
W
四元数的W组件。不要直接修改此组件,除非你很了解四元数。
X
四元数的X组件。不要直接修改此组件,除非你很了解四元数。
Y
四元数的Y组件。不要直接修改此组件,除非你很了解四元数。
Z
四元数的Z组件。不要直接修改此组件,除非你很了解四元数。
构造器:
Quaternion
用给定的x、y、z、w组件,构造新的四元数。
函数:
Set
为一个已经存在的四元数设定x,y,z,w组件。
SetFromToRotation
创建一个从fromDirection到toDirection的旋转。
SetLookRotation
创建一个有具体的forward和upward方向的旋转。
ToAngleAxis
将旋转转换为用“角-轴”表示。
ToString
返回一个完整格式化的四元数字符串。
静态方法:
Angle
返回两个旋转a和b两者之间的角度。
AngleAxis
绕axis轴旋转angle,创建一个旋转。
Dot
两个旋转之间的点乘。
Euler
返回一个旋转角度,绕z轴旋转z度,绕x轴旋转x度,绕y轴旋转y度。
FromToRotation
从fromDirection到toDirection创建一个旋转。
Inverse
返回旋转的反向旋转。
Lerp
通过t值from向to之间插值,并且在操作之后将结果规范化。
LookRotation
创建一个有具体的forward和upward方向的旋转。
RotateTowards
旋转一个角度从from向to。
Slerp
球形插值,通过t值from向to之间插值。
运算符:
operator !=
判断两个四元数是否不等
operator *
合并两个旋转
operator ==
判断两个四元数是否相等
Unity中Quaternion的含义及其使用相关推荐
- Unity中的矩阵含义
Unity中的矩阵含义 本人第一次写博文,不足的地方请大家指出来,我不会详解它的计算是什么样的,因为同类文章有很多,这个如果读者感兴趣可以自己学习一下相关的手册和知识. 什么是矩阵 简单的说,矩阵就是 ...
- Unity中Quaternion * Vector3的理解
理解:四元数和向量相乘是向量按四元数进行了旋转 例子: 四元数Quateration q=Quaternion.Euler(0,90,0)向量vector3(0,0,1),绕着Y轴旋转90度,得到新的 ...
- 浅谈Unity中的rotation和Quaternion的乘法
动手写游戏以后一个比较切身的体会,就是实际操作能检验很多语言的细节,也许平时看API文档,或者看一些教程的时候并没有深刻的体会,因为大多情况下你只知道了该怎么做,却不知道为什么要这么做,或者怎么想到这 ...
- 【Unity3D Shader编程】之五 圣诞夜篇 Unity中Shader的三种形态对比 混合操作合辑
分享一下我老师大神的人工智能教程!零基础,通俗易懂!http://blog.csdn.net/jiangjunshow 也欢迎大家转载本篇文章.分享知识,造福人民,实现我们中华民族伟大复兴! 本系列文 ...
- 【Unity编程】Unity中关于四元数的API详解
Unity中关于四元数的API详解 Quaternion类 Quaternion(四元数)用于计算Unity旋转.它们计算紧凑高效,不受万向节锁的困扰,并且可以很方便快速地进行球面插值. Unity内 ...
- 【Unity】6.1 Unity中的C#脚本基础知识
分类:Unity.C#.VS2015 创建日期:2016-04-16 一.简介 1.常用的C#数据类型 这里简单介绍用Unity开发游戏时,最常用的一些数据类型. (1)基本类型 int.float. ...
- Unity中BVH骨骼动画驱动的可视化理论与实现
前言 找了很久使用BVH到unity中驱动骨骼动画的代码,但是都不是特别好用,自己以前写过,原理很简单,这里记录一下. 理论 初始姿态 在BVH或者其它骨骼动画中,一般涉及到三种姿势:A-pose,T ...
- 个人技术总结——Unity中角色动画制作及动画切换逻辑的实现
这个作业属于哪个课程 软件工程实践2022春-F班 这个作业要求在哪里 软件工程实践总结&个人技术博客 这个作业的目标 课程回顾与总结+个人技术总结 其他参考文献 <Unity2018教 ...
- Unity中的混合光照
Unity中的混合光照 Baked Indirect Shadowmask Distance Shadowmask Subtractive Reference Unity支持三种混合光照模式,分别是B ...
最新文章
- 理解java中的两种接口
- 开启报名丨中文信息学会青工委学术沙龙:“推荐系统前沿进展”
- 转载 - 使用HTML5、CSS3和jQuery增强网站用户体验
- Sharepoint学习笔记 –架构系列—Sharepoint的客户端对象模型(Client Object Model)
- 学python好不好-为什么要学Python?老男孩Python培训怎么样?
- [GYM 100492A] Average Convex Hull 凸包好题
- 关于ALV GRID的颜色
- CentOS6.5通过jdk8.rpm文件安装JDK8
- YY提交招股书赴美上市:连续三季盈利(转)
- linux安装源码包出现apr错误,Linux源码安装Apchae时报错:error: APR not found.Please read the documentation....
- Visual Studio 快捷键汇总
- jquery.prompt.js 弹窗的使用
- centos8搭建nsis交叉编译环境
- JMETER 用户自定义的变量
- java doubke类型转换为String_Java的基本数据类型你知道吗?
- ConcurrentHashMap1.7到1.8变化
- linux学习命令总结⑩⑦
- 三星手机真假测试软件,#三星EVO Plus MicroSD存储卡# 火眼金睛识真伪、评测软件测性能...
- 移动端用户设置字体放大导致的问题
- 马云单挑“叶问”吊打“战狼”,网友:原来天下武功,唯富不破~是贫穷限制了我的想象力
热门文章
- 教你理清SpringBoot与SpringMVC的关系
- SQL Server数据库索引的基础知识
- JS关闭浏览器 (不弹出提示框)
- sqlhelper中事务的简单用法(初学者)
- java_poi教程.pdf,如何使用POI转换.DOC / .DOCX为PDF在Java ..?
- java method 注释_Java注解
- python 多继承的问题
- 计算机协会丨让技能得到提升,让思维受到启迪
- jmeter学习指南之聚合报告
- Java 并发工具箱之concurrent包