【发布时间】:2016-11-21 20:31:23
【问题描述】:
在层次结构中,我有一个 Cube,我将其重命名为 Unit。 作为孩子,我有一个空的游戏对象,将其重命名为电梯。 然后作为电梯的孩子,我有一个立方体将其重命名为平台,作为平台的孩子,我有另一个立方体将其重命名为 OnTop Detector。
然后作为电梯的孩子,我还有一个 Platform1(立方体)和一个按钮(胶囊)。
这是显示它的屏幕截图:
现在我想在原版中做的一般是使用我的脚本来旋转电梯和所有它的孩子和孩子的孩子使用鼠标。
如果我将脚本附加到 Elevator 的每个子节点,我可以毫无问题地旋转这个特定对象。但我想将它们全部旋转为一个单元,我想旋转电梯。
问题是在电梯上我有一个动画组件,里面有两个动画剪辑。并且动画会覆盖旋转。
所以我试图做的是添加另一个名为 Unit 的 Cube 并将脚本附加到它,以便我可以旋转它。现在的问题是场景中的对象不像以前那样缩放了。
我还希望 Unity(Cube) 不会被看到并且不会发生碰撞,如果我在上面移动玩家,它不会像它不存在一样,但我希望能够使用它来旋转所有子对象。
这是我添加单元(立方体)之前的样子:
但是一旦我拖动电梯并使其成为单元的子级,整个场景就会像第一个屏幕截图一样混乱。
这是我的脚本:
using UnityEngine;
using System.Collections;
public class ObjectRotate : MonoBehaviour {
public float multiplier = 10f;
void OnMouseDrag()
{
transform.Rotate(Input.GetAxis("Mouse Y") * multiplier, -Input.GetAxis("Mouse X") * multiplier, 0, Space.World);
}
}
该脚本可以很好地旋转每个单独的对象,但可以将它们全部旋转为一个单元。
更新
将 Button 和 Platform1 移动为 Platform 的子项后,它们不会像第一个屏幕截图中那样缩放:
【问题讨论】: