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

Unity 四元数和向量相乘

2017-12-19 19:52 736 查看

Unity 四元数和向量相乘

原创 2016年12月08日 16:51:35

标签:
unity3d

position = rotation*Vector3(0.0, 0.0, -distance) + target.position;  

这是相机环绕的一段代码,当时无法理解这是怎么实现环绕的

,上网查找了一些资料之后终于明白了,特来记录一下



Unity 里的rotation是四元数,四元数*向量   得到的是经过旋转后的向量,  例如 Quaternion.Euler(0,90,0) *  vector3(0 , 0 , -distance)  得到的是  (-distance,0,0)

实际上就是把(0,0,-distance)绕着y轴旋转90度变成了 (-distance,0,0)   ,在与目标位置相加后就能围绕目标环绕了










yaonan123

2017-09-15 23:07 1楼

还记得四元数乘以向量的问题吗?position = rotation*Vector3(0.0, 0.0, -distance) + target.position;

这样的到的positon是不固定的,改变distance的值,这样摄像机得位置就会发生变化,在开始的那一刹那,摄像机位置发生变化
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: