2025-04-21 18:39:15 +08:00
2025-04-21 08:17:52 +08:00
2025-04-21 08:17:52 +08:00
2025-04-21 08:17:52 +08:00
2025-04-17 23:59:17 +08:00
2025-04-21 18:39:15 +08:00
2025-04-17 23:59:17 +08:00
2025-04-21 08:17:52 +08:00
2025-04-21 08:17:52 +08:00

Real-time Dismemberment Editor Development Guide

引擎版本UE5.5

概述

FLESH 是一个用于 UE5.5 的高级肢解系统插件,提供实时布尔切割、多层系统和物理交互功能。该系统允许开发者创建逼真的肢解效果,适用于各种游戏类型。

核心功能

  • 实时布尔切割引擎编辑器:支持通过矩阵变量输入定义切割角度和位置
  • 多层实时布尔切割编辑器:可视化编辑多层切割效果
  • 多层系统:包括骨骼和内脏的分层模拟
  • 多层物理系统:内脏物理和骨骼物理的独立模拟
  • 血液系统:集成 Niagara 粒子效果、血池和贴花
  • 物理交互:断肢与环境的物理交互
  • 蓝图组件:支持断肢、血液、骨骼、内脏等不同类型的组件插槽和属性分类

交互式编辑器

FLESH 插件包含一个可在 UE 编辑器中单独开启的交互式编辑器,具有以下特点:

  • 支持交互式布尔切割操作
  • 支持矩阵变量输入定义切割角度和位置
  • 支持不同部位的 Patch 或自定义 Patch
  • 提供实时预览和调试功能
  • 分类管理断肢、血液、骨骼、内脏等不同类型的组件接口和属性

系统架构

FLESH 插件的系统架构分为以下几个主要模块:

核心功能模块

  • DismembermentSystem:主要肢解系统组件,处理骨骼切割和物理交互
  • AnatomicalLayerSystem:多层系统管理,处理骨骼、内脏等不同层次
  • BloodSystem:血液效果系统,管理血液粒子、血池和贴花
  • BooleanCutTool:布尔切割工具,提供实时切割功能

实时切割

BooleanCutTool

  • 实现了 CutStaticMesh 方法,使用 GeometryScript 进行静态网格体的布尔切割
  • 实现了 CutSkeletalMesh 方法,处理骨骼网格体的切割
  • 实现了 CutProceduralMesh 方法,处理程序化网格体的切割
  • 实现了 CreateCutPlaneMesh 方法,创建切割平面
  • 实现了 CalculateIntersectionPoints 方法,计算交点
  • 实现了 CreateCapMesh 方法,创建切割面的封闭网格

编辑器架构

  • DismembermentEditor:主编辑器界面,提供可视化编辑工具
  • AnatomicalStructureBrush:解剖结构笔刷,用于创建和编辑解剖结构

物理模拟子系统

  • 支持骨骼物理:使用 PhysicsAsset 进行骨骼物理模拟
  • 支持内脏物理:使用软体物理模拟内脏变形和交互
  • 支持断裂阈值曲线:基于物理力量的断裂模拟

数据序列化模块

  • 支持保存和加载肢解设置
  • 支持导出和导入预设

使用指南

安装

  1. 将 FLESH 插件复制到项目的 Plugins 文件夹中
  2. 在 UE 编辑器中启用插件
  3. 重启编辑器

基本使用

  1. 向角色添加 UDismembermentSystem 组件
  2. 配置骨骼映射和切割设置
  3. 使用 BloodSystem 组件设置血液效果
  4. 在游戏中调用相应函数触发肢解效果

编辑器使用

  1. 在编辑器中选择 "FLESH 编辑器" 打开交互式编辑器
  2. 加载骨骼网格体进行编辑
  3. 使用布尔切割工具定义切割平面
  4. 设置多层系统参数
  5. 预览效果并调整参数
  6. 保存设置应用到游戏中

性能优化策略

  • 异步物理计算:将非关键物理模拟任务分配到任务图线程池
  • 增量资源加载:使用 Streamable Manager 动态加载高精度解剖资源
  • LOD 系统:根据距离和性能需求调整物理和视觉细节

蓝图接口

FLESH 插件提供了全面的蓝图接口,允许开发者无需编写代码即可使用所有功能:

  • 肢解系统接口:控制切割和肢解
  • 血液系统接口:管理血液效果
  • 物理系统接口:调整物理参数
  • 编辑器接口:运行时修改设置

技术实现

  • 使用 GeometryScript 进行实时布尔切割
  • 使用 Niagara 系统进行高级粒子效果
  • 使用 PhysicsAsset 和 ChaosPhysics 进行物理模拟
  • 使用程序化网格体进行动态网格生成

版本信息

  • 当前版本1.0
  • UE 版本要求5.5+
  • 许可证:[您的许可证信息]

参考资源

联系方式

如有问题或建议,请联系:[您的联系信息]

Description
Fully Locational Evisceration System for Humanoids
Readme 75 MiB
Languages
C++ 99%
C# 1%