在 Unity 中设置 transform.up 时会发生什么
What Happens When Setting transform.up in Unity
当我在 unity 中设置 transform.up 值时会发生什么。您能否在下面的 link
中具体解释一下这个视频
我知道它会改变对象正在看的东西。但是,它是看一个位置,还是如何看
工作?当我更改直接 transform.up 时会发生什么?我似乎找不到很好的解释。为什么视频中的vector做一个朝向鼠标的方向,为什么不用mousePosition本身而不是相减呢?
除此之外,您能否也解释一下视频中发生的事情?
提前致谢!
基本上,当您移动一个对象时,您将其位置和旋转作为参考,因此如果您在对象的 Y 位置上增加 +1,并且该对象发生旋转,您将在该方向上增加。
但是对于 Vector3.up,你使用世界 space 作为参考,所以
我想在这里给你一个完整的答案,但我必须输入一些数学,简化,transform.up 是精灵指向的方向,他得到的方向是这样说的:
"mousePosition.y"(GREEN)是鼠标的Y坐标,"mousePosition.x"(RED)是鼠标的X坐标,有了这两个值,你就有了一个坐标,或者方向(蓝色描线),统一转换为四元数并将值应用于您的旋转(这在 2d 中)。您想要使用使用世界 space 引用的 Vector3,因为如果您使用本地引用,会发生这样的事情
而且你会走错方向。
变换对象使用此向上矢量自动计算四元数旋转,例如从默认 Vector3.up 到新变换向上矢量。
当我在 unity 中设置 transform.up 值时会发生什么。您能否在下面的 link
中具体解释一下这个视频我知道它会改变对象正在看的东西。但是,它是看一个位置,还是如何看 工作?当我更改直接 transform.up 时会发生什么?我似乎找不到很好的解释。为什么视频中的vector做一个朝向鼠标的方向,为什么不用mousePosition本身而不是相减呢?
除此之外,您能否也解释一下视频中发生的事情?
提前致谢!
基本上,当您移动一个对象时,您将其位置和旋转作为参考,因此如果您在对象的 Y 位置上增加 +1,并且该对象发生旋转,您将在该方向上增加。
但是对于 Vector3.up,你使用世界 space 作为参考,所以
我想在这里给你一个完整的答案,但我必须输入一些数学,简化,transform.up 是精灵指向的方向,他得到的方向是这样说的:
"mousePosition.y"(GREEN)是鼠标的Y坐标,"mousePosition.x"(RED)是鼠标的X坐标,有了这两个值,你就有了一个坐标,或者方向(蓝色描线),统一转换为四元数并将值应用于您的旋转(这在 2d 中)。您想要使用使用世界 space 引用的 Vector3,因为如果您使用本地引用,会发生这样的事情
而且你会走错方向。
变换对象使用此向上矢量自动计算四元数旋转,例如从默认 Vector3.up 到新变换向上矢量。