欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

Unity SetFromToRotation和FromToRotation的区别

程序员文章站 2022-03-23 11:52:13
SetFromToRotation和FromToRotation一模一样,就是一个是静态函数,一个是对象函数而已!...

今天给大家避一个坑

FromToRotation

Unity的FromToRotation是一个静态函数,也就是 Quaternion类才能调用的方法,他会返回一个计算后的旋转量,第一个参数是要旋转什么,第二个参数是要旋转到什么方向去这里的三维坐标全是代表一个向量
Unity SetFromToRotation和FromToRotation的区别
既然返回是旋转量,那么使用的时候就要再乘以自己的本身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解释
Unity SetFromToRotation和FromToRotation的区别
也是返回一个旋转量,所以和FromToRotation用法一样!

 
            Q1.SetFromToRotation(transform.up, gravityDir);
            transform.rotation = Q1 * transform.rotation;

总结

SetFromToRotation和FromToRotation一模一样,就是一个是静态函数,一个是对象函数而已!

本文地址:https://blog.csdn.net/weixin_44739495/article/details/110679895

相关标签: Unity日常