从Godot 3迁移到Better-Terrain:Autotile用户的无缝过渡方案

从Godot 3迁移到Better-Terrain:Autotile用户的无缝过渡方案

【免费下载链接】better-terrainTerrain plugin for Godot 4项目地址: https://gitcode.com/gh_mirrors/be/better-terrain

Better-Terrain是一款为Godot 4设计的地形插件,它实现了支持多种连接的自动瓦片(Autotile)风格地形系统,能够与现有的瓦片地图和瓦片集以及Godot 4的功能协同工作。对于从Godot 3迁移过来的Autotile用户,这款插件提供了理想的无缝过渡方案。

Godot 4内置的地形系统存在一些棘手的行为,它是为瓦片地图的特定使用场景而设计的,而非更通用的情况。而且该系统运行速度较慢,运行时API也难以使用。由于Godot 3的Autotile系统被替换,导致了非常大的功能缺口,而Better-Terrain正是为解决这些问题而诞生。

为什么选择Better-Terrain进行迁移?

Godot 3的Autotile系统在Godot 4中被替换后,许多用户面临着功能缺失和使用习惯改变的困扰。Better-Terrain作为一款专门为Godot 4设计的地形插件,具有以下优势,使其成为Autotile用户迁移的理想选择:

  • 功能全面:实现了自动瓦片风格的地形系统,支持多种连接方式,弥补了Godot 4内置地形系统的功能缺口。
  • 兼容性好:能够与现有的瓦片地图和瓦片集以及Godot 4的功能协同工作,无需对现有项目进行大规模修改。
  • 运行高效:相比Godot 4内置地形系统,运行速度更快,提升了项目的性能。
  • API易用:提供了易于使用的运行时API,方便开发者在代码中对地形进行编辑和控制。

安装Better-Terrain的简单步骤

要开始使用Better-Terrain,只需按照以下简单步骤进行安装:

  1. 有两种获取方式:

    • 克隆或下载仓库,将addons文件夹复制到你的Godot项目中。仓库地址为:https://gitcode.com/gh_mirrors/be/better-terrain
    • 在Godot的资源库中搜索Better Terrain并点击下载。
  2. 项目设置中,确保在插件选项卡中启用该插件。

  3. 重启Godot。

完成以上步骤后,当你选择瓦片地图节点时,会出现一个名为“Terrains”的新停靠选项卡,你可以在其中定义地形并进行绘制。

快速掌握Better-Terrain的核心功能

Better-Terrain的停靠面板左侧是地形类型,右侧是瓦片。在地形类型的底部,有添加、修改、排序或删除地形类型的按钮。地形类型具有名称、颜色、类型和可选图标。以下是四种核心地形类型及其与Godot 3 Autotile的对应关系:

  • Match tiles:这种地形根据瓦片与相邻瓦片的匹配程度来放置瓦片。它是Godot 3中“3x3”和“3x3 minimal”以及Godot 4内置地形系统中“Match sides”和“Match corners and sides”的良好替代品。

  • Match vertices:这种地形分析每个瓦片的顶点,并选择最高的相邻地形类型(即在地形列表中位置最高,空/非地形是最高的)。它是Godot 3中“2x2”或Godot 4中“Match corners”的替代品。

  • Category:类别用于创建高级匹配规则。分配给类别的瓦片从不修改瓦片地图,但地形可以与类别匹配,也可以属于类别。

  • Decoration:在地形列表的末尾始终只有一种装饰类型可用。它将其瓦片视为空单元格,用于在其他地形的边缘添加补充瓦片。否则,它的行为类似于“Match tiles”。

停靠面板顶部有一系列功能按钮,包括用于在场景中绘制的钢笔、线条、矩形和填充工具(右键将擦除),用于选择、更改类型和更改对等连接类型的按钮,用于瓦片的缩放滑块,用于控制随机化程度的选项以及用于场景的图层选择器。

从Godot 3 Autotile迁移的无缝过渡技巧

对于从Godot 3 Autotile迁移到Better-Terrain的用户,可以采用以下技巧实现无缝过渡:

  1. 熟悉地形类型对应关系:牢记Better-Terrain中的地形类型与Godot 3 Autotile中相应功能的对应关系,如“Match tiles”对应“3x3”和“3x3 minimal”,“Match vertices”对应“2x2”等,有助于快速上手新系统。

  2. 利用现有瓦片资源:Better-Terrain能够与现有的瓦片集协同工作,无需重新创建瓦片资源,只需将其导入并按照新的地形类型进行配置即可。

  3. 参考教程视频:作者制作了一些关于如何使用该插件的视频,通过观看这些视频可以更直观地了解插件的使用方法和迁移技巧。

在代码中使用Better-Terrain的便捷方法

Better-Terrain的地形系统可通过BetterTerrain自动加载类在代码中使用,插件会处理该类的设置。编辑器停靠面板完全使用此类实现,因此功能齐全。

要在运行时编辑地形,首先必须将地形设置到单元格中,然后必须为单元格运行更新函数,以允许它为每个地形选择最佳瓦片。这与Godot 3的API类似。

以下是一些用于设置或获取单元格中地形的函数,地形类型是编辑器中列表的整数索引(例如,第一个地形是0,第二个是1等):

  • func set_cell(tm: TileMapLayer, coord: Vector2i, type: int) -> bool
  • func set_cells(tm: TileMapLayer, coords: Array, type: int) -> bool
  • func get_cell(tm: TileMapLayer, coord: Vector2i) -> int

设置单元格后,必须对其进行更新。使用以下函数之一来运行更新,它们也会更新相邻单元格,但如果需要可以关闭此功能:

  • func update_terrain_cells(tm: TileMapLayer, cells: Array, and_surrounding_cells := true) -> void
  • func update_terrain_cell(tm: TileMapLayer, cell: Vector2i, and_surrounding_cells := true) -> void
  • func update_terrain_area(tm: TileMapLayer, area: Rect2i, and_surrounding_cells := true) -> void

有关详细文档,可在Godot的编辑器帮助系统中访问(按F1)。

通过以上内容,相信你已经对从Godot 3迁移到Better-Terrain有了全面的了解。Better-Terrain作为一款功能强大、易于使用的地形插件,将为你的Godot 4项目带来更好的地形编辑体验,实现从Godot 3 Autotile的无缝过渡。如有任何问题,欢迎报告错误或在Godot官方Discord服务器上联系作者(Portponky#6300)。祝你使用愉快!

【免费下载链接】better-terrainTerrain plugin for Godot 4项目地址: https://gitcode.com/gh_mirrors/be/better-terrain

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考