Files
FLESH/Gaol.md
2025-04-17 23:59:17 +08:00

5.0 KiB
Raw Blame History

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

参考资源

UE5 Bult-in
ThirdPart

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)