Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/unity3d/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/wordpress/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Unity3d (统一)如何旋转子对象而不考虑方向?_Unity3d_Orientation - Fatal编程技术网

Unity3d (统一)如何旋转子对象而不考虑方向?

Unity3d (统一)如何旋转子对象而不考虑方向?,unity3d,orientation,Unity3d,Orientation,我有4个物体,下面都有孩子。当按下按钮时,我想慢慢地旋转这些孩子 示例:按下空格键,对于所有4个父对象,我希望缓慢向下旋转子对象。问题是,它们需要使用相同的脚本,但它们的方向都不同 因此,如果我执行以下操作: 父级1的子级完全向下移动,但父级2的子级向左和向右移动,因为它们的方向不同。当我用手统一旋转它们时,对于父1的孩子,我需要移动Y轴使它们向下旋转,但是对于父2的孩子,它是Z轴 我怎样才能始终将其向下移动而不考虑任何方向? 有一个可选参数relative to。默认情况下,它被设置为Spa

我有4个物体,下面都有孩子。当按下按钮时,我想慢慢地旋转这些孩子

示例:按下空格键,对于所有4个父对象,我希望缓慢向下旋转子对象。问题是,它们需要使用相同的脚本,但它们的方向都不同

因此,如果我执行以下操作:

父级1的子级完全向下移动,但父级2的子级向左和向右移动,因为它们的方向不同。当我用手统一旋转它们时,对于父1的孩子,我需要移动Y轴使它们向下旋转,但是对于父2的孩子,它是Z轴

我怎样才能始终将其向下移动而不考虑任何方向?

有一个可选参数relative to。默认情况下,它被设置为
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模型的方向并不重要。。它将在世界空间中旋转它们。。。