今天给大家避一个坑
FromToRotation
Unity的FromToRotation是一个静态函数,也就是 Quaternion类才能调用的方法,他会返回一个计算后的旋转量,第一个参数是要旋转什么,第二个参数是要旋转到什么方向去这里的三维坐标全是代表一个向量
既然返回是旋转量,那么使用的时候就要再乘以自己的本身rotation,得到最终的效果
transform.rotation = Quaternion.FromToRotation(transform.up, gravityDir) * transform.rotation;
SetFromToRotation
这个函数很多人说是直接旋转
public Transform A, B, C;
Quaternion q1 = Quaternion.identity;
q1.SetFromToRotation(A.position, B.position);
C.rotation = q1;
但是这是错的,不能得到想要的效果!
Unity解释
也是返回一个旋转量,所以和FromToRotation用法一样!
Q1.SetFromToRotation(transform.up, gravityDir);
transform.rotation = Q1 * transform.rotation;
总结
SetFromToRotation和FromToRotation一模一样,就是一个是静态函数,一个是对象函数而已!
本文地址:https://blog.csdn.net/weixin_44739495/article/details/110679895