Unity 利用四元数旋转 强大的四元数

四元数乘法 *
建议非特别了解的人群就不要用了。
作用很简单,c=ab (c,a,b∈Quaternion)可以理解为 ∠c=∠a+∠b
但是a
b 和ba效果不一样的。
相乘会得到一个新的叠加旋转的四元数
以下为lua代码实现功能,
始终沿着一个轴旋转
local quaternionX = Quaternion.AngleAxis(self.y, self.m_fishTankRot.parent:TransformDirection(Vector3.left));
local quaternionY = Quaternion.AngleAxis(self.x, self.m_fishTankRot.parent:TransformDirection(Vector3.down));
local quaternion = quaternionX
quaternionY;
self.m_fishTankRot.localRotation = quaternion;

static function AngleAxis (angle : float, axis : Vector3) : Quaternion
Description
Creates a rotation which rotates angle degrees around axis.
物体沿指定轴向axis旋转角度angle, 很实用的一个函数也是。
脚本:
var obj1: Transform;
var obj2: Transform;
var q:Quaternion;
//物体沿obj2的z轴旋转,角度等于obj1的z轴。
q=Quaternion.AngleAxis(obj1.localEularAngle.z, obj2.TransformDirection(Vector3.forward));
transform.rotation=q;

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容