将游戏对象从Unity中的生成器连接到窗格?

时间:2018-07-28 19:01:57

标签: unity3d

我有一个带有一个立方体的窗格,上面有一个生成器,在玩游戏时会生成立方体。窗格可以旋转,并且多维数据集应该粘在窗格上并向前移动。 我被卡住的部分是使生成器产生的立方体粘在一起。

我设法用

Object1.transform.parent = Object2.transform;

我还设法使用相同的方法使生成器粘在窗格上。

但是,当我使用此功能时,第一个多维数据集会很好地粘住,并且生成器中的多维数据集不会显示。根据我的研究,这可能是一个扩展问题。而且,生成的多维数据集的确会显示为“ Cube(clone)”,但其比例与原始多维数据集不同。我还注意到当我按播放时原始多维数据集的比例会发生变化。它从-(10,10,10)到浮点数。

我尝试的一种解决方案是设置比例,但是当我这样做时,对象根本不会粘在窗格上。

但是它们确实正常产卵。使用此方法。

 void Update () {
     Vector3 scale = new Vector3(10, 10, 10);
     Object1.transform.localScale = scale;
     Object1.transform.parent = Object2.transform;
}

如果有人有任何想法,将不胜感激。

1 个答案:

答案 0 :(得分:0)

在这种情况下,通常最好先对对象进行父处理,然后再处理局部转换。 transform.localPositiontransform.localRotationtransform.localScale之类的局部转换处理的是对象相对于父对象的局部值。

this page的末尾有一段描述得很好:

  

请注意,将应用父变换的世界旋转和比例   计算世界位置时的位置。这表示   当Transform.position中的1个单位始终为1个单位时,   Transform.localPosition将按所有祖先的比例进行缩放。