Quaternion:通过API对Quaternion(四元数)类中的方法属性初步学习总结(二)
1.RotateTowards方法
RotateTowards(From.rotation,To.rotation,fspeed)
个人理解:使From的rotation以floatspeed为速度,旋转到To的rotation
speed而是指每次移动的最大长度
2.Slerp球形插值
Quaternion.Slerp(A.rotation,B.rotation,speed)
个人理解:A-B的值的变化趋势不再是一条均匀变化的直线,而是以一种类似于日起日落的方式变化,它将Vector视为向量,而不像Lerp那样视为一个点,顾名思意球形插值
这是分析RotateToward、Slerp与Lerp三者的同异处的帖子
http://www.jianshu.com/p/6287f18260f5
文中提出了这样一种观点:在运行效率上Slerp要比Lerp相对较差,但当旋转A离旋转B比较远的时候,则Slerp的效果相对于Lerp是非常好的。
3.Dot点积
个人理解:返回一个float类型的点积,具体用法不清楚,可能用的不多,Dot方法用的比较多的是Vector3.Dot(transform.forward,target.rotation);返回一个float(transform.z),若为正则在该物体的前方,若为负则在该物体的后方,类似的方法还有比如Vector3.Cross(transform.right,target.rotation);返回一个float(即tansform.x)。
4.Inverse返回反向的旋转
Inverse(rotation);
个人理解:用一个较浅显易懂的说法,当target的rotation.y=45时,这时候返回一个315的值,返回一个反向的数值,即transform.rotation.y=315
public Transform A;
void Update()
{
Quaternion aaa = Quaternion.Inverse(A.rotation);
transform.rotation = Quaternion.Lerp(transform.rotation, aaa, * Time.deltaTime);
}
Inverse
5.FromToRotation从from到to旋转
TromToRotation(Vector.up,tranorm.forward)
个人理解:创建一个旋转,Y轴跟随目标方向,指向ToDirection,不是很理解
6.SetLookRotation注视旋转
SetLookRotation(View:vector3.up,Vector3=Vector3.up)
创建一个旋转,沿着forward(z轴)并且头部沿着Up(Y轴)的约束注释。也就是建立了一个旋转,是z轴指向view,Y轴指向Up;
以上是官方注释的中文版
不是很明白
Quaternion的方法,参数,大致了解了一边,觉得不是很理解,总觉得有些方面理解的太片面。
下篇博客将着重总结总结生成时间间隔的方法
Quaternion:通过API对Quaternion(四元数)类中的方法属性初步学习总结(二)的更多相关文章
- 第6章 Java类中的方法
1.如何定义java的方法 什么是方法:方法使用来解决一类问题的代码集合,是一个功能模块在类中定义个方法的方法是: 访问修饰符 返回值类型 方法名(参数列表){ 方法体 } 1.访问修饰符,是限制该方 ...
- java 27 - 6 反射之 通过配置文件运行类中的方法
在以前,如果我们想要调用一个类中的方法,只能这样子: 例: 有Cat和Dog两个类,里面有eat和run两个成员方法: public class Dog { public void eat() { S ...
- WebForm.aspx 页面通过 AJAX 访问WebForm.aspx.cs类中的方法,获取数据
WebForm.aspx 页面通过 AJAX 访问WebForm.aspx.cs类中的方法,获取数据 WebForm1.aspx 页面 (原生AJAX请求,写法一) <%@ Page Langu ...
- 在client类中设置访问属性 address,business和individua
php 5.4中的traits,是新引入的特性,中文还真不知道如何准确翻译好.其实际的目的, 是为了有的场合想用多继承,但PHP又没多继承 ,于是就发明了这样的一个东西. Traits可以理解为一组能 ...
- C++:调整基类成员在派生类中的访问属性的其他方法(同名成员和访问声明)
4.3 调整基类成员在派生类中的访问属性的其他方法 4.3.1 同名函数 在定义派生类的时候,C++语言允许在派生类中说明的成员与基类中的成员名字相同,也就是 说,派生类可以重新说明与基类成员同名的成 ...
- Hibernate中对象的三种状态以及Session类中saveOrUpdate方法与merge方法的区别
首先,用一张图说明一个对象,在Hibernate中,在调用了不同方法之后对象所处的不同状态 在Hibernate中,一个对象的状态可以被分为如图所示的三种 Transient:瞬时对象,该对象在数据库 ...
- Java基础知识强化之集合框架笔记33:Arrays工具类中asList()方法的使用
1. Arrays工具类中asList()方法的使用 public static <T> List<T> asList(T... a): 把数组转成集合 注意事项: 虽然可以把 ...
- swift -- 类中的方法
一. 引用类型 类 在类中定义方法 class Person { //属性 var name : String = "" //方法 //实例方法 : 在类里面创建一个方法 fun ...
- Python 装饰器装饰类中的方法
title: Python 装饰器装饰类中的方法 comments: true date: 2017-04-17 20:44:31 tags: ['Python', 'Decorate'] categ ...
随机推荐
- 要小心 JavaScript 的事件代理
我们知道,如果给 form 里面的 button 元素绑定事件,需要考虑它是否会触发 form 的 submit 行为.除此之外,其它场合给 button 元素绑定事件,你几乎不用担心这个事件会有什么 ...
- [Python基础]007.字符串
字符串 内建操作 字符串长度 大小写变换 去空格或其他 连接字符串 查找替换 分割 判断 内建操作 字符串长度 len 代码 s = 'abcd' print len(s) 大小写变换 lower 小 ...
- json工具--org.json.jar
org.json可以解析json.把对象包装成json.API文档:http://resources.arcgis.com/en/help/arcobjects-java/api/arcobjects ...
- Could not find the Qt platform plugin windows错误解决方法
在PyCharm中运行PyQt5窗口程序时,出现了下图所有的错误提示. 出现该问题的原因是环境变量没有添加. 解决方法:在环境变量中增加:QT_QPA_PLATFORM_PLUGIN_PATH 路径: ...
- 01 . Nginx简介及部署
Nginx简介 Nginx(发音同engine x)是一个异步框架的 Web 服务器,也可以用作反向代理,负载平衡器 和 HTTP 缓存.该软件由 Igor Sysoev 创建,并于2004年首次公开 ...
- Rocket - tilelink - Xbar
https://mp.weixin.qq.com/s/UXFHYEQaYotWNEhshro68Q 简单介绍Xbar的实现. 1. 基本介绍 用于为Xbar的输入和输出连接生成内 ...
- Redis 入门到分布式 (一)Redis初识
个人博客网:https://wushaopei.github.io/ (你想要这里多有) 一.Redis特性目录 Redis的特性: 速度快 持久化 多种数据结构 支持多种编辑语言 功能丰富 简 ...
- Java实现 LeetCode 440 字典序的第K小数字
440. 字典序的第K小数字 给定整数 n 和 k,找到 1 到 n 中字典序第 k 小的数字. 注意:1 ≤ k ≤ n ≤ 109. 示例 : 输入: n: 13 k: 2 输出: 10 解释: ...
- Java实现 LeetCode 39 组合总和
39. 组合总和 给定一个无重复元素的数组 candidates 和一个目标数 target ,找出 candidates 中所有可以使数字和为 target 的组合. candidates 中的数字 ...
- Java GUI 鼠标事件
import java.awt.Button; import java.awt.FlowLayout; import java.awt.Frame; import java.awt.event.Mou ...