Godot4.3类星露谷游戏开发之【创建家园】

千里之行,始于足下

一、创建房屋场景

第一步,我们新建场景;

  • 房屋(Node2D
    • 房屋图块(Node2D
      • 地板(TileMapLayer
      • 墙壁(TileMapLayer
      • 家具(TileMapLayer

创建房屋场景
第二步,选中地板,新建 TileSet ,另存为 家园图块集 到图块集文件夹中;

家园图块集
第三步,将房屋资产导入底栏的 TileSet 图块中(下载链接见文末);

房屋资产导入
第四步,在弹窗中选择否;

否
第五步,选中基础图块中的地板(图中高亮部分);

地板
第六步,新建一个文件夹 res://场景/家园/ ,将当前场景保存至该路径;

res://场景/家园

二、布置地板

第一步,选择地板图块与合适的作图工具;

选择地板图块与合适的作图工具
第二步,开始布置地板;

布置地板
地板布置完成!

三、布置墙壁

第一步,选中 墙壁 节点,快速加载 家园图块集.tres

加载家园图块集.tres

第二步,按住鼠标拖动创建选中墙壁图块;

选中墙壁图块
第三步,创建物理层,用于设置墙壁碰撞体;

创建物理层
第四步,在TileSet->选择->物理中,切换为半像素吸附;
切换为半像素吸附
第五步,为墙壁设置合适的碰撞体;

设置合适的碰撞体1
设置合适的碰撞体2
第六步,切换到 TileMap ,选择 墙壁图块 ,并布置墙壁;

布置墙壁1
布置墙壁2

四、布置家具

第一步,选中 家具 节点,快速加载 家园图块集.tres

加载家园图块集.tres
第二步,打开TileSet,将家具精灵表导入图块库(下载链接见文末);

将家具精灵表导入图块库
第三步,在弹窗中选否;

否
第四步,在TileSet中选中所有家具;

TileSet中选中所有家具
第五步,开始绘制物理层;

开始绘制物理层
盆栽只需绘制花盆:

盆栽
座椅只需绘制底部:

座椅
而挂画、时钟和地毯此类家具无需碰撞,不用绘制物理层;

不用绘制物理层
第六步,绘制好各家具物理层后,可在 TileMap 下绘制房屋;

绘制房屋

五、测试碰撞是否生效

第一步,将 res://场景/测试/测试_基本地形.tscn 路径下的 测试_基本地形 复制为 测试_家园 场景;

第二步,去除与测试无关的节点,并更改节点树如下;

  • 测试_家园(Node2D)
    • 水面(TilemapLayer)
    • 地面(TilemapLayer)
    • 家园(TilemapLayer)
    • 玩家1(CharaterBody2D)
      • camera2D

更改节点树
第三步,选中 家园 节点,加载 基本地形图块集.tres

加载基本地形图块集.tres
第四步,在TileSet 中点击【+】创建场景合集,并导入 房屋 场景;

导入房屋
第五步,在TileMap中选中房屋,在 测试_房屋 场景中绘制;

绘制房屋
第六步,因为房屋位于物理层1,所以更改玩家物理层如下;

更改玩家物理层
第七步,进入 调试 ->勾选 显示碰撞区域

显示碰撞区域
最后,运行测试;

运行测试
测试完成!

六、免费开源资产包

某开源网站精灵图资源包链接: 点击此处

  1. 进入链接后点击下图按钮
    下载

  2. 然后点击【No thanks,just take me to the downloads】(不了谢谢,只想下载)
    No thanks,just take me to the downloads

  3. 最后点击下图按钮完成下载(注意导入前需解压缩)
    下载