unity3d 在编辑过程中用场景中的预制件替换对象

unity3d replacing objects with prefabs in scene during editing

我正在开发一款 2d 游戏。我有8张地图。地图是由 "wall" gameObject 制作的(我复制或复制了它们,是的,这是个坏主意,这是我的第一个大的、正常的项目)。现在我需要更改所有这些 "wall" 组件设置。我想我可以做一个预制件,这样以后会更容易。想象一下我的层次结构是什么样子的,以及我需要改变什么。

我真正想做的是将 3DCollider 添加到 2D "walls" 这样我的粒子就会发生碰撞。任何帮助表示赞赏。

要制作预制件,您必须将游戏对象(墙)拖到 "Project" 视图中。

这里有教程。

https://www.youtube.com/watch?v=wa3MCkxf2U0

遗憾的是,您不能 link 这个新的预制件与其他 wallxx 对象。 所以,你必须自己做。

我的建议是编写一种地图文件。然后从代码中创建结构以在文件信息给出的每个 position/orientation 上实例化墙对象。可能听起来有点复杂,但最终会为您节省很多时间!