98 lines
5.0 KiB
Markdown
98 lines
5.0 KiB
Markdown
#### FLESH, Fully Locational Evisceration System for Humanoids, 在UE5.5肢解系统插件
|
||
|
||
#### 目标功能:
|
||
实时布尔切割引擎编辑器;
|
||
多层实时布尔切割编辑器;
|
||
多层系统: 骨骼,内脏;
|
||
多层物理系统:内脏物理,骨骼物理;
|
||
血液系统:Niagara,BloodPool, Decal;
|
||
物理交互;
|
||
以及肢解系统相关的其他交互;
|
||
|
||
#### 引擎版本:UE5.5
|
||
|
||
#### Key stages:
|
||
- Core Function Modules
|
||
- Real-time Editor Architecture
|
||
- Visual Tool Chain
|
||
- Physical Simulation Subsystem
|
||
- Data Serialization Module
|
||
- Anatomical Structure Brush
|
||
- Damage Type Preset
|
||
- Real-time Effect Preview
|
||
- Soft Body Physics Parameters
|
||
- Fracture Threshold Curve
|
||
- Binary Asset Packaging
|
||
- Version Control Integration
|
||
- Key Technology Implementation
|
||
|
||
#### Performance Optimization Strategy
|
||
- Asynchronous Physical Calculation:
|
||
Assigning Non-critical Physical Simulation Tasks to Task Graph Thread Pool
|
||
- Incremental Resource Loading:
|
||
Using Streamable Manager to Dynamically Load High-precision Anatomical Resources
|
||
|
||
#### 资源参考:
|
||
-《死亡岛2》的肢解系统:https://www.youtube.com/watch?v=d3VrPOm-KDE
|
||
- Dead Island 2 的 FLESH 系统如何程序性地破坏皮肤和骨骼:https://www.youtube.com/watch?v=GW7N83E1NqY&t=542s
|
||
- Dead Island 2 - F.L.E.S.H. Gore System (Melee): https://www.youtube.com/watch?v=LQEVydDlFuk
|
||
- Full analysis of the gore effects: https://www.youtube.com/watch?v=Y23zTuc2drk
|
||
Hey there and welcome to Random Madness! This channel is about showcasing and discussing response mechanics in video games. Blood and gore effects, destruction, vehicle damage and so on. Here's an overarching video on this theme:
|
||
https://www.youtube.com/watch?v=U4-lOPreM0U
|
||
You can find the discussion videos of character responses in this playlist:
|
||
https://www.youtube.com/playlist?list=PLE8BZenM9K-AH6yrlnnWkhXmvhlQCsMIj
|
||
You can find videos on the topic of destruction and vehicle damage here:
|
||
https://www.youtube.com/playlist?list=PLE8BZenM9K-AExTsE9779PQjZ-CcCIh3g
|
||
If you like the music you hear on the channel, you can find it here. It mostly leans towards heavy metal, with elements of thrash, prog and other influences as well:
|
||
https://www.youtube.com/playlist?list=PLE8BZenM9K-ApYtWLdwAZhJoM44mLfLnQ
|
||
https://open.spotify.com/playlist/4C2tqInaRi8gxg7TI7gYDI
|
||
That was showcased in the 3rd demonstration, it will be mentioned in the full commentary too
|
||
https://www.youtube.com/watch?v=CjC6SAomB6E
|
||
|
||
### 参考资源
|
||
###### UE5 Bult-in
|
||
- Geometry Script:
|
||
https://dev.epicgames.com/documentation/en-us/unreal-engine/geometry-scripting-users-guide-in-unreal-engine
|
||
- Procedural Mesh components:
|
||
https://forums.unrealengine.com/t/converting-skeletal-mesh-to-procedural-mesh/1718443
|
||
https://zhuanlan.zhihu.com/p/358074568
|
||
###### ThirdPart
|
||
- Gore and Dismemberment Plugin (BlueprintExposed):
|
||
SourceCode: Games\Lyra\Plugins\FLESH\Reference\UEGoreSystem
|
||
Doc: https://github.com/Klian326/-Public-UEGoreSystem/wiki/4.-Procedural-Control-Rig#lyra
|
||
Setup process: https://github.com/Klian326/-Public-UEGoreSystem/wiki/4.-Procedural-Control-Rig#lyra
|
||
- Skinned Decal Component:
|
||
SourceCode: Games\Lyra\Plugins\FLESH\Reference\SkinnedDecalComponent
|
||
Fab link: https://www.fab.com/listings/7491af07-f541-493d-a78f-d7fa5d466a0d
|
||
Docs:https://ac.virtuosgames.com:8443/display/TSZO/Skinned+Decal+Component+Documentation
|
||
- EnGore Procedural Dismemberment:
|
||
SourceCode: Games\Lyra\Plugins\FLESH\Reference\EnGoreProceduralDismemberment
|
||
Fab: EnGore: https://www.fab.com/listings/cb680946-6bde-445f-9ebe-3cecf4bec21e
|
||
Demo: EnGore: https://www.youtube.com/watch?v=MN31jCDQ5zY
|
||
Doc: https://app.milanote.com/1MQHr51cI5RJ2H/dismemberment-system?p=XmVzKYwdfSs
|
||
- Dismemberment:
|
||
Github: Thyke/Dismemberment: Advanced dismemberment system for Unreal Engine, featuring dynamic limb separation, weapon dropping, and customizable body part data.
|
||
- Fake Flesh System TechArt:
|
||
Github: https://github.com/Vincent-Devine/Fake_Flesh_System_TechArt
|
||
- Slice Skeletal Mesh Now:
|
||
Github: https://drive.google.com/open?id=12VlbtXGcpTXCVoVphhX3ZawnmmvD_AfM
|
||
|
||
#### Hierarchical modeling of anatomical structures
|
||
Use multi-layered materials (4-6 layers) to simulate skin/muscle/bone, and control visibility through material masks
|
||
Add secondary collision bodies (such as muscle expansion bodies) to the skeletal system to achieve force deformation
|
||
Sample code:
|
||
```
|
||
// Add physical constraints to the bone modifier
|
||
FConstraintInstance* Constraint = SkeletalMesh->AddConstraint(
|
||
EConstraintType::Physics,
|
||
BoneName,
|
||
ParentBoneName,
|
||
FTransform::Identity
|
||
);
|
||
Constraint->SetLinearXMotion(ELinearConstraintMotion::LCM_Limited);
|
||
```
|
||
#### Real-time cutting algorithm
|
||
Plane cutting: Use UE5's APEX Destruction module and combine it with Signed Distance Field to calculate the cutting surface
|
||
Dynamic topology reconstruction: Use Procedural Mesh Component to generate a new mesh. Note:
|
||
- Vertex cache reuse (to avoid GC jamming)
|
||
- Dynamic calculation of normal smoothing groups (to prevent jagged sections) |