当我在 unity 中设置 transform.up 值时会发生什么。您能否在下面的链接中具体解释一下这个视频
我知道它会改变对象正在看的东西。但是,它是看一个位置,还是如何看 工作?当我更改直接 transform.up 时会发生什么?我似乎找不到很好的解释。为什么视频中的矢量做一个方向是面向鼠标的,为什么不使用mousePosition本身而不是相减呢?
除此之外,您能否解释一下视频中发生的事情?
提前致谢!
最佳答案
基本上,当您移动一个对象时,您会将其位置和旋转作为引用,因此如果您在对象的 Y 位置上增加 +1 并且该对象发生旋转,您将在该方向上增加。
但是对于 Vector3.up,你使用世界空间作为引用,所以
我想在这里给你一个完整的答案,但我必须输入一些数学,简化,transform.up 是 Sprite 指向的方向,他得到的方向是这样说的:
"mousePosition.y"(GREEN) 是鼠标的位置 Y,"mousePosition.x"(RED) 是鼠标的 X 位置,有了这两个值,你就有了一个坐标,或者一个方向(蓝色追踪线),统一转换为四元数并将值应用于您的旋转(这在 2d 中)。你想使用使用世界空间引用的 Vector3,因为如果你使用本地引用,会发生这样的事情
你会得到错误的方向。
关于c# - 在 Unity 中设置 transform.up 时会发生什么,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52507139/