Unity SetFromToRotation和FromToRotation的区别

今天给大家避一个坑

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

(0)
上一篇 2022年3月21日
下一篇 2022年3月21日

相关推荐