您的位置:首页 > 移动开发 > Unity3D

Unity四元数小问题整理

2016-12-15 20:22 691 查看
1.Unity中,四元数不能保存超过360度的旋转,所以如此大范围的旋转不能直接两个四元数做插值(当你用0度和721度的四元数做插值,它只会转1度,而不会转两圈)。

2.要把旋转设置成某个方向,用LookRotation,不要用FromToRotation。前者结果测试过,是绝对准确的。

3.四元数插值报错:!CompareApproximately (aScalar, 0.0F)。是由于四元数值过小造成的,需要判断模平方是否小于最小值

拿到四元数模平方:

Quaternion.Dot(a, a)


比较,归零 即可:

if (Quaternion.Dot(a, a) < Quaternion.kEpsilon)
a = Quaternion.identity;
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: