跳转至

插件概述

Modular Building System 是一个面向 Unreal Engine 的模块化建筑插件,适用于生存、沙盒、基地建造和多人游戏。

插件核心使用 C++ 实现,并向蓝图开放常用组件、数据资产、事件和扩展接口。标准建造流程可以在纯蓝图项目中完成,无需修改插件源码。

核心功能

  • HISM 与 Actor 两种建筑渲染模式
  • 基于 Building Entity 和 Chunk 的建筑管理
  • 建筑预览、放置、移动和拆除
  • Static Mesh Socket 吸附
  • 结构支撑与坍塌检测
  • 服务器权威的多人建造流程
  • 可扩展的成本、权限和特效系统

核心架构

Building Entity

每个已放置建筑都会对应一个 Building Entity,用于保存:

  • Entity ID
  • World Transform
  • Building Asset ID
  • Owner
  • Runtime Attributes
  • Gameplay Tags

Building Entity 是建筑的逻辑数据,不等同于 Unreal Actor。

无论建筑使用 HISM Instance 还是独立 Actor 表现,系统都会通过 Building Entity 统一管理。

Chunk System

建筑会根据世界位置分配到不同 Chunk。

Chunk 负责管理一定区域内的建筑实体、视觉对象、实例映射和网络复制数据,从而降低大规模建筑场景的查询和维护成本。

Rendering Modes

插件支持两种主要渲染模式:

  • HISM: 适合地基、墙体、地板和屋顶等大量重复的静态模块。
  • Actor: 适合门、箱子、工作台和功能设备等需要独立逻辑的建筑。

两种模式可以在同一个项目中混合使用。

建造流程

标准建造流程如下:

选择建筑数据资产
→ 创建建筑预览
→ 计算位置与吸附
→ 检查放置条件
→ 向服务器提交请求
→ 服务器最终验证
→ 创建并同步建筑实体
→ 生成 HISM Instance 或 Actor

客户端预览仅用于交互反馈,正式建造结果以服务器验证为准。

扩展能力

项目可以通过蓝图或 C++ 接入自己的:

  • 背包和资源系统
  • 货币与建造成本
  • 建造权限
  • Niagara 特效和音效
  • UI 提示
  • 自定义建筑 Actor

插件提供基础流程和扩展接口,不强制项目使用特定的背包、货币或交互系统。

适用项目

插件适合:

  • 生存与沙盒游戏
  • 基地建造游戏
  • 塔防游戏
  • 合作多人游戏
  • 大规模模块化建筑系统