Unity 2d:可交互的瓷砖

Unity 2d: Interactable tiles

我想创建一个带有可交互图块的 2d 游戏,即农田、树木、易碎岩石等

现在,如果我在 Tiled 中创建了我目前所做的瓷砖地图,它不提供那种类型的控制。

我找到了一些关于如何处理这个问题的帖子,但它们至少已有 3 年历史,所以想知道是否有更新的答案?也许是 Unity 内置的东西或我不知道的插件可以帮助在 Unity 中创建 Tilemaps?

例如,如果我用锄头或水击打 1 瓦草,我希望它能够做出反应,然后变成泥土。我唯一的选择是创建预制件并将每个图块放置为自己的游戏对象吗?这不会降低在广阔世界中的表现吗?

您可以尝试将 Tiled tilemap 导出为 .tmx 格式,在 Unity 中创建一个脚本,为您的地图加载 .tmx 文件并在 for 循环中读取每个单独的图块。

您需要为瓷砖地图的每个瓷砖 ID 分配一个预制件,并且在该预制件中,您可以在脚本中附加逻辑(草对 hoe/water 做出反应)和图形。

另一个想法是导出一张地图的大图像,然后以与之前解释的相同的方式导出 .tmx 格式,但仅为玩家可以与之交互的 ID 创建游戏对象,并且只为它们附加脚本。