godot游戏引擎_瓦片集和瓦片地图介绍

devtools/2024/11/28 6:26:52/

在 Godot 中,TileSetTileMap 是用于处理瓦片地图的两个关键概念,它们的作用和用途有明显的区别。以下是两者的详细对比:


1. TileSet(瓦片集)

TileSet 是资源,定义瓦片的内容和属性

特点:
  • 用来定义瓦片资源:
    TileSet 是一个可复用的资源,存储了所有可用瓦片的图块(Tiles)、碰撞、动画、导航等信息。

  • 设计阶段:
    TileSet 中,你可以:

    • 指定每个瓦片的纹理(图像)。
    • 定义瓦片的碰撞形状(例如,某些瓦片是否可碰撞)。
    • 添加瓦片动画。
    • 为瓦片分配导航网格。
  • 复用性:
    一个 TileSet 可以被多个 TileMap 节点复用。

用途:

TileSet 是瓦片的“工具箱”,它定义了所有瓦片的规则、外观和行为,但不会直接显示在场景中。


2. TileMap(瓦片地图)

TileMap 是场景中的节点,用于绘制瓦片地图

特点:
  • 用来绘制瓦片:
    TileMap 节点使用一个 TileSet 资源,通过在场景中放置瓦片,创建实际的地图。

  • 场景中显示:
    TileMap 是在实际场景中放置瓦片地图的工具,可以直接在 2D 场景编辑器中绘制和编辑瓦片。

  • 功能:

    • 支持多种绘制工具,例如笔刷、矩形填充、桶工具等。
    • 可以调整瓦片网格大小、对齐方式和偏移。
    • 支持多图层(Godot 4.x 中为 TileMapLayer 子节点)。
  • 与游戏逻辑交互:
    TileMap 会根据 TileSet 的定义自动生成碰撞、导航和动画效果,在运行时直接与游戏角色交互。

用途:

TileMap 是瓦片的“画布”,它使用 TileSet 的内容,实际展示并管理瓦片地图。


对比总结:

属性TileSetTileMap
定义类型资源:定义瓦片的内容和属性节点:在场景中使用瓦片绘制地图
功能定义瓦片外观、碰撞、导航和动画绘制、显示和管理瓦片地图
是否可复用可被多个 TileMap 使用通常是一个具体的场景实例,不易复用
与场景的关系不直接存在于场景中存在于场景中,直接影响游戏表现

简单类比:

  • TileSet 是画家的调色板,包含所有的颜色和画笔(瓦片的定义)。
  • TileMap 是画布,使用调色板中的颜色和画笔,绘制实际的作品(瓦片地图)。

在 Godot 中,选择绘制属性并为瓦片设置位掩码(Bitmask),主要是用于自动图块(Autotiling) 功能。这个功能可以让瓦片在绘制时,根据周围的瓦片自动调整形状,从而更高效地创建地图,比如铺设道路、草地或围墙。

以下是这个过程的详细解释:


1. 背景知识

  • 位掩码(Bitmask):
    位掩码用于定义瓦片与其周围瓦片的连接规则。通过设置位掩码,可以让 Godot 自动选择正确的瓦片形状,避免手动调整边界或连接点。

  • 自动图块:
    当你为一个瓦片设置了位掩码后,Godot 根据绘制时瓦片的相邻情况,自动决定要使用哪一个瓦片。


2. “在图中点击所有瓦片”的含义

这一步是为了选择瓦片图集中需要定义位掩码的瓦片。比如,你可能有一组瓦片用于地板,有不同的形状(拐角、边缘、中心等),你需要在 TileSet 编辑器中逐一选择它们。

步骤:

  1. 打开 TileSet 资源。
  2. TileSet 编辑器中,点击瓦片图集中的瓦片,选中需要设置位掩码的所有瓦片。

3. “绘制位掩码”的含义

位掩码是通过在瓦片上手动绘制来定义的,表示该瓦片与哪些方向的相邻瓦片连接。

步骤:

  1. 进入 Bitmask 模式:
    TileSet 编辑器中,找到 Bitmask 工具并切换到它。

  2. 选择位掩码类型(重要!):

    • 2x2 位掩码: 简单位掩码,每个瓦片有 4 个部分(左上、右上、左下、右下)。适合简单地形。
    • 3x3 位掩码: 细致位掩码,每个瓦片有 9 个部分(上下左右四边、四角和中心)。适合复杂连接规则。
  3. 绘制位掩码:

    • 在瓦片的编辑区域内,点击或拖动鼠标绘制连接部分。
    • 每个“被填充”的部分表示该瓦片与该方向的瓦片相连。

完整流程示例:

假设你有一组瓦片用于绘制一片草地,草地边缘会根据周围是否有其他草地瓦片来改变形状。

  1. 选择瓦片:

    • 打开 TileSet 编辑器,选择草地相关的瓦片。
  2. 设置位掩码:

    • 进入 Bitmask 模式,为每个瓦片手动绘制连接规则。
    • 中间的瓦片(完全包围)设置所有方向为“连接”。
    • 边缘瓦片只设置相应的一侧为“连接”。
    • 拐角瓦片则仅设置两个相邻方向。
  3. 保存并应用:

    • 保存 TileSet 设置。
    • TileMap 中使用这个 TileSet,绘制时草地瓦片会根据周围环境自动选择正确的瓦片形状。

在为一个瓦片图集(TileSet)定义自动图块时,你需要:

  1. 选择所有要设置规则的瓦片
  2. 切换到 Bitmask 模式,绘制每个瓦片的连接规则。

通过完成这些操作,绘制地图时会更加智能化和高效。


http://www.ppmy.cn/devtools/137590.html

相关文章

安全设备-日志审计-系统安装部署配置

3.1 系统安装部署概述 通过系统初始化安装部署,可实现对系统的基础管理工作。系统安装基本部署涉及功能有时间配置、 资产组、资产、用户组、用户、时间配置等) 3.2 系统安装部署配置举例 3.2.1 用户场景 本阶段进行系统安装,进行相关设…

《全面解析图像平滑处理:多种滤波方法及应用实例》

简介:本文深入探讨图像平滑处理技术,针对图像中存在的噪声问题,详细介绍了均值滤波、方框滤波、高斯滤波、中值滤波、双边滤波和 2D 卷积(自定义滤波)等多种滤波方法。阐述了各滤波方法的原理差异,如均值滤…

hadoop-mapreduce词频统计

一、Map Reduce主要阶段 二、词频统计示例 0.MapReduce 词频统计(Word Count)示例图 1. Input 阶段(输入阶段) 输入数据是一段文本,如下: Hadoop is a big data framework. Hadoop can store vast data. Hadoop processes big …

【设计模式】创建型模式之单例模式(饿汉式 懒汉式 Golang实现)

定义 一个类只允许创建一个对象或实例,而且自行实例化并向整个系统提供该实例,这个类就是一个单例类,它提供全局访问的方法。这种设计模式叫单例设计模式,简称单例模式。 单例模式的要点: 某个类只能有一个实例必须…

模数转换芯片AD9215

AD9215 是 Analog Devices 公司推出的一款高性能、低功耗、单通道 10 位模数转换器(ADC)。它具有采样速率高达 65 MSPS 或 105 MSPS(不同型号),并广泛应用于通信、成像和仪器仪表等领域。 AD9215 的关键特性 分辨率: 10 位,适合高精度应用。采样速率: 两种型号: AD921…

win、linux等环境下python输出cpu、gpu、avx等硬件信息

测试时输出环境信息,方便判断是否可以开启部分优化 # 环境: 20241030 win10 vs2022 python3.9.13 # vs2022时,在 C:\Program Files (x86)\Microsoft Visual Studio\Shared\Python39_64\Scripts 下运行 pip install import os import sys import psutil …

“蜀道山”高校联合公益赛 Web (部分)

文章目录 奶龙牌WAF海关警察训练平台恶意代码检测器 奶龙牌WAF <?php if ($_SERVER[REQUEST_METHOD] POST && isset($_FILES[upload_file])) {$file $_FILES[upload_file];if ($file[error] UPLOAD_ERR_OK) {$name isset($_GET[name]) ? $_GET[name] : basen…

【Flink】快速理解 FlinkCDC 2.0 原理

快速理解 FlinkCDC 2.0 原理 要详细理解 Flink CDC 原理可以看看这篇文章&#xff0c;讲得很详细&#xff1a;深入解析 Flink CDC 增量快照读取机制 (https://juejin.cn/post/7325370003192578075)。 FlnkCDC 2.0&#xff1a; Flink 2.x 引入了增量快照读取机制&#xff0c;…