Unity3d (统一)如何旋转子对象而不考虑方向?
我有4个物体,下面都有孩子。当按下按钮时,我想慢慢地旋转这些孩子 示例:按下空格键,对于所有4个父对象,我希望缓慢向下旋转子对象。问题是,它们需要使用相同的脚本,但它们的方向都不同 因此,如果我执行以下操作: 父级1的子级完全向下移动,但父级2的子级向左和向右移动,因为它们的方向不同。当我用手统一旋转它们时,对于父1的孩子,我需要移动Y轴使它们向下旋转,但是对于父2的孩子,它是Z轴 我怎样才能始终将其向下移动而不考虑任何方向? 有一个可选参数relative to。默认情况下,它被设置为Unity3d (统一)如何旋转子对象而不考虑方向?,unity3d,orientation,Unity3d,Orientation,我有4个物体,下面都有孩子。当按下按钮时,我想慢慢地旋转这些孩子 示例:按下空格键,对于所有4个父对象,我希望缓慢向下旋转子对象。问题是,它们需要使用相同的脚本,但它们的方向都不同 因此,如果我执行以下操作: 父级1的子级完全向下移动,但父级2的子级向左和向右移动,因为它们的方向不同。当我用手统一旋转它们时,对于父1的孩子,我需要移动Y轴使它们向下旋转,但是对于父2的孩子,它是Z轴 我怎样才能始终将其向下移动而不考虑任何方向? 有一个可选参数relative to。默认情况下,它被设置为Spa
Space.Self
您想要的是Space.World
也一样
pBone.transform.Rotate(Vector3.right * _boneMoveSpeed * Time.deltaTime, Space.World);
谢谢你的回答。我试过了,但那只会给我一个更奇怪的情况,我不能让任何一个物体向下旋转,而是让它们旋转around@Patrick这取决于你想绕哪个轴旋转<代码>矢量3.向上是Y轴。。。您可能更希望使用
Vector3.right
(X轴)或Vector3.forward
(Z轴)我尝试了所有这些。我认为我们缺少的一点是3D模型本身不同。我刚刚发现了一个叫做左手和右手坐标/向量的东西。似乎在模型中。如上所述,一个Y轴是向上和向下的,另一个Z轴是。我可以使用空间。但这仍然会导致非常奇怪的行为。如果我知道如何在代码中找出一个模型是左撇子还是右手,我可以用它简单地说要么使用vector3.down,要么使用vector3.right,但我不知道如何使用。至于你的建议,我尝试了所有的Vector3方向,并且你无法在代码中找到模型最初是左手还是右手。。。但是,您可以在Unity中将“全部作为子对象”附加到一些空的父游戏对象,并在本地正确旋转它们。然后在代码中转换并旋转父对象。。我们将使用空间。事实上,3d模型的方向并不重要。。它将在世界空间中旋转它们。。。