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 ==
判断两个四元数是否相等

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/277611.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Python PIPEs

2019独角兽企业重金招聘Python工程师标准>>> https://www.python-course.eu/pipes.php https://www.tutorialspoint.com/python/os_pipe.htm 转载于:https://my.oschina.net/zungyiu/blog/1860857

延时消息_Handler的消息延时是怎么实现的

消息延时做了什么特殊处理?是发送延时,还是消息处理延时?延时的精度如何?通常我们使用Handler的消息延时都是调用sendMessageDelayed函数实现的,其中delayMillis是需要延时的毫秒。通过跟踪sendMessageDelayed函数可以…

4 关卡流 进阶_全息武器全解析,记住4个点全区第一就是你!

实不相瞒,每次看着全息武器糖糖都感觉自己像钢铁侠高端大气上档次,低调奢华有内涵那么问题来了!这个全息武器究竟该怎么玩才能成为真正的钢铁侠?我的使命之全息武器【作者:D38激战阿曼——潜龙小生】全息武器在属性增加…

【渗透过程】嘉缘网站 --测试

声明:本片文章测试网站为测试靶场 信息收集阶段: 首先使用了一些常见的扫描工具:nmap 御剑 使用nmap扫描端口 发现网站开放了 135 139 445 3306 等端口 这里可以看到网站开放了一些危害较高端口:135 225等 使用御剑扫描到一些敏感…

文档过期打不开怎么办_标准的产品需求文档在这里!(详细说明版)(2)

接着上篇继续写,上篇请点击标准的产品需求文档在这里!(详细说明版)(1)入口已经写完,读此文档的无论是研发人员还是测试都已经知晓此需求需要做的从哪里进入,接下来就是主菜了,进入以后该干嘛。进入以后当然就是新的页面…

Macbook全系列详细分析及购机指南

时至今日,极佳的用户体验、强大的功能、独特的设计感、广阔的市场和无可比拟的品牌魅力已经让苹果公司各种电子产品的迅速普及,其中Macbook逐渐被越来越多的人所青睐,尤其是从事一些特定行业的工作者(比如IT、电信、互联网以及艺术…

惠普m1005连接电脑步骤_电脑连接电视机详细步骤方法图文

电脑连接电视机有什么好处呢?小编想到了几点,那就是屏幕大,而且可以在电视机上使用网络看到自己想看的剧。还有就是可以更多的人一起做着来看。所以总的来说电脑连接电视机还是好处比较多的。下面我就来告诉你们电脑怎么连接电视机。有的时候…

对程序实施精准手术!阿里安全猎户座实验室首创“自动逆向机器人”

近日举办的看雪安全开发者峰会上,阿里安全猎户座实验室首度向外界展示了最新的研究成果——“自动逆向机器人”。该机器人可以像医生一样“望闻问切”,对程序进行显微镜级别的勘察,并完整“回放”其运作过程,因此,可以…

《魔兽世界》的魅力究竟在哪儿?

写在前面:《魔兽世界》(World of Warcraft,后面简称WOW),是由暴雪开发的一款大型角色扮演网络游戏,曾经付费的正式用户一度超过1150万人,覆盖244个国家和地区,是曾经的“世界第一网游…

Service Mesh所应对的8项挑战

2019独角兽企业重金招聘Python工程师标准>>> Lori Macvittie 微服务架构是把双刃剑,我们享受它带来的开发速度(development velocity),却也不得不面对服务间通讯带来的复杂性问题。 目前大多数扩展容器化微服务的架构多…

什么叫内部银团_什么是紫钛晶?紫钛晶是不是天然水晶?

都说紫钛晶是紫水晶与钛晶的结合,听上去好像这种水晶不是天然的,像是人工合成的,事实上并非如此,紫钛晶也是天然形成的水晶,由于内部的包裹体是金色的,因此被称为紫钛晶。和菩心晶舍家的晶舞倾城一起了解紫…

如何使用Squid服务来构建=》传统和透明代理服务器,通俗易懂!

1、缓存代理概述: 作为应用层的代理服务软件,Squid主要提供缓存加速和应用层过滤控制的功能 2、代理的工作机制: (1)当客户机通过代理来请求web页面时,指定的代理服务器会先检查自己的缓存,若缓…

Bootstrap开发框架视频整理

最近到客户处进行实地培训,整理了很多培训的材料,现将它们录制相关主题的视频,作为我的Bootstrap开发框架的知识补充,希望给感兴趣的朋友进行了解。培训内容主要包括基础框架部分、MVC框架部分、Bootstrap框架部分、Bootstrap重要…

【c基础】入门语法

%d:占位符 表示要输出一个整形数。 %f:为float 浮点数 %lf:为double型 双精度浮点数 \n:换行 const:定义一个常量,一旦被初始化就不能修改,只读的变量(read-only variable)。 整数运算 的结果是整数 如果有小数就抛弃没有考虑四舍五入。 一&a…

day22 Java学习 IO流(序列流)

IO流(序列流) 序列流: * 可以把多个字节输入流整合成一个,从序列流中读取数据时,将从被整合的第一个流开始读,读完一个之后继续读第二个。 整合方式: * Seq uenceInputStream ( InputStream &am…

Unraveling the JPEG file

(文章还剩实践部分没写,答辩过后补上...) JPEG文件在当下数字化生活中是无处不在的,但是在熟悉的JPEG面纱背后,隐藏着一些算法,它们去除了人类眼中无法察觉到的细节。这产生了最高的视觉质量与最小的文件大小。让我们来看看这一算…

mysql interval 3 day_Mysql之INTERVAL与DATE_SUB与EXTRACT函数的使用

1. INTERVALINTERVAL代表的是时间间隔MySQL中的时间间隔类型有如下几种:1.1 利用INTERVAL做时间的加减法示例:加法:SQL>SELECT DATE 2018-11-01 INTERVAL 10 11 DAY_HOUR;结果:2018-11-11 11:00:00减法:SQL> select date 2018-11-11 11:00:00 -INT…

0727日志

为什么80%的码农都做不了架构师?>>> c端线上地址 http://x.diandanme.com/fe/?d183#/ 什么时候来需求,我做好准备了吗? eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJodHRwOlwvXC94LmRpYW5kYW5tZS5jb21cL2FwaVwvd2VjaGF0XC…

Python基础学习总结__Day3

一、集合 1.特性:无序且天生去重,格式为{} 2.作用: (1)去重 (2)关系测试 3.可调用函数(常见对列表操作) (1)取…

day8网络编程,面向对象1

一.只是回顾 1.导入模块的顺序,首先从当前目录下找,再从环境变量里面找,使用"sys.path.insert(0,需要导入的环境变量)"加入需要导入文件的环境变量; 2.如果不同项目中有相同的文件,需要导入文件,需要将非当前项目中右键添加的环境变量取消,将当前的环境变量添加上去;…