四元数常用方法

1、单位四元数

单位四元数表示没有旋转量(角位移),当角度为0或者360度时,对于给定轴会得到单位四元数。

【1,(0,0,0)】和【-1,(0,0,0)】都是单位四元数,表示没有旋转量

在四元数中,用【Quaternion.identity】表示

通常用在实例化对象:Instantiate(obj, Vector3.zero, Quaternion.identity),表示在原点生成一个没有旋转的物体obj

2、四元数插值运算

四元数中同样提供了如同Vector3的插值运算:Lerp和Slerp

在四元数中,Lerp和Slerp只有一些细微差别,由于算法不同,Slerp的效果会好一些

Lerp的效果相比Slerp更快但是如果旋转范围较大,效果较差,所以建议使用Slerp进行插值运算

3、向量指向转四元数

Quaternion. LookRotation(面朝向量)

LookRotation方法可以将传入的面朝向量,转换为对应的四元数角度信息

举例:当人物面朝向像改变时,只需要把目标面朝向传入该函数,便可以得到目标四元数角度信息,之后将人物四元数角度信息改为得到的信息即可达到转向

总结:

(1)单位四元数——用于对象角度初始化

(2)插值运算——用于平滑旋转

(3)向量指向转四元数——用于让对象朝向某方向

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值