跳转至

快速开始

本章介绍如何完成一次基础建筑放置。

开始前,请确保:

1. 创建建筑数据资产

快速创建

右键 Static Mesh 资产,选择 Create Asset,可快速创建:

  • BuildingModuleInfo
  • BuildingDataAsset

创建后,请将资产移动到 Asset Manager 配置的目录中。

手动创建

在内容浏览器中右键:

Miscellaneous (Other)Data AssetBuildingDataAsset

DataAsset

2. 选择渲染模式

HISM

适合大量重复的静态建筑,例如地基、墙体、地板和屋顶。

Render Mode 设置为 HISM,并创建 BuildingModuleInfo

Miscellaneous (Other)Data AssetBuildingModuleInfo

配置以下属性:

  • Mesh
  • Build Collision Profile

然后将其设置到 BuildingDataAssetModule Definition

Actor

适合门、箱子、工作台等需要独立逻辑的建筑。

Render Mode 设置为 Actor,并将继承自 BuildingEntityActor 的蓝图类设置到 Actor Class

3. 配置预览网格体

无论使用 HISM 还是 Actor,都需要配置 Preview Mesh

它用于:

  • 显示建筑预览
  • 碰撞和占地检测
  • 读取吸附 Socket
  • 计算建筑边界

通常可以直接使用建筑的实际 Static Mesh。

预览材质

如需在建筑预览时显示放置状态,例如绿色表示可放置、红色表示不可放置,请在 Mesh 材质中将材质函数 MF_MBS_VisualStateTint 连接到 Emissive Color

Tint Material

具体请参阅 Visual

4. 添加建造组件

在玩家角色或建造 Pawn 中添加:

Building Build Component

该组件负责建筑预览、吸附、合法性检测、建造、移动和拆除。

添加 Build Component

5. 进入建造模式

Project SettingsBuilding System 中配置建造 UI。

  • Use Default:插件自动创建并管理 UI
  • Disabled:插件不处理 UI

UI Settings

通过 BuildingBuildComponent 调用:

Toggle Build Mode, Confirm Build, Cancel Build

可以将该接口绑定到快捷键、UI 按钮、快捷栏或工作台交互。

Input

插件还提供旋转、高度和预览距离调整接口。

完整说明请参阅 BuildComponent API

Input

6. 检查建筑预览

进入建造模式并选择建筑后,系统会自动执行:

  • 表面定位
  • Socket 吸附
  • 碰撞检测
  • 放置合法性检查

吸附功能需要先配置 吸附系统

7. 确认建造

预览位置有效时,调用:

Confirm Build

单人模式下会直接创建建筑。

多人模式下,客户端发送请求,由服务器验证、创建并同步建筑实体。

8. 测试结果

运行游戏并检查:

  • 预览是否正常移动
  • 合法位置是否可以建造
  • 非法位置是否被阻止
  • HISM 和 Actor 建筑是否正确生成
  • 建筑是否被分配到对应 Chunk

无法放置时,优先检查:

  • Static Mesh 是否具有简单碰撞
  • 碰撞通道和 Profile 是否正确
  • 数据资产是否配置完整
  • Building Build Component 是否正确初始化

9. 多人模式测试

使用 PIE 测试 Listen Server:

  1. 设置两名或以上玩家。
  2. 选择 Play As Listen Server
  3. 在客户端放置建筑。
  4. 检查服务器和其他客户端是否同步显示。

下一步