如何扇出GameObjects

时间:2016-12-08 16:02:15

标签: c# unity3d 3d

预信息:使用Kinect v2和Unity3D v5.4

背景:我有一个父GameObject,这是一个3D模型(例如MacBook)。此父GameObject由多个子GameObjects组成。这些子GameObjects是3D模型的较小细节(例如显示,USB端口,键盘等)。 MacBook本身可以旋转和缩放。我想要做的是在使用鼠标滚轮时将这些孩子GameObjects成比例。

问题:如何实现此扇出机制,与父GameObject的当前轮换无关。

图像使它更加清晰。矩形代表孩子GameObjects

open source

提前致谢:)

1 个答案:

答案 0 :(得分:1)

如果您只想更改父级和子级之间的距离,请将其添加到子对象中:

.explainpaymethod

或者这是你的父母:

void Update ()
{
    transform.localPosition += (transform.localPosition.normalized * Input.GetAxis("Mouse ScrollWheel") * 0.4f);
}

编辑:

但如果你希望他们遵循他们的前进方向,请使用这个:

void Update ()
{
    for (int i = 0; i < transform.childCount; i++)
    {
        Transform t = transform.GetChild(i);
        t.localPosition += t.localPosition.normalized * Input.GetAxis("Mouse ScrollWheel") * 0.4f;
    }
}