团结.c#.如何使3个gameObjects作为一个而不丢失每个gameObjects的定位

本文关键字:gameObjects 一个 定位 何使 3个 团结 | 更新日期: 2023-09-27 18:06:19

我正在制作一个使用拖拽&团结一致。拼图就像俄罗斯方块,每个拼图都是由一组立方体组成的。拼图需要被拖拽,然后放入结构中缺失的立方体的插槽中(例如:矩形)。代码做得很好,但是我在制作对象时遇到了困难。

这是我的样本游戏的截图。

场景如下

问题是每个结构都是由一组立方体组成的。当我拖动一个立方体时,它会完美地回到我放它的位置,那个位置会被占用。但是当我扔下一个由两个立方体组成的物体。它只占用一个槽,因为,那个块,虽然有两个立方体,被算作一个对象,因为它被存储在父对象中,另一个问题是,对象的锚点被放在中心,所以它不适合每个块因为锚点会找到最近的槽,它会被丢弃。所以,我的问题是我如何使一个对象(父)与许多立方体(子),而不是作为一个?或者不丢失每个对象的定位?

团结.c#.如何使3个gameObjects作为一个而不丢失每个gameObjects的定位

你可以简单地将游戏对象拖到层次窗口中的其他对象上以创建子对象,然后这些子对象可以相对地定位在父对象中。

也许看看Prefabs (https://unity3d.com/learn/tutorials/topics/interface-essentials/prefabs-concept-usage),它们将允许你将游戏对象分组并将它们定位为一个组,使用本地位置(相对于父元素)单独定位每个子游戏项目,本质上是相同的功能,但在层次窗口之外分组,可以作为一个组放入场景中或通过脚本

实例化
相关文章: