团结.. C#。如何在不丢失每个游戏对象定位的情况下将 3 个游戏对象合二为一

UNITY.. C#. How to make 3 gameObjects as one without losing each of gameObjects positioning

我正在使用 unity 中的拖放来制作拼图。拼图就像俄罗斯方块一样,每个拼图都是由一组立方体组成的。需要拖动拼图块,然后将其放入缺少的结构立方体(例如矩形)的插槽中。代码写的很好,但是我在制作对象上很吃力。

这是我的示例游戏的屏幕截图。

Heres the scenario

问题是每个结构都是由一组立方体组成的。当我拖动一个立方体时,它会完美地到达我放下它的位置,并且该位置将被占用。但是当我放下一块由两个立方体组成的碎片时。它只占用一个槽,因为,那块虽然有两个立方体,但被算作一个对象,因为它存储在父对象中,另一个问题是对象的锚点放在中心所以它不会适合每个块,因为anchor 将是找到最近的插槽的那个。 所以,我的问题是如何制作一个包含多个立方体(子级)的对象(父级)而不将其作为一个立方体制作?还是不丢失每个对象的定位?

您可以简单地将游戏对象拖到层次结构中的其他对象上 window 来创建子对象,然后可以在父对象中相对定位。

也许查看预制​​件 (https://unity3d.com/learn/tutorials/topics/interface-essentials/prefabs-concept-usage) 它们将允许您将游戏对象分组并将它们作为一个组定位,使用本地位置(相对于父级)单独定位每个子游戏项目,这本质上是相同的功能,但在层次结构 window 之外分组,可以作为一个组放入场景中或通过脚本实例化