diff --git a/.claude/settings.local.json b/.claude/settings.local.json new file mode 100644 index 0000000..c56e8d0 --- /dev/null +++ b/.claude/settings.local.json @@ -0,0 +1,14 @@ +{ + "permissions": { + "allow": [ + "Bash(\"C:\\Program Files\\Epic Games\\UE_5.4\\Engine\\Build\\BatchFiles\\Build.bat\" BladeSmithEditor Win64 Development -Project=\"E:\\MiceCola\\work\\BladeSmith\\BladeSmith.uproject\" -WaitMutex -FromMsBuild)", + "Bash(\"E:\\MiceCola\\work\\UE_5_6\\Engine\\Build\\BatchFiles\\Build.bat\" BladeSmithEditor Win64 Development \"-Project=E:\\MiceCola\\work\\BladeSmith\\BladeSmith.uproject\" -WaitMutex -FromMsBuild)", + "Bash(\"E:\\MiceCola\\work\\UE_5_6\\Engine\\Build\\BatchFiles\\Build.bat\" BladeSmithEditor Win64 Development -Project=\"E:\\MiceCola\\work\\BladeSmith\\BladeSmith.uproject\" -WaitMutex -FromMsBuild)", + "Bash(dir:*)", + "Bash(git add:*)", + "Bash(git commit -m \"$(cat <<''EOF''\n实现DynamicIronBlock温度体素系统基础功能\n\n新增功能:\n- 添加FTemperatureVoxel结构体(温度、塑性系数、表面标志)\n- 实现自适应温度网格(5mm体素精度,基于BoxSize计算分辨率)\n- 实现三线性插值温度/塑性系数采样\n- 实现黑体辐射温度可视化(顶点颜色)\n- 添加HeatRegion蓝图测试函数\n- 添加OnHammerImpact锤击形变函数(体积守恒)\n\n技术细节:\n- Phase 1: CPU侧温度网格初始化,支持10cm-100cm+可变尺寸\n- Phase 3: 温度可视化系统(20°C灰色 → 1200°C白色)\n- 内存占用:30×30×30cm ≈ 1.7MB(60×60×60体素)\n\n待实现:Phase 2 GPU热传导计算\n\n🤖 Generated with [Claude Code](https://claude.com/claude-code)\n\nCo-Authored-By: Claude \nEOF\n)\")" + ], + "deny": [], + "ask": [] + } +} diff --git a/BladeSmith.sln.DotSettings.user b/BladeSmith.sln.DotSettings.user new file mode 100644 index 0000000..d87c8ec --- /dev/null +++ b/BladeSmith.sln.DotSettings.user @@ -0,0 +1,9 @@ + + ForceIncluded + ForceIncluded + ForceIncluded + ForceIncluded + ForceIncluded + ForceIncluded + ForceIncluded + ForceIncluded \ No newline at end of file diff --git a/Content/BP/BP_DynamicMetal.uasset b/Content/BP/BP_DynamicMetal.uasset new file mode 100644 index 0000000..a3fb141 Binary files /dev/null and b/Content/BP/BP_DynamicMetal.uasset differ diff --git a/Content/BP/BP_FirstPersonCharacter.uasset b/Content/BP/BP_FirstPersonCharacter.uasset index 3818a4d..00497c3 100644 Binary files a/Content/BP/BP_FirstPersonCharacter.uasset and b/Content/BP/BP_FirstPersonCharacter.uasset differ diff --git a/Content/Dark_Knight/Animations/Anim_DKM_Attack_01.uasset b/Content/Dark_Knight/Animations/Anim_DKM_Attack_01.uasset new file mode 100644 index 0000000..e2c90e0 Binary files /dev/null and b/Content/Dark_Knight/Animations/Anim_DKM_Attack_01.uasset differ diff --git a/Content/Dark_Knight/Animations/Anim_DKM_Attack_02.uasset b/Content/Dark_Knight/Animations/Anim_DKM_Attack_02.uasset new file mode 100644 index 0000000..995c3ab Binary files /dev/null and b/Content/Dark_Knight/Animations/Anim_DKM_Attack_02.uasset differ diff --git a/Content/Dark_Knight/Animations/Anim_DKM_Attack_03.uasset b/Content/Dark_Knight/Animations/Anim_DKM_Attack_03.uasset new file mode 100644 index 0000000..1231605 Binary files /dev/null and b/Content/Dark_Knight/Animations/Anim_DKM_Attack_03.uasset differ diff --git a/Content/Dark_Knight/Animations/Anim_DKM_Crouch_Alert_Bwd.uasset b/Content/Dark_Knight/Animations/Anim_DKM_Crouch_Alert_Bwd.uasset new file mode 100644 index 0000000..eea9fa2 Binary files /dev/null and b/Content/Dark_Knight/Animations/Anim_DKM_Crouch_Alert_Bwd.uasset differ diff --git a/Content/Dark_Knight/Animations/Anim_DKM_Crouch_Alert_BwdLeft.uasset b/Content/Dark_Knight/Animations/Anim_DKM_Crouch_Alert_BwdLeft.uasset new file mode 100644 index 0000000..451d6cc Binary files /dev/null and b/Content/Dark_Knight/Animations/Anim_DKM_Crouch_Alert_BwdLeft.uasset differ diff --git a/Content/Dark_Knight/Animations/Anim_DKM_Crouch_Alert_BwdRight.uasset b/Content/Dark_Knight/Animations/Anim_DKM_Crouch_Alert_BwdRight.uasset new file mode 100644 index 0000000..657cc7a Binary files /dev/null and b/Content/Dark_Knight/Animations/Anim_DKM_Crouch_Alert_BwdRight.uasset differ diff --git a/Content/Dark_Knight/Animations/Anim_DKM_Crouch_Alert_Fwd.uasset b/Content/Dark_Knight/Animations/Anim_DKM_Crouch_Alert_Fwd.uasset new file mode 100644 index 0000000..fa9f211 Binary files /dev/null and b/Content/Dark_Knight/Animations/Anim_DKM_Crouch_Alert_Fwd.uasset differ diff --git a/Content/Dark_Knight/Animations/Anim_DKM_Crouch_Alert_FwdLeft.uasset b/Content/Dark_Knight/Animations/Anim_DKM_Crouch_Alert_FwdLeft.uasset new file mode 100644 index 0000000..dc78928 Binary files /dev/null and b/Content/Dark_Knight/Animations/Anim_DKM_Crouch_Alert_FwdLeft.uasset differ diff --git a/Content/Dark_Knight/Animations/Anim_DKM_Crouch_Alert_FwdRight.uasset b/Content/Dark_Knight/Animations/Anim_DKM_Crouch_Alert_FwdRight.uasset new file mode 100644 index 0000000..c3aa2e0 Binary files /dev/null and b/Content/Dark_Knight/Animations/Anim_DKM_Crouch_Alert_FwdRight.uasset differ diff --git a/Content/Dark_Knight/Animations/Anim_DKM_Crouch_Alert_Left.uasset b/Content/Dark_Knight/Animations/Anim_DKM_Crouch_Alert_Left.uasset new file mode 100644 index 0000000..62078a3 Binary files /dev/null and b/Content/Dark_Knight/Animations/Anim_DKM_Crouch_Alert_Left.uasset differ diff --git a/Content/Dark_Knight/Animations/Anim_DKM_Crouch_Alert_Right.uasset b/Content/Dark_Knight/Animations/Anim_DKM_Crouch_Alert_Right.uasset new file mode 100644 index 0000000..5a48358 Binary files /dev/null and b/Content/Dark_Knight/Animations/Anim_DKM_Crouch_Alert_Right.uasset differ diff --git a/Content/Dark_Knight/Animations/Anim_DKM_Crouch_Bwd.uasset b/Content/Dark_Knight/Animations/Anim_DKM_Crouch_Bwd.uasset new file mode 100644 index 0000000..d82f715 Binary files /dev/null and b/Content/Dark_Knight/Animations/Anim_DKM_Crouch_Bwd.uasset differ diff --git a/Content/Dark_Knight/Animations/Anim_DKM_Crouch_BwdLeft.uasset b/Content/Dark_Knight/Animations/Anim_DKM_Crouch_BwdLeft.uasset new file mode 100644 index 0000000..6a432d1 Binary files /dev/null and b/Content/Dark_Knight/Animations/Anim_DKM_Crouch_BwdLeft.uasset differ diff --git a/Content/Dark_Knight/Animations/Anim_DKM_Crouch_BwdRight.uasset b/Content/Dark_Knight/Animations/Anim_DKM_Crouch_BwdRight.uasset new file mode 100644 index 0000000..32f4783 Binary files /dev/null and b/Content/Dark_Knight/Animations/Anim_DKM_Crouch_BwdRight.uasset differ diff --git a/Content/Dark_Knight/Animations/Anim_DKM_Crouch_Fwd.uasset b/Content/Dark_Knight/Animations/Anim_DKM_Crouch_Fwd.uasset new file mode 100644 index 0000000..45e5fbd Binary files /dev/null and b/Content/Dark_Knight/Animations/Anim_DKM_Crouch_Fwd.uasset differ diff --git a/Content/Dark_Knight/Animations/Anim_DKM_Crouch_FwdLeft.uasset b/Content/Dark_Knight/Animations/Anim_DKM_Crouch_FwdLeft.uasset new file mode 100644 index 0000000..031d669 Binary files /dev/null and b/Content/Dark_Knight/Animations/Anim_DKM_Crouch_FwdLeft.uasset differ diff --git a/Content/Dark_Knight/Animations/Anim_DKM_Crouch_FwdRight.uasset b/Content/Dark_Knight/Animations/Anim_DKM_Crouch_FwdRight.uasset new file mode 100644 index 0000000..ba40337 Binary files /dev/null and b/Content/Dark_Knight/Animations/Anim_DKM_Crouch_FwdRight.uasset differ diff --git a/Content/Dark_Knight/Animations/Anim_DKM_Crouch_Left.uasset b/Content/Dark_Knight/Animations/Anim_DKM_Crouch_Left.uasset new file mode 100644 index 0000000..a50b67b Binary files /dev/null and b/Content/Dark_Knight/Animations/Anim_DKM_Crouch_Left.uasset differ diff --git a/Content/Dark_Knight/Animations/Anim_DKM_Crouch_Right.uasset b/Content/Dark_Knight/Animations/Anim_DKM_Crouch_Right.uasset new file mode 100644 index 0000000..7127f47 Binary files /dev/null and b/Content/Dark_Knight/Animations/Anim_DKM_Crouch_Right.uasset differ diff --git a/Content/Dark_Knight/Animations/Anim_DKM_Death.uasset b/Content/Dark_Knight/Animations/Anim_DKM_Death.uasset new file mode 100644 index 0000000..4fc2320 Binary files /dev/null and b/Content/Dark_Knight/Animations/Anim_DKM_Death.uasset differ diff --git a/Content/Dark_Knight/Animations/Anim_DKM_Hit_Alert_Bwd.uasset b/Content/Dark_Knight/Animations/Anim_DKM_Hit_Alert_Bwd.uasset new file mode 100644 index 0000000..4b321fb Binary files /dev/null and b/Content/Dark_Knight/Animations/Anim_DKM_Hit_Alert_Bwd.uasset differ diff --git a/Content/Dark_Knight/Animations/Anim_DKM_Hit_Alert_Fwd.uasset b/Content/Dark_Knight/Animations/Anim_DKM_Hit_Alert_Fwd.uasset new file mode 100644 index 0000000..b890f09 Binary files /dev/null and b/Content/Dark_Knight/Animations/Anim_DKM_Hit_Alert_Fwd.uasset differ diff --git a/Content/Dark_Knight/Animations/Anim_DKM_Hit_Alert_Left.uasset b/Content/Dark_Knight/Animations/Anim_DKM_Hit_Alert_Left.uasset new file mode 100644 index 0000000..7a524ec Binary files /dev/null and b/Content/Dark_Knight/Animations/Anim_DKM_Hit_Alert_Left.uasset differ diff --git a/Content/Dark_Knight/Animations/Anim_DKM_Hit_Alert_Right.uasset b/Content/Dark_Knight/Animations/Anim_DKM_Hit_Alert_Right.uasset new file mode 100644 index 0000000..16e1919 Binary files /dev/null and b/Content/Dark_Knight/Animations/Anim_DKM_Hit_Alert_Right.uasset differ diff --git a/Content/Dark_Knight/Animations/Anim_DKM_Hit_Bwd.uasset b/Content/Dark_Knight/Animations/Anim_DKM_Hit_Bwd.uasset new file mode 100644 index 0000000..fefae08 Binary files /dev/null and b/Content/Dark_Knight/Animations/Anim_DKM_Hit_Bwd.uasset differ diff --git a/Content/Dark_Knight/Animations/Anim_DKM_Hit_Fwd.uasset b/Content/Dark_Knight/Animations/Anim_DKM_Hit_Fwd.uasset new file mode 100644 index 0000000..54f4567 Binary files /dev/null and b/Content/Dark_Knight/Animations/Anim_DKM_Hit_Fwd.uasset differ diff --git a/Content/Dark_Knight/Animations/Anim_DKM_Hit_Left.uasset b/Content/Dark_Knight/Animations/Anim_DKM_Hit_Left.uasset new file mode 100644 index 0000000..c5370b9 Binary files /dev/null and b/Content/Dark_Knight/Animations/Anim_DKM_Hit_Left.uasset differ diff --git a/Content/Dark_Knight/Animations/Anim_DKM_Hit_Right.uasset b/Content/Dark_Knight/Animations/Anim_DKM_Hit_Right.uasset new file mode 100644 index 0000000..71688b6 Binary files /dev/null and b/Content/Dark_Knight/Animations/Anim_DKM_Hit_Right.uasset differ diff --git a/Content/Dark_Knight/Animations/Anim_DKM_Idle.uasset b/Content/Dark_Knight/Animations/Anim_DKM_Idle.uasset new file mode 100644 index 0000000..a44b4be Binary files /dev/null and b/Content/Dark_Knight/Animations/Anim_DKM_Idle.uasset differ diff --git a/Content/Dark_Knight/Animations/Anim_DKM_Idle_Alert.uasset b/Content/Dark_Knight/Animations/Anim_DKM_Idle_Alert.uasset new file mode 100644 index 0000000..2aaddea Binary files /dev/null and b/Content/Dark_Knight/Animations/Anim_DKM_Idle_Alert.uasset differ diff --git a/Content/Dark_Knight/Animations/Anim_DKM_Run_Alert_Fwd.uasset b/Content/Dark_Knight/Animations/Anim_DKM_Run_Alert_Fwd.uasset new file mode 100644 index 0000000..4a16112 Binary files /dev/null and b/Content/Dark_Knight/Animations/Anim_DKM_Run_Alert_Fwd.uasset differ diff --git a/Content/Dark_Knight/Animations/Anim_DKM_Run_Alert_FwdLeft.uasset b/Content/Dark_Knight/Animations/Anim_DKM_Run_Alert_FwdLeft.uasset new file mode 100644 index 0000000..b9b3210 Binary files /dev/null and b/Content/Dark_Knight/Animations/Anim_DKM_Run_Alert_FwdLeft.uasset differ diff --git a/Content/Dark_Knight/Animations/Anim_DKM_Run_Alert_FwdRight.uasset b/Content/Dark_Knight/Animations/Anim_DKM_Run_Alert_FwdRight.uasset new file mode 100644 index 0000000..916819e Binary files /dev/null and b/Content/Dark_Knight/Animations/Anim_DKM_Run_Alert_FwdRight.uasset differ diff --git a/Content/Dark_Knight/Animations/Anim_DKM_Run_Fwd.uasset b/Content/Dark_Knight/Animations/Anim_DKM_Run_Fwd.uasset new file mode 100644 index 0000000..2bfe4c7 Binary files /dev/null and b/Content/Dark_Knight/Animations/Anim_DKM_Run_Fwd.uasset differ diff --git a/Content/Dark_Knight/Animations/Anim_DKM_Run_FwdLeft.uasset b/Content/Dark_Knight/Animations/Anim_DKM_Run_FwdLeft.uasset new file mode 100644 index 0000000..02b25fa Binary files /dev/null and b/Content/Dark_Knight/Animations/Anim_DKM_Run_FwdLeft.uasset differ diff --git a/Content/Dark_Knight/Animations/Anim_DKM_Run_FwdRight.uasset b/Content/Dark_Knight/Animations/Anim_DKM_Run_FwdRight.uasset new file mode 100644 index 0000000..4287dd5 Binary files /dev/null and b/Content/Dark_Knight/Animations/Anim_DKM_Run_FwdRight.uasset differ diff --git a/Content/Dark_Knight/Animations/Anim_DKM_Walk_Alert_Bwd.uasset b/Content/Dark_Knight/Animations/Anim_DKM_Walk_Alert_Bwd.uasset new file mode 100644 index 0000000..8aa7e50 Binary files /dev/null and b/Content/Dark_Knight/Animations/Anim_DKM_Walk_Alert_Bwd.uasset differ diff --git a/Content/Dark_Knight/Animations/Anim_DKM_Walk_Alert_BwdLeft.uasset b/Content/Dark_Knight/Animations/Anim_DKM_Walk_Alert_BwdLeft.uasset new file mode 100644 index 0000000..9e71de0 Binary files /dev/null and b/Content/Dark_Knight/Animations/Anim_DKM_Walk_Alert_BwdLeft.uasset differ diff --git a/Content/Dark_Knight/Animations/Anim_DKM_Walk_Alert_BwdRight.uasset b/Content/Dark_Knight/Animations/Anim_DKM_Walk_Alert_BwdRight.uasset new file mode 100644 index 0000000..bfeca07 Binary files /dev/null and b/Content/Dark_Knight/Animations/Anim_DKM_Walk_Alert_BwdRight.uasset differ diff --git a/Content/Dark_Knight/Animations/Anim_DKM_Walk_Alert_Fwd.uasset b/Content/Dark_Knight/Animations/Anim_DKM_Walk_Alert_Fwd.uasset new file mode 100644 index 0000000..6bc15fc Binary files /dev/null and b/Content/Dark_Knight/Animations/Anim_DKM_Walk_Alert_Fwd.uasset differ diff --git a/Content/Dark_Knight/Animations/Anim_DKM_Walk_Alert_FwdLeft.uasset b/Content/Dark_Knight/Animations/Anim_DKM_Walk_Alert_FwdLeft.uasset new file mode 100644 index 0000000..743a737 Binary files /dev/null and b/Content/Dark_Knight/Animations/Anim_DKM_Walk_Alert_FwdLeft.uasset differ diff --git a/Content/Dark_Knight/Animations/Anim_DKM_Walk_Alert_FwdRight.uasset b/Content/Dark_Knight/Animations/Anim_DKM_Walk_Alert_FwdRight.uasset new file mode 100644 index 0000000..8fb6833 Binary files /dev/null and b/Content/Dark_Knight/Animations/Anim_DKM_Walk_Alert_FwdRight.uasset differ diff --git a/Content/Dark_Knight/Animations/Anim_DKM_Walk_Alert_Left.uasset b/Content/Dark_Knight/Animations/Anim_DKM_Walk_Alert_Left.uasset new file mode 100644 index 0000000..20659a5 Binary files /dev/null and b/Content/Dark_Knight/Animations/Anim_DKM_Walk_Alert_Left.uasset differ diff --git a/Content/Dark_Knight/Animations/Anim_DKM_Walk_Alert_Right.uasset b/Content/Dark_Knight/Animations/Anim_DKM_Walk_Alert_Right.uasset new file mode 100644 index 0000000..73f29ce Binary files /dev/null and b/Content/Dark_Knight/Animations/Anim_DKM_Walk_Alert_Right.uasset differ diff --git a/Content/Dark_Knight/Animations/Anim_DKM_Walk_Bwd.uasset b/Content/Dark_Knight/Animations/Anim_DKM_Walk_Bwd.uasset new file mode 100644 index 0000000..c875b2f Binary files /dev/null and b/Content/Dark_Knight/Animations/Anim_DKM_Walk_Bwd.uasset differ diff --git a/Content/Dark_Knight/Animations/Anim_DKM_Walk_BwdLeft.uasset b/Content/Dark_Knight/Animations/Anim_DKM_Walk_BwdLeft.uasset new file mode 100644 index 0000000..731f53d Binary files /dev/null and b/Content/Dark_Knight/Animations/Anim_DKM_Walk_BwdLeft.uasset differ diff --git a/Content/Dark_Knight/Animations/Anim_DKM_Walk_BwdRight.uasset b/Content/Dark_Knight/Animations/Anim_DKM_Walk_BwdRight.uasset new file mode 100644 index 0000000..f67cf66 Binary files /dev/null and b/Content/Dark_Knight/Animations/Anim_DKM_Walk_BwdRight.uasset differ diff --git a/Content/Dark_Knight/Animations/Anim_DKM_Walk_Fwd.uasset b/Content/Dark_Knight/Animations/Anim_DKM_Walk_Fwd.uasset new file mode 100644 index 0000000..1f40b9a Binary files /dev/null and b/Content/Dark_Knight/Animations/Anim_DKM_Walk_Fwd.uasset differ diff --git a/Content/Dark_Knight/Animations/Anim_DKM_Walk_FwdLeft.uasset b/Content/Dark_Knight/Animations/Anim_DKM_Walk_FwdLeft.uasset new file mode 100644 index 0000000..3b7e283 Binary files /dev/null and b/Content/Dark_Knight/Animations/Anim_DKM_Walk_FwdLeft.uasset differ diff --git a/Content/Dark_Knight/Animations/Anim_DKM_Walk_FwdRight.uasset b/Content/Dark_Knight/Animations/Anim_DKM_Walk_FwdRight.uasset new file mode 100644 index 0000000..5d259ca Binary files /dev/null and b/Content/Dark_Knight/Animations/Anim_DKM_Walk_FwdRight.uasset differ diff --git a/Content/Dark_Knight/Animations/Anim_DKM_Walk_Left.uasset b/Content/Dark_Knight/Animations/Anim_DKM_Walk_Left.uasset new file mode 100644 index 0000000..a84af27 Binary files /dev/null and b/Content/Dark_Knight/Animations/Anim_DKM_Walk_Left.uasset differ diff --git a/Content/Dark_Knight/Animations/Anim_DKM_Walk_Right.uasset b/Content/Dark_Knight/Animations/Anim_DKM_Walk_Right.uasset new file mode 100644 index 0000000..6476968 Binary files /dev/null and b/Content/Dark_Knight/Animations/Anim_DKM_Walk_Right.uasset differ diff --git a/Content/Dark_Knight/Dark_Knight_Female/Animations/Anim_DKF_Attack_01.uasset b/Content/Dark_Knight/Dark_Knight_Female/Animations/Anim_DKF_Attack_01.uasset new file mode 100644 index 0000000..4c8b9ea Binary files /dev/null and b/Content/Dark_Knight/Dark_Knight_Female/Animations/Anim_DKF_Attack_01.uasset differ diff --git a/Content/Dark_Knight/Dark_Knight_Female/Animations/Anim_DKF_Attack_02.uasset b/Content/Dark_Knight/Dark_Knight_Female/Animations/Anim_DKF_Attack_02.uasset new file mode 100644 index 0000000..61acd4f Binary files /dev/null and b/Content/Dark_Knight/Dark_Knight_Female/Animations/Anim_DKF_Attack_02.uasset differ diff --git a/Content/Dark_Knight/Dark_Knight_Female/Animations/Anim_DKF_Attack_03.uasset b/Content/Dark_Knight/Dark_Knight_Female/Animations/Anim_DKF_Attack_03.uasset new file mode 100644 index 0000000..0318ff0 Binary files /dev/null and b/Content/Dark_Knight/Dark_Knight_Female/Animations/Anim_DKF_Attack_03.uasset differ diff --git a/Content/Dark_Knight/Dark_Knight_Female/Animations/Anim_DKF_Crouch_Alert_Bwd.uasset b/Content/Dark_Knight/Dark_Knight_Female/Animations/Anim_DKF_Crouch_Alert_Bwd.uasset new file mode 100644 index 0000000..c2d10bc Binary files /dev/null and b/Content/Dark_Knight/Dark_Knight_Female/Animations/Anim_DKF_Crouch_Alert_Bwd.uasset differ diff --git a/Content/Dark_Knight/Dark_Knight_Female/Animations/Anim_DKF_Crouch_Alert_BwdLeft.uasset b/Content/Dark_Knight/Dark_Knight_Female/Animations/Anim_DKF_Crouch_Alert_BwdLeft.uasset new file mode 100644 index 0000000..02f006f Binary files /dev/null and b/Content/Dark_Knight/Dark_Knight_Female/Animations/Anim_DKF_Crouch_Alert_BwdLeft.uasset differ diff --git a/Content/Dark_Knight/Dark_Knight_Female/Animations/Anim_DKF_Crouch_Alert_BwdRight.uasset b/Content/Dark_Knight/Dark_Knight_Female/Animations/Anim_DKF_Crouch_Alert_BwdRight.uasset new file mode 100644 index 0000000..69128ce Binary files /dev/null and b/Content/Dark_Knight/Dark_Knight_Female/Animations/Anim_DKF_Crouch_Alert_BwdRight.uasset differ diff --git a/Content/Dark_Knight/Dark_Knight_Female/Animations/Anim_DKF_Crouch_Alert_Fwd.uasset b/Content/Dark_Knight/Dark_Knight_Female/Animations/Anim_DKF_Crouch_Alert_Fwd.uasset new file mode 100644 index 0000000..fe8b0a3 Binary files /dev/null and b/Content/Dark_Knight/Dark_Knight_Female/Animations/Anim_DKF_Crouch_Alert_Fwd.uasset differ diff --git a/Content/Dark_Knight/Dark_Knight_Female/Animations/Anim_DKF_Crouch_Alert_FwdLeft.uasset b/Content/Dark_Knight/Dark_Knight_Female/Animations/Anim_DKF_Crouch_Alert_FwdLeft.uasset new file mode 100644 index 0000000..165c766 Binary files /dev/null and b/Content/Dark_Knight/Dark_Knight_Female/Animations/Anim_DKF_Crouch_Alert_FwdLeft.uasset differ diff --git a/Content/Dark_Knight/Dark_Knight_Female/Animations/Anim_DKF_Crouch_Alert_FwdRight.uasset b/Content/Dark_Knight/Dark_Knight_Female/Animations/Anim_DKF_Crouch_Alert_FwdRight.uasset new file mode 100644 index 0000000..58fcc52 Binary files /dev/null and b/Content/Dark_Knight/Dark_Knight_Female/Animations/Anim_DKF_Crouch_Alert_FwdRight.uasset differ diff --git a/Content/Dark_Knight/Dark_Knight_Female/Animations/Anim_DKF_Crouch_Alert_Left.uasset b/Content/Dark_Knight/Dark_Knight_Female/Animations/Anim_DKF_Crouch_Alert_Left.uasset new file mode 100644 index 0000000..0356d11 Binary files /dev/null and b/Content/Dark_Knight/Dark_Knight_Female/Animations/Anim_DKF_Crouch_Alert_Left.uasset differ diff --git a/Content/Dark_Knight/Dark_Knight_Female/Animations/Anim_DKF_Crouch_Alert_Right.uasset b/Content/Dark_Knight/Dark_Knight_Female/Animations/Anim_DKF_Crouch_Alert_Right.uasset new file mode 100644 index 0000000..eaedb57 Binary files /dev/null and b/Content/Dark_Knight/Dark_Knight_Female/Animations/Anim_DKF_Crouch_Alert_Right.uasset differ diff --git a/Content/Dark_Knight/Dark_Knight_Female/Animations/Anim_DKF_Crouch_Bwd.uasset b/Content/Dark_Knight/Dark_Knight_Female/Animations/Anim_DKF_Crouch_Bwd.uasset new file mode 100644 index 0000000..5678e35 Binary files /dev/null and b/Content/Dark_Knight/Dark_Knight_Female/Animations/Anim_DKF_Crouch_Bwd.uasset differ diff --git a/Content/Dark_Knight/Dark_Knight_Female/Animations/Anim_DKF_Crouch_BwdLeft.uasset b/Content/Dark_Knight/Dark_Knight_Female/Animations/Anim_DKF_Crouch_BwdLeft.uasset new file mode 100644 index 0000000..2a19d1d Binary files /dev/null and b/Content/Dark_Knight/Dark_Knight_Female/Animations/Anim_DKF_Crouch_BwdLeft.uasset differ diff --git a/Content/Dark_Knight/Dark_Knight_Female/Animations/Anim_DKF_Crouch_BwdRight.uasset b/Content/Dark_Knight/Dark_Knight_Female/Animations/Anim_DKF_Crouch_BwdRight.uasset new file mode 100644 index 0000000..f1e11fb Binary files /dev/null and b/Content/Dark_Knight/Dark_Knight_Female/Animations/Anim_DKF_Crouch_BwdRight.uasset differ diff --git a/Content/Dark_Knight/Dark_Knight_Female/Animations/Anim_DKF_Crouch_Fwd.uasset b/Content/Dark_Knight/Dark_Knight_Female/Animations/Anim_DKF_Crouch_Fwd.uasset new file mode 100644 index 0000000..b5aea28 Binary files /dev/null and b/Content/Dark_Knight/Dark_Knight_Female/Animations/Anim_DKF_Crouch_Fwd.uasset differ diff --git a/Content/Dark_Knight/Dark_Knight_Female/Animations/Anim_DKF_Crouch_FwdLeft.uasset b/Content/Dark_Knight/Dark_Knight_Female/Animations/Anim_DKF_Crouch_FwdLeft.uasset new file mode 100644 index 0000000..7b0324e Binary files /dev/null and b/Content/Dark_Knight/Dark_Knight_Female/Animations/Anim_DKF_Crouch_FwdLeft.uasset differ diff --git a/Content/Dark_Knight/Dark_Knight_Female/Animations/Anim_DKF_Crouch_FwdRight.uasset b/Content/Dark_Knight/Dark_Knight_Female/Animations/Anim_DKF_Crouch_FwdRight.uasset new file mode 100644 index 0000000..bc36615 Binary files /dev/null and b/Content/Dark_Knight/Dark_Knight_Female/Animations/Anim_DKF_Crouch_FwdRight.uasset differ diff --git a/Content/Dark_Knight/Dark_Knight_Female/Animations/Anim_DKF_Crouch_Left.uasset b/Content/Dark_Knight/Dark_Knight_Female/Animations/Anim_DKF_Crouch_Left.uasset new file mode 100644 index 0000000..5b79da6 Binary files /dev/null and b/Content/Dark_Knight/Dark_Knight_Female/Animations/Anim_DKF_Crouch_Left.uasset differ diff --git a/Content/Dark_Knight/Dark_Knight_Female/Animations/Anim_DKF_Crouch_Right.uasset b/Content/Dark_Knight/Dark_Knight_Female/Animations/Anim_DKF_Crouch_Right.uasset new file mode 100644 index 0000000..d9d484d Binary files /dev/null and b/Content/Dark_Knight/Dark_Knight_Female/Animations/Anim_DKF_Crouch_Right.uasset differ diff --git a/Content/Dark_Knight/Dark_Knight_Female/Animations/Anim_DKF_Death.uasset b/Content/Dark_Knight/Dark_Knight_Female/Animations/Anim_DKF_Death.uasset new file mode 100644 index 0000000..2c02654 Binary files /dev/null and b/Content/Dark_Knight/Dark_Knight_Female/Animations/Anim_DKF_Death.uasset differ diff --git a/Content/Dark_Knight/Dark_Knight_Female/Animations/Anim_DKF_Hit_Alert_Bwd.uasset b/Content/Dark_Knight/Dark_Knight_Female/Animations/Anim_DKF_Hit_Alert_Bwd.uasset new file mode 100644 index 0000000..438dd27 Binary files /dev/null and b/Content/Dark_Knight/Dark_Knight_Female/Animations/Anim_DKF_Hit_Alert_Bwd.uasset differ diff --git a/Content/Dark_Knight/Dark_Knight_Female/Animations/Anim_DKF_Hit_Alert_Fwd.uasset b/Content/Dark_Knight/Dark_Knight_Female/Animations/Anim_DKF_Hit_Alert_Fwd.uasset new file mode 100644 index 0000000..95782a3 Binary files /dev/null and b/Content/Dark_Knight/Dark_Knight_Female/Animations/Anim_DKF_Hit_Alert_Fwd.uasset differ diff --git a/Content/Dark_Knight/Dark_Knight_Female/Animations/Anim_DKF_Hit_Alert_Left.uasset b/Content/Dark_Knight/Dark_Knight_Female/Animations/Anim_DKF_Hit_Alert_Left.uasset new file mode 100644 index 0000000..7240a1d Binary files /dev/null and b/Content/Dark_Knight/Dark_Knight_Female/Animations/Anim_DKF_Hit_Alert_Left.uasset differ diff --git a/Content/Dark_Knight/Dark_Knight_Female/Animations/Anim_DKF_Hit_Alert_Right.uasset b/Content/Dark_Knight/Dark_Knight_Female/Animations/Anim_DKF_Hit_Alert_Right.uasset new file mode 100644 index 0000000..ab034cf Binary files /dev/null and b/Content/Dark_Knight/Dark_Knight_Female/Animations/Anim_DKF_Hit_Alert_Right.uasset differ diff --git a/Content/Dark_Knight/Dark_Knight_Female/Animations/Anim_DKF_Hit_Bwd.uasset b/Content/Dark_Knight/Dark_Knight_Female/Animations/Anim_DKF_Hit_Bwd.uasset new file mode 100644 index 0000000..01b2e55 Binary files /dev/null and b/Content/Dark_Knight/Dark_Knight_Female/Animations/Anim_DKF_Hit_Bwd.uasset differ diff --git a/Content/Dark_Knight/Dark_Knight_Female/Animations/Anim_DKF_Hit_Fwd.uasset b/Content/Dark_Knight/Dark_Knight_Female/Animations/Anim_DKF_Hit_Fwd.uasset new file mode 100644 index 0000000..73beb40 Binary files /dev/null and b/Content/Dark_Knight/Dark_Knight_Female/Animations/Anim_DKF_Hit_Fwd.uasset differ diff --git a/Content/Dark_Knight/Dark_Knight_Female/Animations/Anim_DKF_Hit_Left.uasset b/Content/Dark_Knight/Dark_Knight_Female/Animations/Anim_DKF_Hit_Left.uasset new file mode 100644 index 0000000..44d6097 Binary files /dev/null and b/Content/Dark_Knight/Dark_Knight_Female/Animations/Anim_DKF_Hit_Left.uasset differ diff --git a/Content/Dark_Knight/Dark_Knight_Female/Animations/Anim_DKF_Hit_Right.uasset b/Content/Dark_Knight/Dark_Knight_Female/Animations/Anim_DKF_Hit_Right.uasset new file mode 100644 index 0000000..12a010f Binary files /dev/null and b/Content/Dark_Knight/Dark_Knight_Female/Animations/Anim_DKF_Hit_Right.uasset differ diff --git a/Content/Dark_Knight/Dark_Knight_Female/Animations/Anim_DKF_Idle.uasset b/Content/Dark_Knight/Dark_Knight_Female/Animations/Anim_DKF_Idle.uasset new file mode 100644 index 0000000..cd6e935 Binary files /dev/null and b/Content/Dark_Knight/Dark_Knight_Female/Animations/Anim_DKF_Idle.uasset differ diff --git a/Content/Dark_Knight/Dark_Knight_Female/Animations/Anim_DKF_Idle_Alert.uasset b/Content/Dark_Knight/Dark_Knight_Female/Animations/Anim_DKF_Idle_Alert.uasset new file mode 100644 index 0000000..925e07c Binary files /dev/null and b/Content/Dark_Knight/Dark_Knight_Female/Animations/Anim_DKF_Idle_Alert.uasset differ diff --git a/Content/Dark_Knight/Dark_Knight_Female/Animations/Anim_DKF_Run_Alert_Fwd.uasset b/Content/Dark_Knight/Dark_Knight_Female/Animations/Anim_DKF_Run_Alert_Fwd.uasset new file mode 100644 index 0000000..4c13e3d Binary files /dev/null and b/Content/Dark_Knight/Dark_Knight_Female/Animations/Anim_DKF_Run_Alert_Fwd.uasset differ diff --git a/Content/Dark_Knight/Dark_Knight_Female/Animations/Anim_DKF_Run_Alert_FwdLeft.uasset b/Content/Dark_Knight/Dark_Knight_Female/Animations/Anim_DKF_Run_Alert_FwdLeft.uasset new file mode 100644 index 0000000..edeadcd Binary files /dev/null and b/Content/Dark_Knight/Dark_Knight_Female/Animations/Anim_DKF_Run_Alert_FwdLeft.uasset differ diff --git a/Content/Dark_Knight/Dark_Knight_Female/Animations/Anim_DKF_Run_Alert_FwdRight.uasset b/Content/Dark_Knight/Dark_Knight_Female/Animations/Anim_DKF_Run_Alert_FwdRight.uasset new file mode 100644 index 0000000..4ec1df4 Binary files /dev/null and b/Content/Dark_Knight/Dark_Knight_Female/Animations/Anim_DKF_Run_Alert_FwdRight.uasset differ diff --git a/Content/Dark_Knight/Dark_Knight_Female/Animations/Anim_DKF_Run_Fwd.uasset b/Content/Dark_Knight/Dark_Knight_Female/Animations/Anim_DKF_Run_Fwd.uasset new file mode 100644 index 0000000..1488687 Binary files /dev/null and b/Content/Dark_Knight/Dark_Knight_Female/Animations/Anim_DKF_Run_Fwd.uasset differ diff --git a/Content/Dark_Knight/Dark_Knight_Female/Animations/Anim_DKF_Run_FwdLeft.uasset b/Content/Dark_Knight/Dark_Knight_Female/Animations/Anim_DKF_Run_FwdLeft.uasset new file mode 100644 index 0000000..971c4d9 Binary files /dev/null and b/Content/Dark_Knight/Dark_Knight_Female/Animations/Anim_DKF_Run_FwdLeft.uasset differ diff --git a/Content/Dark_Knight/Dark_Knight_Female/Animations/Anim_DKF_Run_FwdRight.uasset b/Content/Dark_Knight/Dark_Knight_Female/Animations/Anim_DKF_Run_FwdRight.uasset new file mode 100644 index 0000000..43eb2aa Binary files /dev/null and b/Content/Dark_Knight/Dark_Knight_Female/Animations/Anim_DKF_Run_FwdRight.uasset differ diff --git a/Content/Dark_Knight/Dark_Knight_Female/Animations/Anim_DKF_Walk_Alert_Bwd.uasset b/Content/Dark_Knight/Dark_Knight_Female/Animations/Anim_DKF_Walk_Alert_Bwd.uasset new file mode 100644 index 0000000..b41924e Binary files /dev/null and b/Content/Dark_Knight/Dark_Knight_Female/Animations/Anim_DKF_Walk_Alert_Bwd.uasset differ diff --git a/Content/Dark_Knight/Dark_Knight_Female/Animations/Anim_DKF_Walk_Alert_BwdLeft.uasset b/Content/Dark_Knight/Dark_Knight_Female/Animations/Anim_DKF_Walk_Alert_BwdLeft.uasset new file mode 100644 index 0000000..dacabed Binary files /dev/null and b/Content/Dark_Knight/Dark_Knight_Female/Animations/Anim_DKF_Walk_Alert_BwdLeft.uasset differ diff --git a/Content/Dark_Knight/Dark_Knight_Female/Animations/Anim_DKF_Walk_Alert_BwdRight.uasset b/Content/Dark_Knight/Dark_Knight_Female/Animations/Anim_DKF_Walk_Alert_BwdRight.uasset new file mode 100644 index 0000000..94a8b17 Binary files /dev/null and b/Content/Dark_Knight/Dark_Knight_Female/Animations/Anim_DKF_Walk_Alert_BwdRight.uasset differ diff --git a/Content/Dark_Knight/Dark_Knight_Female/Animations/Anim_DKF_Walk_Alert_Fwd.uasset b/Content/Dark_Knight/Dark_Knight_Female/Animations/Anim_DKF_Walk_Alert_Fwd.uasset new file mode 100644 index 0000000..2200226 Binary files /dev/null and b/Content/Dark_Knight/Dark_Knight_Female/Animations/Anim_DKF_Walk_Alert_Fwd.uasset differ diff --git a/Content/Dark_Knight/Dark_Knight_Female/Animations/Anim_DKF_Walk_Alert_FwdLeft.uasset b/Content/Dark_Knight/Dark_Knight_Female/Animations/Anim_DKF_Walk_Alert_FwdLeft.uasset new file mode 100644 index 0000000..79b8baa Binary files /dev/null and b/Content/Dark_Knight/Dark_Knight_Female/Animations/Anim_DKF_Walk_Alert_FwdLeft.uasset differ diff --git a/Content/Dark_Knight/Dark_Knight_Female/Animations/Anim_DKF_Walk_Alert_FwdRight.uasset b/Content/Dark_Knight/Dark_Knight_Female/Animations/Anim_DKF_Walk_Alert_FwdRight.uasset new file mode 100644 index 0000000..2ebeb75 Binary files /dev/null and b/Content/Dark_Knight/Dark_Knight_Female/Animations/Anim_DKF_Walk_Alert_FwdRight.uasset differ diff --git a/Content/Dark_Knight/Dark_Knight_Female/Animations/Anim_DKF_Walk_Alert_Left.uasset b/Content/Dark_Knight/Dark_Knight_Female/Animations/Anim_DKF_Walk_Alert_Left.uasset new file mode 100644 index 0000000..3cbf77d Binary files /dev/null and b/Content/Dark_Knight/Dark_Knight_Female/Animations/Anim_DKF_Walk_Alert_Left.uasset differ diff --git a/Content/Dark_Knight/Dark_Knight_Female/Animations/Anim_DKF_Walk_Alert_Right.uasset b/Content/Dark_Knight/Dark_Knight_Female/Animations/Anim_DKF_Walk_Alert_Right.uasset new file mode 100644 index 0000000..2a3ca38 Binary files /dev/null and b/Content/Dark_Knight/Dark_Knight_Female/Animations/Anim_DKF_Walk_Alert_Right.uasset differ diff --git a/Content/Dark_Knight/Dark_Knight_Female/Animations/Anim_DKF_Walk_Bwd.uasset b/Content/Dark_Knight/Dark_Knight_Female/Animations/Anim_DKF_Walk_Bwd.uasset new file mode 100644 index 0000000..538d266 Binary files /dev/null and b/Content/Dark_Knight/Dark_Knight_Female/Animations/Anim_DKF_Walk_Bwd.uasset differ diff --git a/Content/Dark_Knight/Dark_Knight_Female/Animations/Anim_DKF_Walk_BwdLeft.uasset b/Content/Dark_Knight/Dark_Knight_Female/Animations/Anim_DKF_Walk_BwdLeft.uasset new file mode 100644 index 0000000..f0258ed Binary files /dev/null and b/Content/Dark_Knight/Dark_Knight_Female/Animations/Anim_DKF_Walk_BwdLeft.uasset differ diff --git a/Content/Dark_Knight/Dark_Knight_Female/Animations/Anim_DKF_Walk_BwdRight.uasset b/Content/Dark_Knight/Dark_Knight_Female/Animations/Anim_DKF_Walk_BwdRight.uasset new file mode 100644 index 0000000..3ae4174 Binary files /dev/null and b/Content/Dark_Knight/Dark_Knight_Female/Animations/Anim_DKF_Walk_BwdRight.uasset differ diff --git a/Content/Dark_Knight/Dark_Knight_Female/Animations/Anim_DKF_Walk_Fwd.uasset b/Content/Dark_Knight/Dark_Knight_Female/Animations/Anim_DKF_Walk_Fwd.uasset new file mode 100644 index 0000000..bdcb0aa Binary files /dev/null and b/Content/Dark_Knight/Dark_Knight_Female/Animations/Anim_DKF_Walk_Fwd.uasset differ diff --git a/Content/Dark_Knight/Dark_Knight_Female/Animations/Anim_DKF_Walk_FwdLeft.uasset b/Content/Dark_Knight/Dark_Knight_Female/Animations/Anim_DKF_Walk_FwdLeft.uasset new file mode 100644 index 0000000..94f98ce Binary files /dev/null and b/Content/Dark_Knight/Dark_Knight_Female/Animations/Anim_DKF_Walk_FwdLeft.uasset differ diff --git a/Content/Dark_Knight/Dark_Knight_Female/Animations/Anim_DKF_Walk_FwdRight.uasset b/Content/Dark_Knight/Dark_Knight_Female/Animations/Anim_DKF_Walk_FwdRight.uasset new file mode 100644 index 0000000..63b31f0 Binary files /dev/null and b/Content/Dark_Knight/Dark_Knight_Female/Animations/Anim_DKF_Walk_FwdRight.uasset differ diff --git a/Content/Dark_Knight/Dark_Knight_Female/Animations/Anim_DKF_Walk_Left.uasset b/Content/Dark_Knight/Dark_Knight_Female/Animations/Anim_DKF_Walk_Left.uasset new file mode 100644 index 0000000..567ee92 Binary files /dev/null and b/Content/Dark_Knight/Dark_Knight_Female/Animations/Anim_DKF_Walk_Left.uasset differ diff --git a/Content/Dark_Knight/Dark_Knight_Female/Animations/Anim_DKF_Walk_Right.uasset b/Content/Dark_Knight/Dark_Knight_Female/Animations/Anim_DKF_Walk_Right.uasset new file mode 100644 index 0000000..71e435d Binary files /dev/null and b/Content/Dark_Knight/Dark_Knight_Female/Animations/Anim_DKF_Walk_Right.uasset differ diff --git a/Content/Dark_Knight/Dark_Knight_Female/Demo/Studio/M_Floor.uasset b/Content/Dark_Knight/Dark_Knight_Female/Demo/Studio/M_Floor.uasset new file mode 100644 index 0000000..cb8e6bf Binary files /dev/null and b/Content/Dark_Knight/Dark_Knight_Female/Demo/Studio/M_Floor.uasset differ diff --git a/Content/Dark_Knight/Dark_Knight_Female/Demo/Studio/SM_Stand.uasset b/Content/Dark_Knight/Dark_Knight_Female/Demo/Studio/SM_Stand.uasset new file mode 100644 index 0000000..178a446 Binary files /dev/null and b/Content/Dark_Knight/Dark_Knight_Female/Demo/Studio/SM_Stand.uasset differ diff --git a/Content/Dark_Knight/Dark_Knight_Female/Maps/Demonstration.umap b/Content/Dark_Knight/Dark_Knight_Female/Maps/Demonstration.umap new file mode 100644 index 0000000..1dbd7b3 Binary files /dev/null and b/Content/Dark_Knight/Dark_Knight_Female/Maps/Demonstration.umap differ diff --git a/Content/Dark_Knight/Dark_Knight_Female/Maps/Preview.umap b/Content/Dark_Knight/Dark_Knight_Female/Maps/Preview.umap new file mode 100644 index 0000000..7d5644d Binary files /dev/null and b/Content/Dark_Knight/Dark_Knight_Female/Maps/Preview.umap differ diff --git a/Content/Dark_Knight/Dark_Knight_Female/Materials/Functions/MF_Add_Blend_Scalar.uasset b/Content/Dark_Knight/Dark_Knight_Female/Materials/Functions/MF_Add_Blend_Scalar.uasset new file mode 100644 index 0000000..a9f4385 Binary files /dev/null and b/Content/Dark_Knight/Dark_Knight_Female/Materials/Functions/MF_Add_Blend_Scalar.uasset differ diff --git a/Content/Dark_Knight/Dark_Knight_Female/Materials/Functions/MF_Add_Blend_Vector3.uasset b/Content/Dark_Knight/Dark_Knight_Female/Materials/Functions/MF_Add_Blend_Vector3.uasset new file mode 100644 index 0000000..bab2ac1 Binary files /dev/null and b/Content/Dark_Knight/Dark_Knight_Female/Materials/Functions/MF_Add_Blend_Vector3.uasset differ diff --git a/Content/Dark_Knight/Dark_Knight_Female/Materials/Functions/MF_Multiply_Blend_Scalar.uasset b/Content/Dark_Knight/Dark_Knight_Female/Materials/Functions/MF_Multiply_Blend_Scalar.uasset new file mode 100644 index 0000000..1d823b2 Binary files /dev/null and b/Content/Dark_Knight/Dark_Knight_Female/Materials/Functions/MF_Multiply_Blend_Scalar.uasset differ diff --git a/Content/Dark_Knight/Dark_Knight_Female/Materials/Functions/MF_Multiply_Blend_Vector3.uasset b/Content/Dark_Knight/Dark_Knight_Female/Materials/Functions/MF_Multiply_Blend_Vector3.uasset new file mode 100644 index 0000000..3968651 Binary files /dev/null and b/Content/Dark_Knight/Dark_Knight_Female/Materials/Functions/MF_Multiply_Blend_Vector3.uasset differ diff --git a/Content/Dark_Knight/Dark_Knight_Female/Materials/Functions/MF_Rotate2D.uasset b/Content/Dark_Knight/Dark_Knight_Female/Materials/Functions/MF_Rotate2D.uasset new file mode 100644 index 0000000..eadbb0a Binary files /dev/null and b/Content/Dark_Knight/Dark_Knight_Female/Materials/Functions/MF_Rotate2D.uasset differ diff --git a/Content/Dark_Knight/Dark_Knight_Female/Materials/Functions/MF_Scale2D.uasset b/Content/Dark_Knight/Dark_Knight_Female/Materials/Functions/MF_Scale2D.uasset new file mode 100644 index 0000000..69f4850 Binary files /dev/null and b/Content/Dark_Knight/Dark_Knight_Female/Materials/Functions/MF_Scale2D.uasset differ diff --git a/Content/Dark_Knight/Dark_Knight_Female/Materials/Functions/MF_Translate2D.uasset b/Content/Dark_Knight/Dark_Knight_Female/Materials/Functions/MF_Translate2D.uasset new file mode 100644 index 0000000..8629df9 Binary files /dev/null and b/Content/Dark_Knight/Dark_Knight_Female/Materials/Functions/MF_Translate2D.uasset differ diff --git a/Content/Dark_Knight/Dark_Knight_Female/Materials/Instances/MI_DKF_Armor.uasset b/Content/Dark_Knight/Dark_Knight_Female/Materials/Instances/MI_DKF_Armor.uasset new file mode 100644 index 0000000..e4b5424 Binary files /dev/null and b/Content/Dark_Knight/Dark_Knight_Female/Materials/Instances/MI_DKF_Armor.uasset differ diff --git a/Content/Dark_Knight/Dark_Knight_Female/Materials/Instances/MI_DKF_Boots.uasset b/Content/Dark_Knight/Dark_Knight_Female/Materials/Instances/MI_DKF_Boots.uasset new file mode 100644 index 0000000..fcba287 Binary files /dev/null and b/Content/Dark_Knight/Dark_Knight_Female/Materials/Instances/MI_DKF_Boots.uasset differ diff --git a/Content/Dark_Knight/Dark_Knight_Female/Materials/Instances/MI_DKF_Gauntlets.uasset b/Content/Dark_Knight/Dark_Knight_Female/Materials/Instances/MI_DKF_Gauntlets.uasset new file mode 100644 index 0000000..443f251 Binary files /dev/null and b/Content/Dark_Knight/Dark_Knight_Female/Materials/Instances/MI_DKF_Gauntlets.uasset differ diff --git a/Content/Dark_Knight/Dark_Knight_Female/Materials/Instances/MI_DKF_Helmet.uasset b/Content/Dark_Knight/Dark_Knight_Female/Materials/Instances/MI_DKF_Helmet.uasset new file mode 100644 index 0000000..4209488 Binary files /dev/null and b/Content/Dark_Knight/Dark_Knight_Female/Materials/Instances/MI_DKF_Helmet.uasset differ diff --git a/Content/Dark_Knight/Dark_Knight_Female/Materials/Instances/MI_DKF_Pants.uasset b/Content/Dark_Knight/Dark_Knight_Female/Materials/Instances/MI_DKF_Pants.uasset new file mode 100644 index 0000000..eb12571 Binary files /dev/null and b/Content/Dark_Knight/Dark_Knight_Female/Materials/Instances/MI_DKF_Pants.uasset differ diff --git a/Content/Dark_Knight/Dark_Knight_Female/Materials/M_DKF_Armor.uasset b/Content/Dark_Knight/Dark_Knight_Female/Materials/M_DKF_Armor.uasset new file mode 100644 index 0000000..ed6c766 Binary files /dev/null and b/Content/Dark_Knight/Dark_Knight_Female/Materials/M_DKF_Armor.uasset differ diff --git a/Content/Dark_Knight/Dark_Knight_Female/Materials/M_DKF_Boots.uasset b/Content/Dark_Knight/Dark_Knight_Female/Materials/M_DKF_Boots.uasset new file mode 100644 index 0000000..ec250cc Binary files /dev/null and b/Content/Dark_Knight/Dark_Knight_Female/Materials/M_DKF_Boots.uasset differ diff --git a/Content/Dark_Knight/Dark_Knight_Female/Materials/M_DKF_Gauntlets.uasset b/Content/Dark_Knight/Dark_Knight_Female/Materials/M_DKF_Gauntlets.uasset new file mode 100644 index 0000000..d2ab833 Binary files /dev/null and b/Content/Dark_Knight/Dark_Knight_Female/Materials/M_DKF_Gauntlets.uasset differ diff --git a/Content/Dark_Knight/Dark_Knight_Female/Materials/M_DKF_Helmet.uasset b/Content/Dark_Knight/Dark_Knight_Female/Materials/M_DKF_Helmet.uasset new file mode 100644 index 0000000..2e110ee Binary files /dev/null and b/Content/Dark_Knight/Dark_Knight_Female/Materials/M_DKF_Helmet.uasset differ diff --git a/Content/Dark_Knight/Dark_Knight_Female/Materials/M_DKF_Pants.uasset b/Content/Dark_Knight/Dark_Knight_Female/Materials/M_DKF_Pants.uasset new file mode 100644 index 0000000..926f840 Binary files /dev/null and b/Content/Dark_Knight/Dark_Knight_Female/Materials/M_DKF_Pants.uasset differ diff --git a/Content/Dark_Knight/Dark_Knight_Female/Materials/M_DKF_Sword.uasset b/Content/Dark_Knight/Dark_Knight_Female/Materials/M_DKF_Sword.uasset new file mode 100644 index 0000000..2eeecbc Binary files /dev/null and b/Content/Dark_Knight/Dark_Knight_Female/Materials/M_DKF_Sword.uasset differ diff --git a/Content/Dark_Knight/Dark_Knight_Female/Meshes/PHYS_DKF_Full.uasset b/Content/Dark_Knight/Dark_Knight_Female/Meshes/PHYS_DKF_Full.uasset new file mode 100644 index 0000000..2698e72 Binary files /dev/null and b/Content/Dark_Knight/Dark_Knight_Female/Meshes/PHYS_DKF_Full.uasset differ diff --git a/Content/Dark_Knight/Dark_Knight_Female/Meshes/Parts/SKM_DKF_Armor.uasset b/Content/Dark_Knight/Dark_Knight_Female/Meshes/Parts/SKM_DKF_Armor.uasset new file mode 100644 index 0000000..2fee6b3 Binary files /dev/null and b/Content/Dark_Knight/Dark_Knight_Female/Meshes/Parts/SKM_DKF_Armor.uasset differ diff --git a/Content/Dark_Knight/Dark_Knight_Female/Meshes/Parts/SKM_DKF_Boots.uasset b/Content/Dark_Knight/Dark_Knight_Female/Meshes/Parts/SKM_DKF_Boots.uasset new file mode 100644 index 0000000..e2fb37b Binary files /dev/null and b/Content/Dark_Knight/Dark_Knight_Female/Meshes/Parts/SKM_DKF_Boots.uasset differ diff --git a/Content/Dark_Knight/Dark_Knight_Female/Meshes/Parts/SKM_DKF_Gauntlets.uasset b/Content/Dark_Knight/Dark_Knight_Female/Meshes/Parts/SKM_DKF_Gauntlets.uasset new file mode 100644 index 0000000..8697a1c Binary files /dev/null and b/Content/Dark_Knight/Dark_Knight_Female/Meshes/Parts/SKM_DKF_Gauntlets.uasset differ diff --git a/Content/Dark_Knight/Dark_Knight_Female/Meshes/Parts/SKM_DKF_Helmet.uasset b/Content/Dark_Knight/Dark_Knight_Female/Meshes/Parts/SKM_DKF_Helmet.uasset new file mode 100644 index 0000000..2e3dd44 Binary files /dev/null and b/Content/Dark_Knight/Dark_Knight_Female/Meshes/Parts/SKM_DKF_Helmet.uasset differ diff --git a/Content/Dark_Knight/Dark_Knight_Female/Meshes/Parts/SKM_DKF_Pants.uasset b/Content/Dark_Knight/Dark_Knight_Female/Meshes/Parts/SKM_DKF_Pants.uasset new file mode 100644 index 0000000..abbe6ed Binary files /dev/null and b/Content/Dark_Knight/Dark_Knight_Female/Meshes/Parts/SKM_DKF_Pants.uasset differ diff --git a/Content/Dark_Knight/Dark_Knight_Female/Meshes/SKM_DKF_Full.uasset b/Content/Dark_Knight/Dark_Knight_Female/Meshes/SKM_DKF_Full.uasset new file mode 100644 index 0000000..f44d3a8 Binary files /dev/null and b/Content/Dark_Knight/Dark_Knight_Female/Meshes/SKM_DKF_Full.uasset differ diff --git a/Content/Dark_Knight/Dark_Knight_Female/Meshes/SKM_DKF_Full_With_Sword.uasset b/Content/Dark_Knight/Dark_Knight_Female/Meshes/SKM_DKF_Full_With_Sword.uasset new file mode 100644 index 0000000..f578c65 Binary files /dev/null and b/Content/Dark_Knight/Dark_Knight_Female/Meshes/SKM_DKF_Full_With_Sword.uasset differ diff --git a/Content/Dark_Knight/Dark_Knight_Female/Meshes/SK_DKF_Full.uasset b/Content/Dark_Knight/Dark_Knight_Female/Meshes/SK_DKF_Full.uasset new file mode 100644 index 0000000..e66a8e1 Binary files /dev/null and b/Content/Dark_Knight/Dark_Knight_Female/Meshes/SK_DKF_Full.uasset differ diff --git a/Content/Dark_Knight/Dark_Knight_Female/Meshes/SM_DKF_Sword.uasset b/Content/Dark_Knight/Dark_Knight_Female/Meshes/SM_DKF_Sword.uasset new file mode 100644 index 0000000..952458a Binary files /dev/null and b/Content/Dark_Knight/Dark_Knight_Female/Meshes/SM_DKF_Sword.uasset differ diff --git a/Content/Dark_Knight/Dark_Knight_Female/Textures/Mask_Packs/T_DKF_Armor_Mask_Pack_1.uasset b/Content/Dark_Knight/Dark_Knight_Female/Textures/Mask_Packs/T_DKF_Armor_Mask_Pack_1.uasset new file mode 100644 index 0000000..7f3fbc4 Binary files /dev/null and b/Content/Dark_Knight/Dark_Knight_Female/Textures/Mask_Packs/T_DKF_Armor_Mask_Pack_1.uasset differ diff --git a/Content/Dark_Knight/Dark_Knight_Female/Textures/Mask_Packs/T_DKF_Armor_Mask_Pack_2.uasset b/Content/Dark_Knight/Dark_Knight_Female/Textures/Mask_Packs/T_DKF_Armor_Mask_Pack_2.uasset new file mode 100644 index 0000000..eb093de Binary files /dev/null and b/Content/Dark_Knight/Dark_Knight_Female/Textures/Mask_Packs/T_DKF_Armor_Mask_Pack_2.uasset differ diff --git a/Content/Dark_Knight/Dark_Knight_Female/Textures/Mask_Packs/T_DKF_Armor_Mask_Pack_3.uasset b/Content/Dark_Knight/Dark_Knight_Female/Textures/Mask_Packs/T_DKF_Armor_Mask_Pack_3.uasset new file mode 100644 index 0000000..b591749 Binary files /dev/null and b/Content/Dark_Knight/Dark_Knight_Female/Textures/Mask_Packs/T_DKF_Armor_Mask_Pack_3.uasset differ diff --git a/Content/Dark_Knight/Dark_Knight_Female/Textures/Mask_Packs/T_DKF_Boots_Mask_Pack_01.uasset b/Content/Dark_Knight/Dark_Knight_Female/Textures/Mask_Packs/T_DKF_Boots_Mask_Pack_01.uasset new file mode 100644 index 0000000..93718e1 Binary files /dev/null and b/Content/Dark_Knight/Dark_Knight_Female/Textures/Mask_Packs/T_DKF_Boots_Mask_Pack_01.uasset differ diff --git a/Content/Dark_Knight/Dark_Knight_Female/Textures/Mask_Packs/T_DKF_Gauntlets_Mask_Pack_01.uasset b/Content/Dark_Knight/Dark_Knight_Female/Textures/Mask_Packs/T_DKF_Gauntlets_Mask_Pack_01.uasset new file mode 100644 index 0000000..d3ddeaf Binary files /dev/null and b/Content/Dark_Knight/Dark_Knight_Female/Textures/Mask_Packs/T_DKF_Gauntlets_Mask_Pack_01.uasset differ diff --git a/Content/Dark_Knight/Dark_Knight_Female/Textures/Mask_Packs/T_DKF_Helmet_Mask_Pack_01.uasset b/Content/Dark_Knight/Dark_Knight_Female/Textures/Mask_Packs/T_DKF_Helmet_Mask_Pack_01.uasset new file mode 100644 index 0000000..7f1f7f3 Binary files /dev/null and b/Content/Dark_Knight/Dark_Knight_Female/Textures/Mask_Packs/T_DKF_Helmet_Mask_Pack_01.uasset differ diff --git a/Content/Dark_Knight/Dark_Knight_Female/Textures/Mask_Packs/T_DKF_Pants_Mask_Pack_01.uasset b/Content/Dark_Knight/Dark_Knight_Female/Textures/Mask_Packs/T_DKF_Pants_Mask_Pack_01.uasset new file mode 100644 index 0000000..8ac6192 Binary files /dev/null and b/Content/Dark_Knight/Dark_Knight_Female/Textures/Mask_Packs/T_DKF_Pants_Mask_Pack_01.uasset differ diff --git a/Content/Dark_Knight/Dark_Knight_Female/Textures/Symbols/T_DKF_Symbol_01.uasset b/Content/Dark_Knight/Dark_Knight_Female/Textures/Symbols/T_DKF_Symbol_01.uasset new file mode 100644 index 0000000..d3f4f38 Binary files /dev/null and b/Content/Dark_Knight/Dark_Knight_Female/Textures/Symbols/T_DKF_Symbol_01.uasset differ diff --git a/Content/Dark_Knight/Dark_Knight_Female/Textures/Symbols/T_DKF_Symbol_02.uasset b/Content/Dark_Knight/Dark_Knight_Female/Textures/Symbols/T_DKF_Symbol_02.uasset new file mode 100644 index 0000000..4d219de Binary files /dev/null and b/Content/Dark_Knight/Dark_Knight_Female/Textures/Symbols/T_DKF_Symbol_02.uasset differ diff --git a/Content/Dark_Knight/Dark_Knight_Female/Textures/Symbols/T_DKF_Symbol_03.uasset b/Content/Dark_Knight/Dark_Knight_Female/Textures/Symbols/T_DKF_Symbol_03.uasset new file mode 100644 index 0000000..c753b12 Binary files /dev/null and b/Content/Dark_Knight/Dark_Knight_Female/Textures/Symbols/T_DKF_Symbol_03.uasset differ diff --git a/Content/Dark_Knight/Dark_Knight_Female/Textures/T_DKF_Armor_ALB.uasset b/Content/Dark_Knight/Dark_Knight_Female/Textures/T_DKF_Armor_ALB.uasset new file mode 100644 index 0000000..75d6c57 Binary files /dev/null and b/Content/Dark_Knight/Dark_Knight_Female/Textures/T_DKF_Armor_ALB.uasset differ diff --git a/Content/Dark_Knight/Dark_Knight_Female/Textures/T_DKF_Armor_ARM.uasset b/Content/Dark_Knight/Dark_Knight_Female/Textures/T_DKF_Armor_ARM.uasset new file mode 100644 index 0000000..04224cd Binary files /dev/null and b/Content/Dark_Knight/Dark_Knight_Female/Textures/T_DKF_Armor_ARM.uasset differ diff --git a/Content/Dark_Knight/Dark_Knight_Female/Textures/T_DKF_Armor_NRM.uasset b/Content/Dark_Knight/Dark_Knight_Female/Textures/T_DKF_Armor_NRM.uasset new file mode 100644 index 0000000..19d1b56 Binary files /dev/null and b/Content/Dark_Knight/Dark_Knight_Female/Textures/T_DKF_Armor_NRM.uasset differ diff --git a/Content/Dark_Knight/Dark_Knight_Female/Textures/T_DKF_Armor_Opacity.uasset b/Content/Dark_Knight/Dark_Knight_Female/Textures/T_DKF_Armor_Opacity.uasset new file mode 100644 index 0000000..c767b03 Binary files /dev/null and b/Content/Dark_Knight/Dark_Knight_Female/Textures/T_DKF_Armor_Opacity.uasset differ diff --git a/Content/Dark_Knight/Dark_Knight_Female/Textures/T_DKF_Boots_ALB.uasset b/Content/Dark_Knight/Dark_Knight_Female/Textures/T_DKF_Boots_ALB.uasset new file mode 100644 index 0000000..36981f3 Binary files /dev/null and b/Content/Dark_Knight/Dark_Knight_Female/Textures/T_DKF_Boots_ALB.uasset differ diff --git a/Content/Dark_Knight/Dark_Knight_Female/Textures/T_DKF_Boots_ARM.uasset b/Content/Dark_Knight/Dark_Knight_Female/Textures/T_DKF_Boots_ARM.uasset new file mode 100644 index 0000000..fa5d7f7 Binary files /dev/null and b/Content/Dark_Knight/Dark_Knight_Female/Textures/T_DKF_Boots_ARM.uasset differ diff --git a/Content/Dark_Knight/Dark_Knight_Female/Textures/T_DKF_Boots_NRM.uasset b/Content/Dark_Knight/Dark_Knight_Female/Textures/T_DKF_Boots_NRM.uasset new file mode 100644 index 0000000..e3c339f Binary files /dev/null and b/Content/Dark_Knight/Dark_Knight_Female/Textures/T_DKF_Boots_NRM.uasset differ diff --git a/Content/Dark_Knight/Dark_Knight_Female/Textures/T_DKF_Gauntlets_ALB.uasset b/Content/Dark_Knight/Dark_Knight_Female/Textures/T_DKF_Gauntlets_ALB.uasset new file mode 100644 index 0000000..64cb67f Binary files /dev/null and b/Content/Dark_Knight/Dark_Knight_Female/Textures/T_DKF_Gauntlets_ALB.uasset differ diff --git a/Content/Dark_Knight/Dark_Knight_Female/Textures/T_DKF_Gauntlets_ARM.uasset b/Content/Dark_Knight/Dark_Knight_Female/Textures/T_DKF_Gauntlets_ARM.uasset new file mode 100644 index 0000000..51fc4c0 Binary files /dev/null and b/Content/Dark_Knight/Dark_Knight_Female/Textures/T_DKF_Gauntlets_ARM.uasset differ diff --git a/Content/Dark_Knight/Dark_Knight_Female/Textures/T_DKF_Gauntlets_NRM.uasset b/Content/Dark_Knight/Dark_Knight_Female/Textures/T_DKF_Gauntlets_NRM.uasset new file mode 100644 index 0000000..2441265 Binary files /dev/null and b/Content/Dark_Knight/Dark_Knight_Female/Textures/T_DKF_Gauntlets_NRM.uasset differ diff --git a/Content/Dark_Knight/Dark_Knight_Female/Textures/T_DKF_Helmet_ALB.uasset b/Content/Dark_Knight/Dark_Knight_Female/Textures/T_DKF_Helmet_ALB.uasset new file mode 100644 index 0000000..99775b4 Binary files /dev/null and b/Content/Dark_Knight/Dark_Knight_Female/Textures/T_DKF_Helmet_ALB.uasset differ diff --git a/Content/Dark_Knight/Dark_Knight_Female/Textures/T_DKF_Helmet_ARM.uasset b/Content/Dark_Knight/Dark_Knight_Female/Textures/T_DKF_Helmet_ARM.uasset new file mode 100644 index 0000000..010b8dd Binary files /dev/null and b/Content/Dark_Knight/Dark_Knight_Female/Textures/T_DKF_Helmet_ARM.uasset differ diff --git a/Content/Dark_Knight/Dark_Knight_Female/Textures/T_DKF_Helmet_NRM.uasset b/Content/Dark_Knight/Dark_Knight_Female/Textures/T_DKF_Helmet_NRM.uasset new file mode 100644 index 0000000..b3cfa64 Binary files /dev/null and b/Content/Dark_Knight/Dark_Knight_Female/Textures/T_DKF_Helmet_NRM.uasset differ diff --git a/Content/Dark_Knight/Dark_Knight_Female/Textures/T_DKF_Pants_ALB.uasset b/Content/Dark_Knight/Dark_Knight_Female/Textures/T_DKF_Pants_ALB.uasset new file mode 100644 index 0000000..e1825fd Binary files /dev/null and b/Content/Dark_Knight/Dark_Knight_Female/Textures/T_DKF_Pants_ALB.uasset differ diff --git a/Content/Dark_Knight/Dark_Knight_Female/Textures/T_DKF_Pants_ARM.uasset b/Content/Dark_Knight/Dark_Knight_Female/Textures/T_DKF_Pants_ARM.uasset new file mode 100644 index 0000000..8e1c7a9 Binary files /dev/null and b/Content/Dark_Knight/Dark_Knight_Female/Textures/T_DKF_Pants_ARM.uasset differ diff --git a/Content/Dark_Knight/Dark_Knight_Female/Textures/T_DKF_Pants_NRM.uasset b/Content/Dark_Knight/Dark_Knight_Female/Textures/T_DKF_Pants_NRM.uasset new file mode 100644 index 0000000..cc19427 Binary files /dev/null and b/Content/Dark_Knight/Dark_Knight_Female/Textures/T_DKF_Pants_NRM.uasset differ diff --git a/Content/Dark_Knight/Dark_Knight_Female/Textures/T_DKF_Sword_ALB.uasset b/Content/Dark_Knight/Dark_Knight_Female/Textures/T_DKF_Sword_ALB.uasset new file mode 100644 index 0000000..e2b3d1d Binary files /dev/null and b/Content/Dark_Knight/Dark_Knight_Female/Textures/T_DKF_Sword_ALB.uasset differ diff --git a/Content/Dark_Knight/Dark_Knight_Female/Textures/T_DKF_Sword_ARM.uasset b/Content/Dark_Knight/Dark_Knight_Female/Textures/T_DKF_Sword_ARM.uasset new file mode 100644 index 0000000..7c5e4ef Binary files /dev/null and b/Content/Dark_Knight/Dark_Knight_Female/Textures/T_DKF_Sword_ARM.uasset differ diff --git a/Content/Dark_Knight/Dark_Knight_Female/Textures/T_DKF_Sword_NRM.uasset b/Content/Dark_Knight/Dark_Knight_Female/Textures/T_DKF_Sword_NRM.uasset new file mode 100644 index 0000000..22f6037 Binary files /dev/null and b/Content/Dark_Knight/Dark_Knight_Female/Textures/T_DKF_Sword_NRM.uasset differ diff --git a/Content/Dark_Knight/Dark_Knight_Male/Animations/Anim_DKM_Attack_01.uasset b/Content/Dark_Knight/Dark_Knight_Male/Animations/Anim_DKM_Attack_01.uasset new file mode 100644 index 0000000..ce3cd77 Binary files /dev/null and b/Content/Dark_Knight/Dark_Knight_Male/Animations/Anim_DKM_Attack_01.uasset differ diff --git a/Content/Dark_Knight/Dark_Knight_Male/Animations/Anim_DKM_Attack_02.uasset b/Content/Dark_Knight/Dark_Knight_Male/Animations/Anim_DKM_Attack_02.uasset new file mode 100644 index 0000000..0ca457a Binary files /dev/null and b/Content/Dark_Knight/Dark_Knight_Male/Animations/Anim_DKM_Attack_02.uasset differ diff --git a/Content/Dark_Knight/Dark_Knight_Male/Animations/Anim_DKM_Attack_03.uasset b/Content/Dark_Knight/Dark_Knight_Male/Animations/Anim_DKM_Attack_03.uasset new file mode 100644 index 0000000..d0b5ce8 Binary files /dev/null and b/Content/Dark_Knight/Dark_Knight_Male/Animations/Anim_DKM_Attack_03.uasset differ diff --git a/Content/Dark_Knight/Dark_Knight_Male/Animations/Anim_DKM_Crouch_Alert_Bwd.uasset b/Content/Dark_Knight/Dark_Knight_Male/Animations/Anim_DKM_Crouch_Alert_Bwd.uasset new file mode 100644 index 0000000..8990ccf Binary files /dev/null and b/Content/Dark_Knight/Dark_Knight_Male/Animations/Anim_DKM_Crouch_Alert_Bwd.uasset differ diff --git a/Content/Dark_Knight/Dark_Knight_Male/Animations/Anim_DKM_Crouch_Alert_BwdLeft.uasset b/Content/Dark_Knight/Dark_Knight_Male/Animations/Anim_DKM_Crouch_Alert_BwdLeft.uasset new file mode 100644 index 0000000..23e302f Binary files /dev/null and b/Content/Dark_Knight/Dark_Knight_Male/Animations/Anim_DKM_Crouch_Alert_BwdLeft.uasset differ diff --git a/Content/Dark_Knight/Dark_Knight_Male/Animations/Anim_DKM_Crouch_Alert_BwdRight.uasset b/Content/Dark_Knight/Dark_Knight_Male/Animations/Anim_DKM_Crouch_Alert_BwdRight.uasset new file mode 100644 index 0000000..661404a Binary files /dev/null and b/Content/Dark_Knight/Dark_Knight_Male/Animations/Anim_DKM_Crouch_Alert_BwdRight.uasset differ diff --git a/Content/Dark_Knight/Dark_Knight_Male/Animations/Anim_DKM_Crouch_Alert_Fwd.uasset b/Content/Dark_Knight/Dark_Knight_Male/Animations/Anim_DKM_Crouch_Alert_Fwd.uasset new file mode 100644 index 0000000..3bce0e5 Binary files /dev/null and b/Content/Dark_Knight/Dark_Knight_Male/Animations/Anim_DKM_Crouch_Alert_Fwd.uasset differ diff --git a/Content/Dark_Knight/Dark_Knight_Male/Animations/Anim_DKM_Crouch_Alert_FwdLeft.uasset b/Content/Dark_Knight/Dark_Knight_Male/Animations/Anim_DKM_Crouch_Alert_FwdLeft.uasset new file mode 100644 index 0000000..81c6c3e Binary files /dev/null and b/Content/Dark_Knight/Dark_Knight_Male/Animations/Anim_DKM_Crouch_Alert_FwdLeft.uasset differ diff --git a/Content/Dark_Knight/Dark_Knight_Male/Animations/Anim_DKM_Crouch_Alert_FwdRight.uasset b/Content/Dark_Knight/Dark_Knight_Male/Animations/Anim_DKM_Crouch_Alert_FwdRight.uasset new file mode 100644 index 0000000..8c3f5ee Binary files /dev/null and b/Content/Dark_Knight/Dark_Knight_Male/Animations/Anim_DKM_Crouch_Alert_FwdRight.uasset differ diff --git a/Content/Dark_Knight/Dark_Knight_Male/Animations/Anim_DKM_Crouch_Alert_Left.uasset b/Content/Dark_Knight/Dark_Knight_Male/Animations/Anim_DKM_Crouch_Alert_Left.uasset new file mode 100644 index 0000000..94bf035 Binary files /dev/null and b/Content/Dark_Knight/Dark_Knight_Male/Animations/Anim_DKM_Crouch_Alert_Left.uasset differ diff --git a/Content/Dark_Knight/Dark_Knight_Male/Animations/Anim_DKM_Crouch_Alert_Right.uasset b/Content/Dark_Knight/Dark_Knight_Male/Animations/Anim_DKM_Crouch_Alert_Right.uasset new file mode 100644 index 0000000..7c4d1bf Binary files /dev/null and b/Content/Dark_Knight/Dark_Knight_Male/Animations/Anim_DKM_Crouch_Alert_Right.uasset differ diff --git a/Content/Dark_Knight/Dark_Knight_Male/Animations/Anim_DKM_Crouch_Bwd.uasset b/Content/Dark_Knight/Dark_Knight_Male/Animations/Anim_DKM_Crouch_Bwd.uasset new file mode 100644 index 0000000..bf5ebc5 Binary files /dev/null and b/Content/Dark_Knight/Dark_Knight_Male/Animations/Anim_DKM_Crouch_Bwd.uasset differ diff --git a/Content/Dark_Knight/Dark_Knight_Male/Animations/Anim_DKM_Crouch_BwdLeft.uasset b/Content/Dark_Knight/Dark_Knight_Male/Animations/Anim_DKM_Crouch_BwdLeft.uasset new file mode 100644 index 0000000..193964a Binary files /dev/null and b/Content/Dark_Knight/Dark_Knight_Male/Animations/Anim_DKM_Crouch_BwdLeft.uasset differ diff --git a/Content/Dark_Knight/Dark_Knight_Male/Animations/Anim_DKM_Crouch_BwdRight.uasset b/Content/Dark_Knight/Dark_Knight_Male/Animations/Anim_DKM_Crouch_BwdRight.uasset new file mode 100644 index 0000000..4494011 Binary files /dev/null and b/Content/Dark_Knight/Dark_Knight_Male/Animations/Anim_DKM_Crouch_BwdRight.uasset differ diff --git a/Content/Dark_Knight/Dark_Knight_Male/Animations/Anim_DKM_Crouch_Fwd.uasset b/Content/Dark_Knight/Dark_Knight_Male/Animations/Anim_DKM_Crouch_Fwd.uasset new file mode 100644 index 0000000..56d1849 Binary files /dev/null and b/Content/Dark_Knight/Dark_Knight_Male/Animations/Anim_DKM_Crouch_Fwd.uasset differ diff --git a/Content/Dark_Knight/Dark_Knight_Male/Animations/Anim_DKM_Crouch_FwdLeft.uasset b/Content/Dark_Knight/Dark_Knight_Male/Animations/Anim_DKM_Crouch_FwdLeft.uasset new file mode 100644 index 0000000..a7745d5 Binary files /dev/null and b/Content/Dark_Knight/Dark_Knight_Male/Animations/Anim_DKM_Crouch_FwdLeft.uasset differ diff --git a/Content/Dark_Knight/Dark_Knight_Male/Animations/Anim_DKM_Crouch_FwdRight.uasset b/Content/Dark_Knight/Dark_Knight_Male/Animations/Anim_DKM_Crouch_FwdRight.uasset new file mode 100644 index 0000000..6da29c7 Binary files /dev/null and b/Content/Dark_Knight/Dark_Knight_Male/Animations/Anim_DKM_Crouch_FwdRight.uasset differ diff --git a/Content/Dark_Knight/Dark_Knight_Male/Animations/Anim_DKM_Crouch_Left.uasset b/Content/Dark_Knight/Dark_Knight_Male/Animations/Anim_DKM_Crouch_Left.uasset new file mode 100644 index 0000000..a00809f Binary files /dev/null and b/Content/Dark_Knight/Dark_Knight_Male/Animations/Anim_DKM_Crouch_Left.uasset differ diff --git a/Content/Dark_Knight/Dark_Knight_Male/Animations/Anim_DKM_Crouch_Right.uasset b/Content/Dark_Knight/Dark_Knight_Male/Animations/Anim_DKM_Crouch_Right.uasset new file mode 100644 index 0000000..22580b0 Binary files /dev/null and b/Content/Dark_Knight/Dark_Knight_Male/Animations/Anim_DKM_Crouch_Right.uasset differ diff --git a/Content/Dark_Knight/Dark_Knight_Male/Animations/Anim_DKM_Death.uasset b/Content/Dark_Knight/Dark_Knight_Male/Animations/Anim_DKM_Death.uasset new file mode 100644 index 0000000..36db903 Binary files /dev/null and b/Content/Dark_Knight/Dark_Knight_Male/Animations/Anim_DKM_Death.uasset differ diff --git a/Content/Dark_Knight/Dark_Knight_Male/Animations/Anim_DKM_Hit_Alert_Bwd.uasset b/Content/Dark_Knight/Dark_Knight_Male/Animations/Anim_DKM_Hit_Alert_Bwd.uasset new file mode 100644 index 0000000..ba23c4e Binary files /dev/null and b/Content/Dark_Knight/Dark_Knight_Male/Animations/Anim_DKM_Hit_Alert_Bwd.uasset differ diff --git a/Content/Dark_Knight/Dark_Knight_Male/Animations/Anim_DKM_Hit_Alert_Fwd.uasset b/Content/Dark_Knight/Dark_Knight_Male/Animations/Anim_DKM_Hit_Alert_Fwd.uasset new file mode 100644 index 0000000..3a81ad9 Binary files /dev/null and b/Content/Dark_Knight/Dark_Knight_Male/Animations/Anim_DKM_Hit_Alert_Fwd.uasset differ diff --git a/Content/Dark_Knight/Dark_Knight_Male/Animations/Anim_DKM_Hit_Alert_Left.uasset b/Content/Dark_Knight/Dark_Knight_Male/Animations/Anim_DKM_Hit_Alert_Left.uasset new file mode 100644 index 0000000..8220afb Binary files /dev/null and b/Content/Dark_Knight/Dark_Knight_Male/Animations/Anim_DKM_Hit_Alert_Left.uasset differ diff --git a/Content/Dark_Knight/Dark_Knight_Male/Animations/Anim_DKM_Hit_Alert_Right.uasset b/Content/Dark_Knight/Dark_Knight_Male/Animations/Anim_DKM_Hit_Alert_Right.uasset new file mode 100644 index 0000000..e6c27f0 Binary files /dev/null and b/Content/Dark_Knight/Dark_Knight_Male/Animations/Anim_DKM_Hit_Alert_Right.uasset differ diff --git a/Content/Dark_Knight/Dark_Knight_Male/Animations/Anim_DKM_Hit_Bwd.uasset b/Content/Dark_Knight/Dark_Knight_Male/Animations/Anim_DKM_Hit_Bwd.uasset new file mode 100644 index 0000000..aa51bff Binary files /dev/null and b/Content/Dark_Knight/Dark_Knight_Male/Animations/Anim_DKM_Hit_Bwd.uasset differ diff --git a/Content/Dark_Knight/Dark_Knight_Male/Animations/Anim_DKM_Hit_Fwd.uasset b/Content/Dark_Knight/Dark_Knight_Male/Animations/Anim_DKM_Hit_Fwd.uasset new file mode 100644 index 0000000..dddbedd Binary files /dev/null and b/Content/Dark_Knight/Dark_Knight_Male/Animations/Anim_DKM_Hit_Fwd.uasset differ diff --git a/Content/Dark_Knight/Dark_Knight_Male/Animations/Anim_DKM_Hit_Left.uasset b/Content/Dark_Knight/Dark_Knight_Male/Animations/Anim_DKM_Hit_Left.uasset new file mode 100644 index 0000000..54f7423 Binary files /dev/null and b/Content/Dark_Knight/Dark_Knight_Male/Animations/Anim_DKM_Hit_Left.uasset differ diff --git a/Content/Dark_Knight/Dark_Knight_Male/Animations/Anim_DKM_Hit_Right.uasset b/Content/Dark_Knight/Dark_Knight_Male/Animations/Anim_DKM_Hit_Right.uasset new file mode 100644 index 0000000..9b4e2cb Binary files /dev/null and b/Content/Dark_Knight/Dark_Knight_Male/Animations/Anim_DKM_Hit_Right.uasset differ diff --git a/Content/Dark_Knight/Dark_Knight_Male/Animations/Anim_DKM_Idle.uasset b/Content/Dark_Knight/Dark_Knight_Male/Animations/Anim_DKM_Idle.uasset new file mode 100644 index 0000000..0f793ae Binary files /dev/null and b/Content/Dark_Knight/Dark_Knight_Male/Animations/Anim_DKM_Idle.uasset differ diff --git a/Content/Dark_Knight/Dark_Knight_Male/Animations/Anim_DKM_Idle_Alert.uasset b/Content/Dark_Knight/Dark_Knight_Male/Animations/Anim_DKM_Idle_Alert.uasset new file mode 100644 index 0000000..0388455 Binary files /dev/null and b/Content/Dark_Knight/Dark_Knight_Male/Animations/Anim_DKM_Idle_Alert.uasset differ diff --git a/Content/Dark_Knight/Dark_Knight_Male/Animations/Anim_DKM_Run_Alert_Fwd.uasset b/Content/Dark_Knight/Dark_Knight_Male/Animations/Anim_DKM_Run_Alert_Fwd.uasset new file mode 100644 index 0000000..98630c5 Binary files /dev/null and b/Content/Dark_Knight/Dark_Knight_Male/Animations/Anim_DKM_Run_Alert_Fwd.uasset differ diff --git a/Content/Dark_Knight/Dark_Knight_Male/Animations/Anim_DKM_Run_Alert_FwdLeft.uasset b/Content/Dark_Knight/Dark_Knight_Male/Animations/Anim_DKM_Run_Alert_FwdLeft.uasset new file mode 100644 index 0000000..9ed8756 Binary files /dev/null and b/Content/Dark_Knight/Dark_Knight_Male/Animations/Anim_DKM_Run_Alert_FwdLeft.uasset differ diff --git a/Content/Dark_Knight/Dark_Knight_Male/Animations/Anim_DKM_Run_Alert_FwdRight.uasset b/Content/Dark_Knight/Dark_Knight_Male/Animations/Anim_DKM_Run_Alert_FwdRight.uasset new file mode 100644 index 0000000..b60d796 Binary files /dev/null and b/Content/Dark_Knight/Dark_Knight_Male/Animations/Anim_DKM_Run_Alert_FwdRight.uasset differ diff --git a/Content/Dark_Knight/Dark_Knight_Male/Animations/Anim_DKM_Run_Fwd.uasset b/Content/Dark_Knight/Dark_Knight_Male/Animations/Anim_DKM_Run_Fwd.uasset new file mode 100644 index 0000000..b69aede Binary files /dev/null and b/Content/Dark_Knight/Dark_Knight_Male/Animations/Anim_DKM_Run_Fwd.uasset differ diff --git a/Content/Dark_Knight/Dark_Knight_Male/Animations/Anim_DKM_Run_FwdLeft.uasset b/Content/Dark_Knight/Dark_Knight_Male/Animations/Anim_DKM_Run_FwdLeft.uasset new file mode 100644 index 0000000..ec0b918 Binary files /dev/null and b/Content/Dark_Knight/Dark_Knight_Male/Animations/Anim_DKM_Run_FwdLeft.uasset differ diff --git a/Content/Dark_Knight/Dark_Knight_Male/Animations/Anim_DKM_Run_FwdRight.uasset b/Content/Dark_Knight/Dark_Knight_Male/Animations/Anim_DKM_Run_FwdRight.uasset new file mode 100644 index 0000000..2aef1ad Binary files /dev/null and b/Content/Dark_Knight/Dark_Knight_Male/Animations/Anim_DKM_Run_FwdRight.uasset differ diff --git a/Content/Dark_Knight/Dark_Knight_Male/Animations/Anim_DKM_Walk_Alert_Bwd.uasset b/Content/Dark_Knight/Dark_Knight_Male/Animations/Anim_DKM_Walk_Alert_Bwd.uasset new file mode 100644 index 0000000..6d39204 Binary files /dev/null and b/Content/Dark_Knight/Dark_Knight_Male/Animations/Anim_DKM_Walk_Alert_Bwd.uasset differ diff --git a/Content/Dark_Knight/Dark_Knight_Male/Animations/Anim_DKM_Walk_Alert_BwdLeft.uasset b/Content/Dark_Knight/Dark_Knight_Male/Animations/Anim_DKM_Walk_Alert_BwdLeft.uasset new file mode 100644 index 0000000..f73a2e3 Binary files /dev/null and b/Content/Dark_Knight/Dark_Knight_Male/Animations/Anim_DKM_Walk_Alert_BwdLeft.uasset differ diff --git a/Content/Dark_Knight/Dark_Knight_Male/Animations/Anim_DKM_Walk_Alert_BwdRight.uasset b/Content/Dark_Knight/Dark_Knight_Male/Animations/Anim_DKM_Walk_Alert_BwdRight.uasset new file mode 100644 index 0000000..23b3783 Binary files /dev/null and b/Content/Dark_Knight/Dark_Knight_Male/Animations/Anim_DKM_Walk_Alert_BwdRight.uasset differ diff --git a/Content/Dark_Knight/Dark_Knight_Male/Animations/Anim_DKM_Walk_Alert_Fwd.uasset b/Content/Dark_Knight/Dark_Knight_Male/Animations/Anim_DKM_Walk_Alert_Fwd.uasset new file mode 100644 index 0000000..cbf8836 Binary files /dev/null and b/Content/Dark_Knight/Dark_Knight_Male/Animations/Anim_DKM_Walk_Alert_Fwd.uasset differ diff --git a/Content/Dark_Knight/Dark_Knight_Male/Animations/Anim_DKM_Walk_Alert_FwdLeft.uasset b/Content/Dark_Knight/Dark_Knight_Male/Animations/Anim_DKM_Walk_Alert_FwdLeft.uasset new file mode 100644 index 0000000..a7e47f5 Binary files /dev/null and b/Content/Dark_Knight/Dark_Knight_Male/Animations/Anim_DKM_Walk_Alert_FwdLeft.uasset differ diff --git a/Content/Dark_Knight/Dark_Knight_Male/Animations/Anim_DKM_Walk_Alert_FwdRight.uasset b/Content/Dark_Knight/Dark_Knight_Male/Animations/Anim_DKM_Walk_Alert_FwdRight.uasset new file mode 100644 index 0000000..71853cd Binary files /dev/null and b/Content/Dark_Knight/Dark_Knight_Male/Animations/Anim_DKM_Walk_Alert_FwdRight.uasset differ diff --git a/Content/Dark_Knight/Dark_Knight_Male/Animations/Anim_DKM_Walk_Alert_Left.uasset b/Content/Dark_Knight/Dark_Knight_Male/Animations/Anim_DKM_Walk_Alert_Left.uasset new file mode 100644 index 0000000..e8e8000 Binary files /dev/null and b/Content/Dark_Knight/Dark_Knight_Male/Animations/Anim_DKM_Walk_Alert_Left.uasset differ diff --git a/Content/Dark_Knight/Dark_Knight_Male/Animations/Anim_DKM_Walk_Alert_Right.uasset b/Content/Dark_Knight/Dark_Knight_Male/Animations/Anim_DKM_Walk_Alert_Right.uasset new file mode 100644 index 0000000..6aff8bc Binary files /dev/null and b/Content/Dark_Knight/Dark_Knight_Male/Animations/Anim_DKM_Walk_Alert_Right.uasset differ diff --git a/Content/Dark_Knight/Dark_Knight_Male/Animations/Anim_DKM_Walk_Bwd.uasset b/Content/Dark_Knight/Dark_Knight_Male/Animations/Anim_DKM_Walk_Bwd.uasset new file mode 100644 index 0000000..c653e83 Binary files /dev/null and b/Content/Dark_Knight/Dark_Knight_Male/Animations/Anim_DKM_Walk_Bwd.uasset differ diff --git a/Content/Dark_Knight/Dark_Knight_Male/Animations/Anim_DKM_Walk_BwdLeft.uasset b/Content/Dark_Knight/Dark_Knight_Male/Animations/Anim_DKM_Walk_BwdLeft.uasset new file mode 100644 index 0000000..0b00a5c Binary files /dev/null and b/Content/Dark_Knight/Dark_Knight_Male/Animations/Anim_DKM_Walk_BwdLeft.uasset differ diff --git a/Content/Dark_Knight/Dark_Knight_Male/Animations/Anim_DKM_Walk_BwdRight.uasset b/Content/Dark_Knight/Dark_Knight_Male/Animations/Anim_DKM_Walk_BwdRight.uasset new file mode 100644 index 0000000..b0805b7 Binary files /dev/null and b/Content/Dark_Knight/Dark_Knight_Male/Animations/Anim_DKM_Walk_BwdRight.uasset differ diff --git a/Content/Dark_Knight/Dark_Knight_Male/Animations/Anim_DKM_Walk_Fwd.uasset b/Content/Dark_Knight/Dark_Knight_Male/Animations/Anim_DKM_Walk_Fwd.uasset new file mode 100644 index 0000000..fbaff83 Binary files /dev/null and b/Content/Dark_Knight/Dark_Knight_Male/Animations/Anim_DKM_Walk_Fwd.uasset differ diff --git a/Content/Dark_Knight/Dark_Knight_Male/Animations/Anim_DKM_Walk_FwdLeft.uasset b/Content/Dark_Knight/Dark_Knight_Male/Animations/Anim_DKM_Walk_FwdLeft.uasset new file mode 100644 index 0000000..73c9014 Binary files /dev/null and b/Content/Dark_Knight/Dark_Knight_Male/Animations/Anim_DKM_Walk_FwdLeft.uasset differ diff --git a/Content/Dark_Knight/Dark_Knight_Male/Animations/Anim_DKM_Walk_FwdRight.uasset b/Content/Dark_Knight/Dark_Knight_Male/Animations/Anim_DKM_Walk_FwdRight.uasset new file mode 100644 index 0000000..90d3c5a Binary files /dev/null and b/Content/Dark_Knight/Dark_Knight_Male/Animations/Anim_DKM_Walk_FwdRight.uasset differ diff --git a/Content/Dark_Knight/Dark_Knight_Male/Animations/Anim_DKM_Walk_Left.uasset b/Content/Dark_Knight/Dark_Knight_Male/Animations/Anim_DKM_Walk_Left.uasset new file mode 100644 index 0000000..e88e461 Binary files /dev/null and b/Content/Dark_Knight/Dark_Knight_Male/Animations/Anim_DKM_Walk_Left.uasset differ diff --git a/Content/Dark_Knight/Dark_Knight_Male/Animations/Anim_DKM_Walk_Right.uasset b/Content/Dark_Knight/Dark_Knight_Male/Animations/Anim_DKM_Walk_Right.uasset new file mode 100644 index 0000000..0729f71 Binary files /dev/null and b/Content/Dark_Knight/Dark_Knight_Male/Animations/Anim_DKM_Walk_Right.uasset differ diff --git a/Content/Dark_Knight/Dark_Knight_Male/Demo/Studio/M_Floor.uasset b/Content/Dark_Knight/Dark_Knight_Male/Demo/Studio/M_Floor.uasset new file mode 100644 index 0000000..47ef1bb Binary files /dev/null and b/Content/Dark_Knight/Dark_Knight_Male/Demo/Studio/M_Floor.uasset differ diff --git a/Content/Dark_Knight/Dark_Knight_Male/Demo/Studio/SM_Stand.uasset b/Content/Dark_Knight/Dark_Knight_Male/Demo/Studio/SM_Stand.uasset new file mode 100644 index 0000000..0123a39 Binary files /dev/null and b/Content/Dark_Knight/Dark_Knight_Male/Demo/Studio/SM_Stand.uasset differ diff --git a/Content/Dark_Knight/Dark_Knight_Male/Maps/Demonstration.umap b/Content/Dark_Knight/Dark_Knight_Male/Maps/Demonstration.umap new file mode 100644 index 0000000..1f44b3a Binary files /dev/null and b/Content/Dark_Knight/Dark_Knight_Male/Maps/Demonstration.umap differ diff --git a/Content/Dark_Knight/Dark_Knight_Male/Maps/Preview.umap b/Content/Dark_Knight/Dark_Knight_Male/Maps/Preview.umap new file mode 100644 index 0000000..5eabdcc Binary files /dev/null and b/Content/Dark_Knight/Dark_Knight_Male/Maps/Preview.umap differ diff --git a/Content/Dark_Knight/Dark_Knight_Male/Materials/Functions/MF_Add_Blend_Scalar.uasset b/Content/Dark_Knight/Dark_Knight_Male/Materials/Functions/MF_Add_Blend_Scalar.uasset new file mode 100644 index 0000000..b372d15 Binary files /dev/null and b/Content/Dark_Knight/Dark_Knight_Male/Materials/Functions/MF_Add_Blend_Scalar.uasset differ diff --git a/Content/Dark_Knight/Dark_Knight_Male/Materials/Functions/MF_Add_Blend_Vector3.uasset b/Content/Dark_Knight/Dark_Knight_Male/Materials/Functions/MF_Add_Blend_Vector3.uasset new file mode 100644 index 0000000..6b6f2c5 Binary files /dev/null and b/Content/Dark_Knight/Dark_Knight_Male/Materials/Functions/MF_Add_Blend_Vector3.uasset differ diff --git a/Content/Dark_Knight/Dark_Knight_Male/Materials/Functions/MF_Multiply_Blend_Scalar.uasset b/Content/Dark_Knight/Dark_Knight_Male/Materials/Functions/MF_Multiply_Blend_Scalar.uasset new file mode 100644 index 0000000..40f10a6 Binary files /dev/null and b/Content/Dark_Knight/Dark_Knight_Male/Materials/Functions/MF_Multiply_Blend_Scalar.uasset differ diff --git a/Content/Dark_Knight/Dark_Knight_Male/Materials/Functions/MF_Multiply_Blend_Vector3.uasset b/Content/Dark_Knight/Dark_Knight_Male/Materials/Functions/MF_Multiply_Blend_Vector3.uasset new file mode 100644 index 0000000..760bfa1 Binary files /dev/null and b/Content/Dark_Knight/Dark_Knight_Male/Materials/Functions/MF_Multiply_Blend_Vector3.uasset differ diff --git a/Content/Dark_Knight/Dark_Knight_Male/Materials/Functions/MF_Rotate2D.uasset b/Content/Dark_Knight/Dark_Knight_Male/Materials/Functions/MF_Rotate2D.uasset new file mode 100644 index 0000000..fc3a031 Binary files /dev/null and b/Content/Dark_Knight/Dark_Knight_Male/Materials/Functions/MF_Rotate2D.uasset differ diff --git a/Content/Dark_Knight/Dark_Knight_Male/Materials/Functions/MF_Scale2D.uasset b/Content/Dark_Knight/Dark_Knight_Male/Materials/Functions/MF_Scale2D.uasset new file mode 100644 index 0000000..ec381d0 Binary files /dev/null and b/Content/Dark_Knight/Dark_Knight_Male/Materials/Functions/MF_Scale2D.uasset differ diff --git a/Content/Dark_Knight/Dark_Knight_Male/Materials/Functions/MF_Translate2D.uasset b/Content/Dark_Knight/Dark_Knight_Male/Materials/Functions/MF_Translate2D.uasset new file mode 100644 index 0000000..d892f74 Binary files /dev/null and b/Content/Dark_Knight/Dark_Knight_Male/Materials/Functions/MF_Translate2D.uasset differ diff --git a/Content/Dark_Knight/Dark_Knight_Male/Materials/Instances/MI_DKM_Armor.uasset b/Content/Dark_Knight/Dark_Knight_Male/Materials/Instances/MI_DKM_Armor.uasset new file mode 100644 index 0000000..69f4403 Binary files /dev/null and b/Content/Dark_Knight/Dark_Knight_Male/Materials/Instances/MI_DKM_Armor.uasset differ diff --git a/Content/Dark_Knight/Dark_Knight_Male/Materials/Instances/MI_DKM_Boots.uasset b/Content/Dark_Knight/Dark_Knight_Male/Materials/Instances/MI_DKM_Boots.uasset new file mode 100644 index 0000000..8444f6a Binary files /dev/null and b/Content/Dark_Knight/Dark_Knight_Male/Materials/Instances/MI_DKM_Boots.uasset differ diff --git a/Content/Dark_Knight/Dark_Knight_Male/Materials/Instances/MI_DKM_Gauntlets.uasset b/Content/Dark_Knight/Dark_Knight_Male/Materials/Instances/MI_DKM_Gauntlets.uasset new file mode 100644 index 0000000..93b5aa1 Binary files /dev/null and b/Content/Dark_Knight/Dark_Knight_Male/Materials/Instances/MI_DKM_Gauntlets.uasset differ diff --git a/Content/Dark_Knight/Dark_Knight_Male/Materials/Instances/MI_DKM_Helmet.uasset b/Content/Dark_Knight/Dark_Knight_Male/Materials/Instances/MI_DKM_Helmet.uasset new file mode 100644 index 0000000..89c4c8a Binary files /dev/null and b/Content/Dark_Knight/Dark_Knight_Male/Materials/Instances/MI_DKM_Helmet.uasset differ diff --git a/Content/Dark_Knight/Dark_Knight_Male/Materials/Instances/MI_DKM_Pants.uasset b/Content/Dark_Knight/Dark_Knight_Male/Materials/Instances/MI_DKM_Pants.uasset new file mode 100644 index 0000000..85f5ba0 Binary files /dev/null and b/Content/Dark_Knight/Dark_Knight_Male/Materials/Instances/MI_DKM_Pants.uasset differ diff --git a/Content/Dark_Knight/Dark_Knight_Male/Materials/M_DKM_Armor.uasset b/Content/Dark_Knight/Dark_Knight_Male/Materials/M_DKM_Armor.uasset new file mode 100644 index 0000000..8aa28e2 Binary files /dev/null and b/Content/Dark_Knight/Dark_Knight_Male/Materials/M_DKM_Armor.uasset differ diff --git a/Content/Dark_Knight/Dark_Knight_Male/Materials/M_DKM_Boots.uasset b/Content/Dark_Knight/Dark_Knight_Male/Materials/M_DKM_Boots.uasset new file mode 100644 index 0000000..cbb5c68 Binary files /dev/null and b/Content/Dark_Knight/Dark_Knight_Male/Materials/M_DKM_Boots.uasset differ diff --git a/Content/Dark_Knight/Dark_Knight_Male/Materials/M_DKM_Gauntlets.uasset b/Content/Dark_Knight/Dark_Knight_Male/Materials/M_DKM_Gauntlets.uasset new file mode 100644 index 0000000..e70e70a Binary files /dev/null and b/Content/Dark_Knight/Dark_Knight_Male/Materials/M_DKM_Gauntlets.uasset differ diff --git a/Content/Dark_Knight/Dark_Knight_Male/Materials/M_DKM_Helmet.uasset b/Content/Dark_Knight/Dark_Knight_Male/Materials/M_DKM_Helmet.uasset new file mode 100644 index 0000000..202d3f2 Binary files /dev/null and b/Content/Dark_Knight/Dark_Knight_Male/Materials/M_DKM_Helmet.uasset differ diff --git a/Content/Dark_Knight/Dark_Knight_Male/Materials/M_DKM_Pants.uasset b/Content/Dark_Knight/Dark_Knight_Male/Materials/M_DKM_Pants.uasset new file mode 100644 index 0000000..3bff938 Binary files /dev/null and b/Content/Dark_Knight/Dark_Knight_Male/Materials/M_DKM_Pants.uasset differ diff --git a/Content/Dark_Knight/Dark_Knight_Male/Materials/M_DKM_Sword.uasset b/Content/Dark_Knight/Dark_Knight_Male/Materials/M_DKM_Sword.uasset new file mode 100644 index 0000000..1cd682f Binary files /dev/null and b/Content/Dark_Knight/Dark_Knight_Male/Materials/M_DKM_Sword.uasset differ diff --git a/Content/Dark_Knight/Dark_Knight_Male/Meshes/PHYS_DKM_Full.uasset b/Content/Dark_Knight/Dark_Knight_Male/Meshes/PHYS_DKM_Full.uasset new file mode 100644 index 0000000..1ef9973 Binary files /dev/null and b/Content/Dark_Knight/Dark_Knight_Male/Meshes/PHYS_DKM_Full.uasset differ diff --git a/Content/Dark_Knight/Dark_Knight_Male/Meshes/Parts/SKM_DKM_Armor.uasset b/Content/Dark_Knight/Dark_Knight_Male/Meshes/Parts/SKM_DKM_Armor.uasset new file mode 100644 index 0000000..31b4bef Binary files /dev/null and b/Content/Dark_Knight/Dark_Knight_Male/Meshes/Parts/SKM_DKM_Armor.uasset differ diff --git a/Content/Dark_Knight/Dark_Knight_Male/Meshes/Parts/SKM_DKM_Boots.uasset b/Content/Dark_Knight/Dark_Knight_Male/Meshes/Parts/SKM_DKM_Boots.uasset new file mode 100644 index 0000000..a8ce23b Binary files /dev/null and b/Content/Dark_Knight/Dark_Knight_Male/Meshes/Parts/SKM_DKM_Boots.uasset differ diff --git a/Content/Dark_Knight/Dark_Knight_Male/Meshes/Parts/SKM_DKM_Gauntlets.uasset b/Content/Dark_Knight/Dark_Knight_Male/Meshes/Parts/SKM_DKM_Gauntlets.uasset new file mode 100644 index 0000000..78952f8 Binary files /dev/null and b/Content/Dark_Knight/Dark_Knight_Male/Meshes/Parts/SKM_DKM_Gauntlets.uasset differ diff --git a/Content/Dark_Knight/Dark_Knight_Male/Meshes/Parts/SKM_DKM_Helmet.uasset b/Content/Dark_Knight/Dark_Knight_Male/Meshes/Parts/SKM_DKM_Helmet.uasset new file mode 100644 index 0000000..48d88c0 Binary files /dev/null and b/Content/Dark_Knight/Dark_Knight_Male/Meshes/Parts/SKM_DKM_Helmet.uasset differ diff --git a/Content/Dark_Knight/Dark_Knight_Male/Meshes/Parts/SKM_DKM_Pants.uasset b/Content/Dark_Knight/Dark_Knight_Male/Meshes/Parts/SKM_DKM_Pants.uasset new file mode 100644 index 0000000..250ccc0 Binary files /dev/null and b/Content/Dark_Knight/Dark_Knight_Male/Meshes/Parts/SKM_DKM_Pants.uasset differ diff --git a/Content/Dark_Knight/Dark_Knight_Male/Meshes/SKM_DKM_Full.uasset b/Content/Dark_Knight/Dark_Knight_Male/Meshes/SKM_DKM_Full.uasset new file mode 100644 index 0000000..bd122fa Binary files /dev/null and b/Content/Dark_Knight/Dark_Knight_Male/Meshes/SKM_DKM_Full.uasset differ diff --git a/Content/Dark_Knight/Dark_Knight_Male/Meshes/SKM_DKM_Full_With_Sword.uasset b/Content/Dark_Knight/Dark_Knight_Male/Meshes/SKM_DKM_Full_With_Sword.uasset new file mode 100644 index 0000000..665f42b Binary files /dev/null and b/Content/Dark_Knight/Dark_Knight_Male/Meshes/SKM_DKM_Full_With_Sword.uasset differ diff --git a/Content/Dark_Knight/Dark_Knight_Male/Meshes/SK_DKM_Full.uasset b/Content/Dark_Knight/Dark_Knight_Male/Meshes/SK_DKM_Full.uasset new file mode 100644 index 0000000..d41b698 Binary files /dev/null and b/Content/Dark_Knight/Dark_Knight_Male/Meshes/SK_DKM_Full.uasset differ diff --git a/Content/Dark_Knight/Dark_Knight_Male/Meshes/SM_DKM_Sword.uasset b/Content/Dark_Knight/Dark_Knight_Male/Meshes/SM_DKM_Sword.uasset new file mode 100644 index 0000000..7d304d6 Binary files /dev/null and b/Content/Dark_Knight/Dark_Knight_Male/Meshes/SM_DKM_Sword.uasset differ diff --git a/Content/Dark_Knight/Dark_Knight_Male/Textures/M_DKM_Sword_ALB.uasset b/Content/Dark_Knight/Dark_Knight_Male/Textures/M_DKM_Sword_ALB.uasset new file mode 100644 index 0000000..89bf779 Binary files /dev/null and b/Content/Dark_Knight/Dark_Knight_Male/Textures/M_DKM_Sword_ALB.uasset differ diff --git a/Content/Dark_Knight/Dark_Knight_Male/Textures/M_DKM_Sword_ARM.uasset b/Content/Dark_Knight/Dark_Knight_Male/Textures/M_DKM_Sword_ARM.uasset new file mode 100644 index 0000000..5e16bb6 Binary files /dev/null and b/Content/Dark_Knight/Dark_Knight_Male/Textures/M_DKM_Sword_ARM.uasset differ diff --git a/Content/Dark_Knight/Dark_Knight_Male/Textures/M_DKM_Sword_NRM.uasset b/Content/Dark_Knight/Dark_Knight_Male/Textures/M_DKM_Sword_NRM.uasset new file mode 100644 index 0000000..ba9527d Binary files /dev/null and b/Content/Dark_Knight/Dark_Knight_Male/Textures/M_DKM_Sword_NRM.uasset differ diff --git a/Content/Dark_Knight/Dark_Knight_Male/Textures/Mask_Packs/T_DKM_Armor_Mask_Pack_1.uasset b/Content/Dark_Knight/Dark_Knight_Male/Textures/Mask_Packs/T_DKM_Armor_Mask_Pack_1.uasset new file mode 100644 index 0000000..ac2e751 Binary files /dev/null and b/Content/Dark_Knight/Dark_Knight_Male/Textures/Mask_Packs/T_DKM_Armor_Mask_Pack_1.uasset differ diff --git a/Content/Dark_Knight/Dark_Knight_Male/Textures/Mask_Packs/T_DKM_Armor_Mask_Pack_2.uasset b/Content/Dark_Knight/Dark_Knight_Male/Textures/Mask_Packs/T_DKM_Armor_Mask_Pack_2.uasset new file mode 100644 index 0000000..09eeade Binary files /dev/null and b/Content/Dark_Knight/Dark_Knight_Male/Textures/Mask_Packs/T_DKM_Armor_Mask_Pack_2.uasset differ diff --git a/Content/Dark_Knight/Dark_Knight_Male/Textures/Mask_Packs/T_DKM_Armor_Mask_Pack_3.uasset b/Content/Dark_Knight/Dark_Knight_Male/Textures/Mask_Packs/T_DKM_Armor_Mask_Pack_3.uasset new file mode 100644 index 0000000..81575ec Binary files /dev/null and b/Content/Dark_Knight/Dark_Knight_Male/Textures/Mask_Packs/T_DKM_Armor_Mask_Pack_3.uasset differ diff --git a/Content/Dark_Knight/Dark_Knight_Male/Textures/Mask_Packs/T_DKM_Boots_Mask_Pack_01.uasset b/Content/Dark_Knight/Dark_Knight_Male/Textures/Mask_Packs/T_DKM_Boots_Mask_Pack_01.uasset new file mode 100644 index 0000000..91b123d Binary files /dev/null and b/Content/Dark_Knight/Dark_Knight_Male/Textures/Mask_Packs/T_DKM_Boots_Mask_Pack_01.uasset differ diff --git a/Content/Dark_Knight/Dark_Knight_Male/Textures/Mask_Packs/T_DKM_Gauntlets_Mask_Pack_01.uasset b/Content/Dark_Knight/Dark_Knight_Male/Textures/Mask_Packs/T_DKM_Gauntlets_Mask_Pack_01.uasset new file mode 100644 index 0000000..6dd4041 Binary files /dev/null and b/Content/Dark_Knight/Dark_Knight_Male/Textures/Mask_Packs/T_DKM_Gauntlets_Mask_Pack_01.uasset differ diff --git a/Content/Dark_Knight/Dark_Knight_Male/Textures/Mask_Packs/T_DKM_Helmet_Mask_Pack_01.uasset b/Content/Dark_Knight/Dark_Knight_Male/Textures/Mask_Packs/T_DKM_Helmet_Mask_Pack_01.uasset new file mode 100644 index 0000000..216cedc Binary files /dev/null and b/Content/Dark_Knight/Dark_Knight_Male/Textures/Mask_Packs/T_DKM_Helmet_Mask_Pack_01.uasset differ diff --git a/Content/Dark_Knight/Dark_Knight_Male/Textures/Mask_Packs/T_DKM_Pants_Mask_Pack_01.uasset b/Content/Dark_Knight/Dark_Knight_Male/Textures/Mask_Packs/T_DKM_Pants_Mask_Pack_01.uasset new file mode 100644 index 0000000..f705f96 Binary files /dev/null and b/Content/Dark_Knight/Dark_Knight_Male/Textures/Mask_Packs/T_DKM_Pants_Mask_Pack_01.uasset differ diff --git a/Content/Dark_Knight/Dark_Knight_Male/Textures/Symbols/T_DKM_Symbol_01.uasset b/Content/Dark_Knight/Dark_Knight_Male/Textures/Symbols/T_DKM_Symbol_01.uasset new file mode 100644 index 0000000..6e78874 Binary files /dev/null and b/Content/Dark_Knight/Dark_Knight_Male/Textures/Symbols/T_DKM_Symbol_01.uasset differ diff --git a/Content/Dark_Knight/Dark_Knight_Male/Textures/Symbols/T_DKM_Symbol_02.uasset b/Content/Dark_Knight/Dark_Knight_Male/Textures/Symbols/T_DKM_Symbol_02.uasset new file mode 100644 index 0000000..ed08fff Binary files /dev/null and b/Content/Dark_Knight/Dark_Knight_Male/Textures/Symbols/T_DKM_Symbol_02.uasset differ diff --git a/Content/Dark_Knight/Dark_Knight_Male/Textures/Symbols/T_DKM_Symbol_03.uasset b/Content/Dark_Knight/Dark_Knight_Male/Textures/Symbols/T_DKM_Symbol_03.uasset new file mode 100644 index 0000000..6f98277 Binary files /dev/null and b/Content/Dark_Knight/Dark_Knight_Male/Textures/Symbols/T_DKM_Symbol_03.uasset differ diff --git a/Content/Dark_Knight/Dark_Knight_Male/Textures/T_DKM_Armor_ALB.uasset b/Content/Dark_Knight/Dark_Knight_Male/Textures/T_DKM_Armor_ALB.uasset new file mode 100644 index 0000000..31baae0 Binary files /dev/null and b/Content/Dark_Knight/Dark_Knight_Male/Textures/T_DKM_Armor_ALB.uasset differ diff --git a/Content/Dark_Knight/Dark_Knight_Male/Textures/T_DKM_Armor_ARM.uasset b/Content/Dark_Knight/Dark_Knight_Male/Textures/T_DKM_Armor_ARM.uasset new file mode 100644 index 0000000..15f795a Binary files /dev/null and b/Content/Dark_Knight/Dark_Knight_Male/Textures/T_DKM_Armor_ARM.uasset differ diff --git a/Content/Dark_Knight/Dark_Knight_Male/Textures/T_DKM_Armor_NRM.uasset b/Content/Dark_Knight/Dark_Knight_Male/Textures/T_DKM_Armor_NRM.uasset new file mode 100644 index 0000000..75d7eb5 Binary files /dev/null and b/Content/Dark_Knight/Dark_Knight_Male/Textures/T_DKM_Armor_NRM.uasset differ diff --git a/Content/Dark_Knight/Dark_Knight_Male/Textures/T_DKM_Armor_Opacity.uasset b/Content/Dark_Knight/Dark_Knight_Male/Textures/T_DKM_Armor_Opacity.uasset new file mode 100644 index 0000000..45847bd Binary files /dev/null and b/Content/Dark_Knight/Dark_Knight_Male/Textures/T_DKM_Armor_Opacity.uasset differ diff --git a/Content/Dark_Knight/Dark_Knight_Male/Textures/T_DKM_Boots_ALB.uasset b/Content/Dark_Knight/Dark_Knight_Male/Textures/T_DKM_Boots_ALB.uasset new file mode 100644 index 0000000..3e13930 Binary files /dev/null and b/Content/Dark_Knight/Dark_Knight_Male/Textures/T_DKM_Boots_ALB.uasset differ diff --git a/Content/Dark_Knight/Dark_Knight_Male/Textures/T_DKM_Boots_ARM.uasset b/Content/Dark_Knight/Dark_Knight_Male/Textures/T_DKM_Boots_ARM.uasset new file mode 100644 index 0000000..c32b4df Binary files /dev/null and b/Content/Dark_Knight/Dark_Knight_Male/Textures/T_DKM_Boots_ARM.uasset differ diff --git a/Content/Dark_Knight/Dark_Knight_Male/Textures/T_DKM_Boots_NRM.uasset b/Content/Dark_Knight/Dark_Knight_Male/Textures/T_DKM_Boots_NRM.uasset new file mode 100644 index 0000000..bb377c7 Binary files /dev/null and b/Content/Dark_Knight/Dark_Knight_Male/Textures/T_DKM_Boots_NRM.uasset differ diff --git a/Content/Dark_Knight/Dark_Knight_Male/Textures/T_DKM_Gauntlets_ALB.uasset b/Content/Dark_Knight/Dark_Knight_Male/Textures/T_DKM_Gauntlets_ALB.uasset new file mode 100644 index 0000000..3983302 Binary files /dev/null and b/Content/Dark_Knight/Dark_Knight_Male/Textures/T_DKM_Gauntlets_ALB.uasset differ diff --git a/Content/Dark_Knight/Dark_Knight_Male/Textures/T_DKM_Gauntlets_ARM.uasset b/Content/Dark_Knight/Dark_Knight_Male/Textures/T_DKM_Gauntlets_ARM.uasset new file mode 100644 index 0000000..5543928 Binary files /dev/null and b/Content/Dark_Knight/Dark_Knight_Male/Textures/T_DKM_Gauntlets_ARM.uasset differ diff --git a/Content/Dark_Knight/Dark_Knight_Male/Textures/T_DKM_Gauntlets_NRM.uasset b/Content/Dark_Knight/Dark_Knight_Male/Textures/T_DKM_Gauntlets_NRM.uasset new file mode 100644 index 0000000..d666acb Binary files /dev/null and b/Content/Dark_Knight/Dark_Knight_Male/Textures/T_DKM_Gauntlets_NRM.uasset differ diff --git a/Content/Dark_Knight/Dark_Knight_Male/Textures/T_DKM_Helmet_ALB.uasset b/Content/Dark_Knight/Dark_Knight_Male/Textures/T_DKM_Helmet_ALB.uasset new file mode 100644 index 0000000..8e20b0c Binary files /dev/null and b/Content/Dark_Knight/Dark_Knight_Male/Textures/T_DKM_Helmet_ALB.uasset differ diff --git a/Content/Dark_Knight/Dark_Knight_Male/Textures/T_DKM_Helmet_ARM.uasset b/Content/Dark_Knight/Dark_Knight_Male/Textures/T_DKM_Helmet_ARM.uasset new file mode 100644 index 0000000..e8bf732 Binary files /dev/null and b/Content/Dark_Knight/Dark_Knight_Male/Textures/T_DKM_Helmet_ARM.uasset differ diff --git a/Content/Dark_Knight/Dark_Knight_Male/Textures/T_DKM_Helmet_NRM.uasset b/Content/Dark_Knight/Dark_Knight_Male/Textures/T_DKM_Helmet_NRM.uasset new file mode 100644 index 0000000..26c707c Binary files /dev/null and b/Content/Dark_Knight/Dark_Knight_Male/Textures/T_DKM_Helmet_NRM.uasset differ diff --git a/Content/Dark_Knight/Dark_Knight_Male/Textures/T_DKM_Pants_ALB.uasset b/Content/Dark_Knight/Dark_Knight_Male/Textures/T_DKM_Pants_ALB.uasset new file mode 100644 index 0000000..b25f495 Binary files /dev/null and b/Content/Dark_Knight/Dark_Knight_Male/Textures/T_DKM_Pants_ALB.uasset differ diff --git a/Content/Dark_Knight/Dark_Knight_Male/Textures/T_DKM_Pants_ARM.uasset b/Content/Dark_Knight/Dark_Knight_Male/Textures/T_DKM_Pants_ARM.uasset new file mode 100644 index 0000000..9ee1eb2 Binary files /dev/null and b/Content/Dark_Knight/Dark_Knight_Male/Textures/T_DKM_Pants_ARM.uasset differ diff --git a/Content/Dark_Knight/Dark_Knight_Male/Textures/T_DKM_Pants_NRM.uasset b/Content/Dark_Knight/Dark_Knight_Male/Textures/T_DKM_Pants_NRM.uasset new file mode 100644 index 0000000..f89abbe Binary files /dev/null and b/Content/Dark_Knight/Dark_Knight_Male/Textures/T_DKM_Pants_NRM.uasset differ diff --git a/Content/Dark_Knight/Demo/Studio/M_Floor.uasset b/Content/Dark_Knight/Demo/Studio/M_Floor.uasset new file mode 100644 index 0000000..d6b766e Binary files /dev/null and b/Content/Dark_Knight/Demo/Studio/M_Floor.uasset differ diff --git a/Content/Dark_Knight/Demo/Studio/SM_Stand.uasset b/Content/Dark_Knight/Demo/Studio/SM_Stand.uasset new file mode 100644 index 0000000..de79939 Binary files /dev/null and b/Content/Dark_Knight/Demo/Studio/SM_Stand.uasset differ diff --git a/Content/Dark_Knight/Maps/Demonstration.umap b/Content/Dark_Knight/Maps/Demonstration.umap new file mode 100644 index 0000000..605f52d Binary files /dev/null and b/Content/Dark_Knight/Maps/Demonstration.umap differ diff --git a/Content/Dark_Knight/Maps/Preview.umap b/Content/Dark_Knight/Maps/Preview.umap new file mode 100644 index 0000000..8872cc0 Binary files /dev/null and b/Content/Dark_Knight/Maps/Preview.umap differ diff --git a/Content/Dark_Knight/Materials/Functions/MF_Add_Blend_Scalar.uasset b/Content/Dark_Knight/Materials/Functions/MF_Add_Blend_Scalar.uasset new file mode 100644 index 0000000..357f306 Binary files /dev/null and b/Content/Dark_Knight/Materials/Functions/MF_Add_Blend_Scalar.uasset differ diff --git a/Content/Dark_Knight/Materials/Functions/MF_Add_Blend_Vector3.uasset b/Content/Dark_Knight/Materials/Functions/MF_Add_Blend_Vector3.uasset new file mode 100644 index 0000000..2e6a8cf Binary files /dev/null and b/Content/Dark_Knight/Materials/Functions/MF_Add_Blend_Vector3.uasset differ diff --git a/Content/Dark_Knight/Materials/Functions/MF_Multiply_Blend_Scalar.uasset b/Content/Dark_Knight/Materials/Functions/MF_Multiply_Blend_Scalar.uasset new file mode 100644 index 0000000..9309b25 Binary files /dev/null and b/Content/Dark_Knight/Materials/Functions/MF_Multiply_Blend_Scalar.uasset differ diff --git a/Content/Dark_Knight/Materials/Functions/MF_Multiply_Blend_Vector3.uasset b/Content/Dark_Knight/Materials/Functions/MF_Multiply_Blend_Vector3.uasset new file mode 100644 index 0000000..46fd826 Binary files /dev/null and b/Content/Dark_Knight/Materials/Functions/MF_Multiply_Blend_Vector3.uasset differ diff --git a/Content/Dark_Knight/Materials/Functions/MF_Rotate2D.uasset b/Content/Dark_Knight/Materials/Functions/MF_Rotate2D.uasset new file mode 100644 index 0000000..5add958 Binary files /dev/null and b/Content/Dark_Knight/Materials/Functions/MF_Rotate2D.uasset differ diff --git a/Content/Dark_Knight/Materials/Functions/MF_Scale2D.uasset b/Content/Dark_Knight/Materials/Functions/MF_Scale2D.uasset new file mode 100644 index 0000000..e5b2aa7 Binary files /dev/null and b/Content/Dark_Knight/Materials/Functions/MF_Scale2D.uasset differ diff --git a/Content/Dark_Knight/Materials/Functions/MF_Translate2D.uasset b/Content/Dark_Knight/Materials/Functions/MF_Translate2D.uasset new file mode 100644 index 0000000..2d8b3a7 Binary files /dev/null and b/Content/Dark_Knight/Materials/Functions/MF_Translate2D.uasset differ diff --git a/Content/Dark_Knight/Materials/Instances/MI_DKM_Armor.uasset b/Content/Dark_Knight/Materials/Instances/MI_DKM_Armor.uasset new file mode 100644 index 0000000..7989724 Binary files /dev/null and b/Content/Dark_Knight/Materials/Instances/MI_DKM_Armor.uasset differ diff --git a/Content/Dark_Knight/Materials/Instances/MI_DKM_Boots.uasset b/Content/Dark_Knight/Materials/Instances/MI_DKM_Boots.uasset new file mode 100644 index 0000000..2cbfea5 Binary files /dev/null and b/Content/Dark_Knight/Materials/Instances/MI_DKM_Boots.uasset differ diff --git a/Content/Dark_Knight/Materials/Instances/MI_DKM_Gauntlets.uasset b/Content/Dark_Knight/Materials/Instances/MI_DKM_Gauntlets.uasset new file mode 100644 index 0000000..dc7cccc Binary files /dev/null and b/Content/Dark_Knight/Materials/Instances/MI_DKM_Gauntlets.uasset differ diff --git a/Content/Dark_Knight/Materials/Instances/MI_DKM_Helmet.uasset b/Content/Dark_Knight/Materials/Instances/MI_DKM_Helmet.uasset new file mode 100644 index 0000000..466e06d Binary files /dev/null and b/Content/Dark_Knight/Materials/Instances/MI_DKM_Helmet.uasset differ diff --git a/Content/Dark_Knight/Materials/Instances/MI_DKM_Pants.uasset b/Content/Dark_Knight/Materials/Instances/MI_DKM_Pants.uasset new file mode 100644 index 0000000..ea76543 Binary files /dev/null and b/Content/Dark_Knight/Materials/Instances/MI_DKM_Pants.uasset differ diff --git a/Content/Dark_Knight/Materials/M_DKM_Armor.uasset b/Content/Dark_Knight/Materials/M_DKM_Armor.uasset new file mode 100644 index 0000000..a6ef387 Binary files /dev/null and b/Content/Dark_Knight/Materials/M_DKM_Armor.uasset differ diff --git a/Content/Dark_Knight/Materials/M_DKM_Boots.uasset b/Content/Dark_Knight/Materials/M_DKM_Boots.uasset new file mode 100644 index 0000000..806797f Binary files /dev/null and b/Content/Dark_Knight/Materials/M_DKM_Boots.uasset differ diff --git a/Content/Dark_Knight/Materials/M_DKM_Gauntlets.uasset b/Content/Dark_Knight/Materials/M_DKM_Gauntlets.uasset new file mode 100644 index 0000000..47508de Binary files /dev/null and b/Content/Dark_Knight/Materials/M_DKM_Gauntlets.uasset differ diff --git a/Content/Dark_Knight/Materials/M_DKM_Helmet.uasset b/Content/Dark_Knight/Materials/M_DKM_Helmet.uasset new file mode 100644 index 0000000..6e151ea Binary files /dev/null and b/Content/Dark_Knight/Materials/M_DKM_Helmet.uasset differ diff --git a/Content/Dark_Knight/Materials/M_DKM_Pants.uasset b/Content/Dark_Knight/Materials/M_DKM_Pants.uasset new file mode 100644 index 0000000..9ffa224 Binary files /dev/null and b/Content/Dark_Knight/Materials/M_DKM_Pants.uasset differ diff --git a/Content/Dark_Knight/Materials/M_DKM_Sword.uasset b/Content/Dark_Knight/Materials/M_DKM_Sword.uasset new file mode 100644 index 0000000..e9fc2b9 Binary files /dev/null and b/Content/Dark_Knight/Materials/M_DKM_Sword.uasset differ diff --git a/Content/Dark_Knight/Meshes/PHYS_DKM_Full.uasset b/Content/Dark_Knight/Meshes/PHYS_DKM_Full.uasset new file mode 100644 index 0000000..4b3d5ae Binary files /dev/null and b/Content/Dark_Knight/Meshes/PHYS_DKM_Full.uasset differ diff --git a/Content/Dark_Knight/Meshes/Parts/SKM_DKM_Armor.uasset b/Content/Dark_Knight/Meshes/Parts/SKM_DKM_Armor.uasset new file mode 100644 index 0000000..55a3f7d Binary files /dev/null and b/Content/Dark_Knight/Meshes/Parts/SKM_DKM_Armor.uasset differ diff --git a/Content/Dark_Knight/Meshes/Parts/SKM_DKM_Boots.uasset b/Content/Dark_Knight/Meshes/Parts/SKM_DKM_Boots.uasset new file mode 100644 index 0000000..70e0043 Binary files /dev/null and b/Content/Dark_Knight/Meshes/Parts/SKM_DKM_Boots.uasset differ diff --git a/Content/Dark_Knight/Meshes/Parts/SKM_DKM_Gauntlets.uasset b/Content/Dark_Knight/Meshes/Parts/SKM_DKM_Gauntlets.uasset new file mode 100644 index 0000000..080d1a2 Binary files /dev/null and b/Content/Dark_Knight/Meshes/Parts/SKM_DKM_Gauntlets.uasset differ diff --git a/Content/Dark_Knight/Meshes/Parts/SKM_DKM_Helmet.uasset b/Content/Dark_Knight/Meshes/Parts/SKM_DKM_Helmet.uasset new file mode 100644 index 0000000..5ad5249 Binary files /dev/null and b/Content/Dark_Knight/Meshes/Parts/SKM_DKM_Helmet.uasset differ diff --git a/Content/Dark_Knight/Meshes/Parts/SKM_DKM_Pants.uasset b/Content/Dark_Knight/Meshes/Parts/SKM_DKM_Pants.uasset new file mode 100644 index 0000000..c442e74 Binary files /dev/null and b/Content/Dark_Knight/Meshes/Parts/SKM_DKM_Pants.uasset differ diff --git a/Content/Dark_Knight/Meshes/SKM_DKM_Full.uasset b/Content/Dark_Knight/Meshes/SKM_DKM_Full.uasset new file mode 100644 index 0000000..0986733 Binary files /dev/null and b/Content/Dark_Knight/Meshes/SKM_DKM_Full.uasset differ diff --git a/Content/Dark_Knight/Meshes/SKM_DKM_Full_With_Sword.uasset b/Content/Dark_Knight/Meshes/SKM_DKM_Full_With_Sword.uasset new file mode 100644 index 0000000..6f322aa Binary files /dev/null and b/Content/Dark_Knight/Meshes/SKM_DKM_Full_With_Sword.uasset differ diff --git a/Content/Dark_Knight/Meshes/SK_DKM_Full.uasset b/Content/Dark_Knight/Meshes/SK_DKM_Full.uasset new file mode 100644 index 0000000..6db17b5 Binary files /dev/null and b/Content/Dark_Knight/Meshes/SK_DKM_Full.uasset differ diff --git a/Content/Dark_Knight/Meshes/SM_DKM_Sword.uasset b/Content/Dark_Knight/Meshes/SM_DKM_Sword.uasset new file mode 100644 index 0000000..982dcd0 Binary files /dev/null and b/Content/Dark_Knight/Meshes/SM_DKM_Sword.uasset differ diff --git a/Content/Dark_Knight/Textures/M_DKM_Sword_ALB.uasset b/Content/Dark_Knight/Textures/M_DKM_Sword_ALB.uasset new file mode 100644 index 0000000..1c821d3 Binary files /dev/null and b/Content/Dark_Knight/Textures/M_DKM_Sword_ALB.uasset differ diff --git a/Content/Dark_Knight/Textures/M_DKM_Sword_ARM.uasset b/Content/Dark_Knight/Textures/M_DKM_Sword_ARM.uasset new file mode 100644 index 0000000..8dac345 Binary files /dev/null and b/Content/Dark_Knight/Textures/M_DKM_Sword_ARM.uasset differ diff --git a/Content/Dark_Knight/Textures/M_DKM_Sword_NRM.uasset b/Content/Dark_Knight/Textures/M_DKM_Sword_NRM.uasset new file mode 100644 index 0000000..1615bd3 Binary files /dev/null and b/Content/Dark_Knight/Textures/M_DKM_Sword_NRM.uasset differ diff --git a/Content/Dark_Knight/Textures/Mask_Packs/T_DKM_Armor_Mask_Pack_1.uasset b/Content/Dark_Knight/Textures/Mask_Packs/T_DKM_Armor_Mask_Pack_1.uasset new file mode 100644 index 0000000..c3cae52 Binary files /dev/null and b/Content/Dark_Knight/Textures/Mask_Packs/T_DKM_Armor_Mask_Pack_1.uasset differ diff --git a/Content/Dark_Knight/Textures/Mask_Packs/T_DKM_Armor_Mask_Pack_2.uasset b/Content/Dark_Knight/Textures/Mask_Packs/T_DKM_Armor_Mask_Pack_2.uasset new file mode 100644 index 0000000..7521718 Binary files /dev/null and b/Content/Dark_Knight/Textures/Mask_Packs/T_DKM_Armor_Mask_Pack_2.uasset differ diff --git a/Content/Dark_Knight/Textures/Mask_Packs/T_DKM_Armor_Mask_Pack_3.uasset b/Content/Dark_Knight/Textures/Mask_Packs/T_DKM_Armor_Mask_Pack_3.uasset new file mode 100644 index 0000000..5c181d3 Binary files /dev/null and b/Content/Dark_Knight/Textures/Mask_Packs/T_DKM_Armor_Mask_Pack_3.uasset differ diff --git a/Content/Dark_Knight/Textures/Mask_Packs/T_DKM_Boots_Mask_Pack_01.uasset b/Content/Dark_Knight/Textures/Mask_Packs/T_DKM_Boots_Mask_Pack_01.uasset new file mode 100644 index 0000000..0810ccf Binary files /dev/null and b/Content/Dark_Knight/Textures/Mask_Packs/T_DKM_Boots_Mask_Pack_01.uasset differ diff --git a/Content/Dark_Knight/Textures/Mask_Packs/T_DKM_Gauntlets_Mask_Pack_01.uasset b/Content/Dark_Knight/Textures/Mask_Packs/T_DKM_Gauntlets_Mask_Pack_01.uasset new file mode 100644 index 0000000..111ef0e Binary files /dev/null and b/Content/Dark_Knight/Textures/Mask_Packs/T_DKM_Gauntlets_Mask_Pack_01.uasset differ diff --git a/Content/Dark_Knight/Textures/Mask_Packs/T_DKM_Helmet_Mask_Pack_01.uasset b/Content/Dark_Knight/Textures/Mask_Packs/T_DKM_Helmet_Mask_Pack_01.uasset new file mode 100644 index 0000000..c1c61bc Binary files /dev/null and b/Content/Dark_Knight/Textures/Mask_Packs/T_DKM_Helmet_Mask_Pack_01.uasset differ diff --git a/Content/Dark_Knight/Textures/Mask_Packs/T_DKM_Pants_Mask_Pack_01.uasset b/Content/Dark_Knight/Textures/Mask_Packs/T_DKM_Pants_Mask_Pack_01.uasset new file mode 100644 index 0000000..9e4965a Binary files /dev/null and b/Content/Dark_Knight/Textures/Mask_Packs/T_DKM_Pants_Mask_Pack_01.uasset differ diff --git a/Content/Dark_Knight/Textures/Symbols/T_DKM_Symbol_01.uasset b/Content/Dark_Knight/Textures/Symbols/T_DKM_Symbol_01.uasset new file mode 100644 index 0000000..ec98568 Binary files /dev/null and b/Content/Dark_Knight/Textures/Symbols/T_DKM_Symbol_01.uasset differ diff --git a/Content/Dark_Knight/Textures/Symbols/T_DKM_Symbol_02.uasset b/Content/Dark_Knight/Textures/Symbols/T_DKM_Symbol_02.uasset new file mode 100644 index 0000000..0c3b59a Binary files /dev/null and b/Content/Dark_Knight/Textures/Symbols/T_DKM_Symbol_02.uasset differ diff --git a/Content/Dark_Knight/Textures/Symbols/T_DKM_Symbol_03.uasset b/Content/Dark_Knight/Textures/Symbols/T_DKM_Symbol_03.uasset new file mode 100644 index 0000000..d6930ff Binary files /dev/null and b/Content/Dark_Knight/Textures/Symbols/T_DKM_Symbol_03.uasset differ diff --git a/Content/Dark_Knight/Textures/T_DKM_Armor_ALB.uasset b/Content/Dark_Knight/Textures/T_DKM_Armor_ALB.uasset new file mode 100644 index 0000000..5b168f5 Binary files /dev/null and b/Content/Dark_Knight/Textures/T_DKM_Armor_ALB.uasset differ diff --git a/Content/Dark_Knight/Textures/T_DKM_Armor_ARM.uasset b/Content/Dark_Knight/Textures/T_DKM_Armor_ARM.uasset new file mode 100644 index 0000000..be1f652 Binary files /dev/null and b/Content/Dark_Knight/Textures/T_DKM_Armor_ARM.uasset differ diff --git a/Content/Dark_Knight/Textures/T_DKM_Armor_NRM.uasset b/Content/Dark_Knight/Textures/T_DKM_Armor_NRM.uasset new file mode 100644 index 0000000..d7125e5 Binary files /dev/null and b/Content/Dark_Knight/Textures/T_DKM_Armor_NRM.uasset differ diff --git a/Content/Dark_Knight/Textures/T_DKM_Armor_Opacity.uasset b/Content/Dark_Knight/Textures/T_DKM_Armor_Opacity.uasset new file mode 100644 index 0000000..802159c Binary files /dev/null and b/Content/Dark_Knight/Textures/T_DKM_Armor_Opacity.uasset differ diff --git a/Content/Dark_Knight/Textures/T_DKM_Boots_ALB.uasset b/Content/Dark_Knight/Textures/T_DKM_Boots_ALB.uasset new file mode 100644 index 0000000..de6c174 Binary files /dev/null and b/Content/Dark_Knight/Textures/T_DKM_Boots_ALB.uasset differ diff --git a/Content/Dark_Knight/Textures/T_DKM_Boots_ARM.uasset b/Content/Dark_Knight/Textures/T_DKM_Boots_ARM.uasset new file mode 100644 index 0000000..3666b55 Binary files /dev/null and b/Content/Dark_Knight/Textures/T_DKM_Boots_ARM.uasset differ diff --git a/Content/Dark_Knight/Textures/T_DKM_Boots_NRM.uasset b/Content/Dark_Knight/Textures/T_DKM_Boots_NRM.uasset new file mode 100644 index 0000000..54b48de Binary files /dev/null and b/Content/Dark_Knight/Textures/T_DKM_Boots_NRM.uasset differ diff --git a/Content/Dark_Knight/Textures/T_DKM_Gauntlets_ALB.uasset b/Content/Dark_Knight/Textures/T_DKM_Gauntlets_ALB.uasset new file mode 100644 index 0000000..d4c9a2c Binary files /dev/null and b/Content/Dark_Knight/Textures/T_DKM_Gauntlets_ALB.uasset differ diff --git a/Content/Dark_Knight/Textures/T_DKM_Gauntlets_ARM.uasset b/Content/Dark_Knight/Textures/T_DKM_Gauntlets_ARM.uasset new file mode 100644 index 0000000..a8cc04c Binary files /dev/null and b/Content/Dark_Knight/Textures/T_DKM_Gauntlets_ARM.uasset differ diff --git a/Content/Dark_Knight/Textures/T_DKM_Gauntlets_NRM.uasset b/Content/Dark_Knight/Textures/T_DKM_Gauntlets_NRM.uasset new file mode 100644 index 0000000..4d4f974 Binary files /dev/null and b/Content/Dark_Knight/Textures/T_DKM_Gauntlets_NRM.uasset differ diff --git a/Content/Dark_Knight/Textures/T_DKM_Helmet_ALB.uasset b/Content/Dark_Knight/Textures/T_DKM_Helmet_ALB.uasset new file mode 100644 index 0000000..dc1c1d9 Binary files /dev/null and b/Content/Dark_Knight/Textures/T_DKM_Helmet_ALB.uasset differ diff --git a/Content/Dark_Knight/Textures/T_DKM_Helmet_ARM.uasset b/Content/Dark_Knight/Textures/T_DKM_Helmet_ARM.uasset new file mode 100644 index 0000000..237fd6f Binary files /dev/null and b/Content/Dark_Knight/Textures/T_DKM_Helmet_ARM.uasset differ diff --git a/Content/Dark_Knight/Textures/T_DKM_Helmet_NRM.uasset b/Content/Dark_Knight/Textures/T_DKM_Helmet_NRM.uasset new file mode 100644 index 0000000..dd0d679 Binary files /dev/null and b/Content/Dark_Knight/Textures/T_DKM_Helmet_NRM.uasset differ diff --git a/Content/Dark_Knight/Textures/T_DKM_Pants_ALB.uasset b/Content/Dark_Knight/Textures/T_DKM_Pants_ALB.uasset new file mode 100644 index 0000000..a09e48d Binary files /dev/null and b/Content/Dark_Knight/Textures/T_DKM_Pants_ALB.uasset differ diff --git a/Content/Dark_Knight/Textures/T_DKM_Pants_ARM.uasset b/Content/Dark_Knight/Textures/T_DKM_Pants_ARM.uasset new file mode 100644 index 0000000..b0e007b Binary files /dev/null and b/Content/Dark_Knight/Textures/T_DKM_Pants_ARM.uasset differ diff --git a/Content/Dark_Knight/Textures/T_DKM_Pants_NRM.uasset b/Content/Dark_Knight/Textures/T_DKM_Pants_NRM.uasset new file mode 100644 index 0000000..c0042b9 Binary files /dev/null and b/Content/Dark_Knight/Textures/T_DKM_Pants_NRM.uasset differ diff --git a/Content/Maps/Demo.umap b/Content/Maps/Demo.umap index ceb8241..d24cbc5 100644 Binary files a/Content/Maps/Demo.umap and b/Content/Maps/Demo.umap differ diff --git a/Content/Res/Materials/M_VertexColor.uasset b/Content/Res/Materials/M_VertexColor.uasset new file mode 100644 index 0000000..9d2b14c Binary files /dev/null and b/Content/Res/Materials/M_VertexColor.uasset differ diff --git a/Plugins/MiceShaders/Shaders/Private/TemperatureConductionCS.usf b/Plugins/MiceShaders/Shaders/Private/TemperatureConductionCS.usf new file mode 100644 index 0000000..57f895c --- /dev/null +++ b/Plugins/MiceShaders/Shaders/Private/TemperatureConductionCS.usf @@ -0,0 +1,135 @@ +// TemperatureConductionCS.usf - 温度传导计算着色器 + +#include "/Engine/Public/Platform.ush" + +// ----------------------------------------------------------------------------- +// 1. 输入输出缓冲区定义 +// ----------------------------------------------------------------------------- +// 输入:当前温度缓冲(只读) +Buffer InputTemperatureBuffer; + +// 输入:表面体素标志缓冲(只读) +Buffer SurfaceVoxelFlagsBuffer; + +// 输出:新温度缓冲(读写) +RWBuffer OutputTemperatureBuffer; + +// 输出:塑性系数缓冲(读写) +RWBuffer OutputPlasticityBuffer; + +// ----------------------------------------------------------------------------- +// 2. 参数缓冲区(必须与C++ FParameters结构体严格匹配) +// ----------------------------------------------------------------------------- +cbuffer Parameters +{ + int3 VoxelResolution; // 体素网格分辨率 + float ThermalConductivity; // 热传导系数 + float CoolingRate; // 表面冷却速率 + float AmbientTemperature; // 环境温度 + float ForgeTemperatureMin; // 锻造温度下限 + float ForgeTemperatureMax; // 锻造温度上限 + float DeltaTime; // 时间步长 +}; + +// ----------------------------------------------------------------------------- +// 3. 工具函数 +// ----------------------------------------------------------------------------- + +// 获取体素索引(3D坐标转1D索引) +int GetVoxelIndex(int3 coord) +{ + return coord.x + coord.y * VoxelResolution.x + + coord.z * VoxelResolution.x * VoxelResolution.y; +} + +// 检查体素坐标是否有效 +bool IsValidCoord(int3 coord) +{ + return all(coord >= 0) && all(coord < VoxelResolution); +} + +// 根据温度计算塑性系数(Smoothstep函数) +float CalculatePlasticity(float temperature) +{ + float normalized = saturate((temperature - ForgeTemperatureMin) / + (ForgeTemperatureMax - ForgeTemperatureMin)); + return normalized * normalized * (3.0 - 2.0 * normalized); +} + +// ----------------------------------------------------------------------------- +// 4. 计算着色器主函数 +// ----------------------------------------------------------------------------- +#define THREADGROUP_SIZE_X 8 +#define THREADGROUP_SIZE_Y 8 +#define THREADGROUP_SIZE_Z 8 + +[numthreads(THREADGROUP_SIZE_X, THREADGROUP_SIZE_Y, THREADGROUP_SIZE_Z)] +void MainCompute( + uint3 GroupID : SV_GroupID, + uint3 GroupThreadID : SV_GroupThreadID, + uint3 DispatchThreadID : SV_DispatchThreadID +) +{ + int3 voxelCoord = int3(DispatchThreadID); + + // 边界检查 + if (!IsValidCoord(voxelCoord)) + { + return; + } + + int index = GetVoxelIndex(voxelCoord); + float currentTemp = InputTemperatureBuffer[index]; + + // ------------------------------------------------------------------------- + // 5. 热传导计算(6邻域) + // ------------------------------------------------------------------------- + float neighborTempSum = 0.0; + int neighborCount = 0; + + // 6个邻居方向 + const int3 neighbors[6] = { + int3(-1, 0, 0), int3(1, 0, 0), // X轴 + int3(0, -1, 0), int3(0, 1, 0), // Y轴 + int3(0, 0, -1), int3(0, 0, 1) // Z轴 + }; + + // 遍历邻居 + for (int i = 0; i < 6; i++) + { + int3 neighborCoord = voxelCoord + neighbors[i]; + if (IsValidCoord(neighborCoord)) + { + int neighborIndex = GetVoxelIndex(neighborCoord); + neighborTempSum += InputTemperatureBuffer[neighborIndex]; + neighborCount++; + } + } + + // 平均邻居温度 + float avgNeighborTemp = neighborTempSum / max(neighborCount, 1); + + // 热传导增量(向平均温度靠拢) + float heatConductionDelta = ThermalConductivity * (avgNeighborTemp - currentTemp) * DeltaTime; + + // ------------------------------------------------------------------------- + // 6. 表面冷却计算 + // ------------------------------------------------------------------------- + float coolingDelta = 0.0; + bool isSurface = (SurfaceVoxelFlagsBuffer[index] & 1) != 0; + + if (isSurface) + { + // 表面体素向环境温度冷却 + coolingDelta = CoolingRate * (AmbientTemperature - currentTemp) * DeltaTime; + } + + // ------------------------------------------------------------------------- + // 7. 更新温度和塑性系数 + // ------------------------------------------------------------------------- + float newTemp = currentTemp + heatConductionDelta + coolingDelta; + OutputTemperatureBuffer[index] = newTemp; + + // 更新塑性系数 + OutputPlasticityBuffer[index] = CalculatePlasticity(newTemp); +} diff --git a/Source/BladeSmith/DynamicIronBlock.cpp b/Source/BladeSmith/DynamicIronBlock.cpp index 601e882..b3e367f 100644 --- a/Source/BladeSmith/DynamicIronBlock.cpp +++ b/Source/BladeSmith/DynamicIronBlock.cpp @@ -13,10 +13,21 @@ #include "GeometryScript/MeshNormalsFunctions.h" #include "Materials/MaterialInstanceDynamic.h" +// GPU计算相关 +#include "Shaders/FTemperatureComputeShader.h" +#include "RHI.h" +#include "RHIResources.h" +#include "RHICommandList.h" +#include "RenderGraphBuilder.h" +#include "RenderGraphUtils.h" +#include "GlobalShader.h" +#include "ShaderParameterStruct.h" +#include "RHIStaticStates.h" + ADynamicIronBlock::ADynamicIronBlock() { - // 设置此 Actor 在每帧调用 Tick() - PrimaryActorTick.bCanEverTick = false; + // 启用Tick以支持温度模拟 + PrimaryActorTick.bCanEverTick = true; // 设置默认的 Box 大小 BoxSize = FVector(100.0f, 100.0f, 100.0f); @@ -28,6 +39,48 @@ ADynamicIronBlock::ADynamicIronBlock() void ADynamicIronBlock::BeginPlay() { Super::BeginPlay(); + + // 创建GPU缓冲区 + if (bEnableTemperatureSystem && TemperatureGrid.Num() > 0) + { + CreateGPUBuffers(); + UploadTemperatureDataToGPU(); + } +} + +void ADynamicIronBlock::Tick(float DeltaTime) +{ + Super::Tick(DeltaTime); + + if (!bEnableTemperatureSystem || TemperatureGrid.Num() == 0) + { + return; + } + + // 累积时间 + TimeSinceLastUpdate += DeltaTime; + + // 每隔一定时间更新温度 + if (TimeSinceLastUpdate >= TemperatureUpdateInterval) + { + // 调度GPU计算 + DispatchTemperatureCompute(TimeSinceLastUpdate); + + // 重置计时器 + TimeSinceLastUpdate = 0.0f; + + // 下载数据并更新顶点颜色(可选,性能开销较大) + // DownloadTemperatureDataFromGPU(); + // UpdateVertexColors(); + } +} + +void ADynamicIronBlock::EndPlay(const EEndPlayReason::Type EndPlayReason) +{ + // 释放GPU缓冲区 + ReleaseGPUBuffers(); + + Super::EndPlay(EndPlayReason); } void ADynamicIronBlock::OnConstruction(const FTransform& Transform) @@ -612,3 +665,208 @@ void ADynamicIronBlock::UpdateVertexColors() UE_LOG(LogTemp, Log, TEXT("DynamicIronBlock: Vertex colors updated based on temperature")); } + +// ========== GPU缓冲区管理实现 ========== + +void ADynamicIronBlock::CreateGPUBuffers() +{ + if (TemperatureGrid.Num() == 0) + { + UE_LOG(LogTemp, Warning, TEXT("DynamicIronBlock: Cannot create GPU buffers, temperature grid is empty")); + return; + } + + const int32 TotalVoxels = TemperatureGrid.Num(); + const uint32 BufferSize = TotalVoxels * sizeof(float); + const uint32 FlagsBufferSize = TotalVoxels * sizeof(uint32); + + // 使用RHI线程安全的创建缓冲区 + ENQUEUE_RENDER_COMMAND(CreateTemperatureBuffers)( + [this, TotalVoxels, BufferSize, FlagsBufferSize](FRHICommandListImmediate& RHICmdList) + { + // 创建温度缓冲A + FRHIBufferCreateDesc TempBufferADesc; + TempBufferADesc.DebugName = TEXT("TemperatureBufferA"); + TempBufferADesc.Size = BufferSize; + TempBufferADesc.Usage = BUF_StructuredBuffer | BUF_ShaderResource | BUF_UnorderedAccess; + TempBufferADesc.InitialState = ERHIAccess::UAVCompute; + TemperatureBufferA = RHICmdList.CreateBuffer(TempBufferADesc); + TemperatureUAV_A = RHICmdList.CreateUnorderedAccessView(TemperatureBufferA, FRHIViewDesc::CreateBufferUAV().SetType(FRHIViewDesc::EBufferType::Typed).SetFormat(PF_R32_FLOAT)); + TemperatureSRV_A = RHICmdList.CreateShaderResourceView(TemperatureBufferA, FRHIViewDesc::CreateBufferSRV().SetType(FRHIViewDesc::EBufferType::Typed).SetFormat(PF_R32_FLOAT)); + + // 创建温度缓冲B + FRHIBufferCreateDesc TempBufferBDesc; + TempBufferBDesc.DebugName = TEXT("TemperatureBufferB"); + TempBufferBDesc.Size = BufferSize; + TempBufferBDesc.Usage = BUF_StructuredBuffer | BUF_ShaderResource | BUF_UnorderedAccess; + TempBufferBDesc.InitialState = ERHIAccess::UAVCompute; + TemperatureBufferB = RHICmdList.CreateBuffer(TempBufferBDesc); + TemperatureUAV_B = RHICmdList.CreateUnorderedAccessView(TemperatureBufferB, FRHIViewDesc::CreateBufferUAV().SetType(FRHIViewDesc::EBufferType::Typed).SetFormat(PF_R32_FLOAT)); + TemperatureSRV_B = RHICmdList.CreateShaderResourceView(TemperatureBufferB, FRHIViewDesc::CreateBufferSRV().SetType(FRHIViewDesc::EBufferType::Typed).SetFormat(PF_R32_FLOAT)); + + // 创建塑性系数缓冲 + FRHIBufferCreateDesc PlasticityBufferDesc; + PlasticityBufferDesc.DebugName = TEXT("PlasticityBuffer"); + PlasticityBufferDesc.Size = BufferSize; + PlasticityBufferDesc.Usage = BUF_StructuredBuffer | BUF_ShaderResource | BUF_UnorderedAccess; + PlasticityBufferDesc.InitialState = ERHIAccess::UAVCompute; + PlasticityBuffer = RHICmdList.CreateBuffer(PlasticityBufferDesc); + PlasticityUAV = RHICmdList.CreateUnorderedAccessView(PlasticityBuffer, FRHIViewDesc::CreateBufferUAV().SetType(FRHIViewDesc::EBufferType::Typed).SetFormat(PF_R32_FLOAT)); + + // 创建表面体素标志缓冲 + FRHIBufferCreateDesc FlagsBufferDesc; + FlagsBufferDesc.DebugName = TEXT("SurfaceVoxelFlagsBuffer"); + FlagsBufferDesc.Size = FlagsBufferSize; + FlagsBufferDesc.Usage = BUF_StructuredBuffer | BUF_ShaderResource; + FlagsBufferDesc.InitialState = ERHIAccess::SRVCompute; + SurfaceVoxelFlagsBuffer = RHICmdList.CreateBuffer(FlagsBufferDesc); + SurfaceVoxelSRV = RHICmdList.CreateShaderResourceView(SurfaceVoxelFlagsBuffer, FRHIViewDesc::CreateBufferSRV().SetType(FRHIViewDesc::EBufferType::Typed).SetFormat(PF_R32_UINT)); + + UE_LOG(LogTemp, Log, TEXT("DynamicIronBlock: GPU buffers created (%d voxels, %.2f MB)"), + TotalVoxels, (BufferSize * 3 + FlagsBufferSize) / (1024.0f * 1024.0f)); + }); +} + +void ADynamicIronBlock::ReleaseGPUBuffers() +{ + ENQUEUE_RENDER_COMMAND(ReleaseTemperatureBuffers)( + [this](FRHICommandListImmediate& RHICmdList) + { + TemperatureBufferA.SafeRelease(); + TemperatureBufferB.SafeRelease(); + PlasticityBuffer.SafeRelease(); + SurfaceVoxelFlagsBuffer.SafeRelease(); + + TemperatureUAV_A.SafeRelease(); + TemperatureUAV_B.SafeRelease(); + PlasticityUAV.SafeRelease(); + + TemperatureSRV_A.SafeRelease(); + TemperatureSRV_B.SafeRelease(); + SurfaceVoxelSRV.SafeRelease(); + + UE_LOG(LogTemp, Log, TEXT("DynamicIronBlock: GPU buffers released")); + }); +} + +void ADynamicIronBlock::UploadTemperatureDataToGPU() +{ + if (!TemperatureBufferA.IsValid() || TemperatureGrid.Num() == 0) + { + return; + } + + const int32 TotalVoxels = TemperatureGrid.Num(); + + // 准备温度和标志数据 + TArray TempData; + TArray FlagsData; + TempData.Reserve(TotalVoxels); + FlagsData.Reserve(TotalVoxels); + + for (const FTemperatureVoxel& Voxel : TemperatureGrid) + { + TempData.Add(Voxel.Temperature); + FlagsData.Add(static_cast(Voxel.Flags)); + } + + ENQUEUE_RENDER_COMMAND(UploadTemperatureData)( + [this, TempData = MoveTemp(TempData), FlagsData = MoveTemp(FlagsData)](FRHICommandListImmediate& RHICmdList) + { + const uint32 BufferSize = TempData.Num() * sizeof(float); + const uint32 FlagsBufferSize = FlagsData.Num() * sizeof(uint32); + + // 上传温度数据到BufferA + void* DataPtrA = RHICmdList.LockBuffer(TemperatureBufferA, 0, BufferSize, RLM_WriteOnly); + FMemory::Memcpy(DataPtrA, TempData.GetData(), BufferSize); + RHICmdList.UnlockBuffer(TemperatureBufferA); + + // 上传温度数据到BufferB + void* DataPtrB = RHICmdList.LockBuffer(TemperatureBufferB, 0, BufferSize, RLM_WriteOnly); + FMemory::Memcpy(DataPtrB, TempData.GetData(), BufferSize); + RHICmdList.UnlockBuffer(TemperatureBufferB); + + // 上传标志数据 + void* FlagsPtr = RHICmdList.LockBuffer(SurfaceVoxelFlagsBuffer, 0, FlagsBufferSize, RLM_WriteOnly); + FMemory::Memcpy(FlagsPtr, FlagsData.GetData(), FlagsBufferSize); + RHICmdList.UnlockBuffer(SurfaceVoxelFlagsBuffer); + + UE_LOG(LogTemp, Log, TEXT("DynamicIronBlock: Temperature data uploaded to GPU")); + }); +} + +void ADynamicIronBlock::DownloadTemperatureDataFromGPU() +{ + if (!TemperatureBufferA.IsValid() || TemperatureGrid.Num() == 0) + { + return; + } + + const int32 TotalVoxels = TemperatureGrid.Num(); + const uint32 BufferSize = TotalVoxels * sizeof(float); + + // 选择当前活跃的缓冲区 + FBufferRHIRef ActiveBuffer = bUseBufferA ? TemperatureBufferA : TemperatureBufferB; + + ENQUEUE_RENDER_COMMAND(DownloadTemperatureData)( + [this, TotalVoxels, BufferSize, ActiveBuffer](FRHICommandListImmediate& RHICmdList) + { + TArray TempData; + TempData.SetNum(TotalVoxels); + + // 从GPU下载温度数据 + void* DataPtr = RHICmdList.LockBuffer(ActiveBuffer, 0, BufferSize, RLM_ReadOnly); + FMemory::Memcpy(TempData.GetData(), DataPtr, BufferSize); + RHICmdList.UnlockBuffer(ActiveBuffer); + + // 更新CPU侧数据(需要在Game线程执行) + AsyncTask(ENamedThreads::GameThread, [this, TempData = MoveTemp(TempData)]() + { + for (int32 i = 0; i < TempData.Num() && i < TemperatureGrid.Num(); ++i) + { + TemperatureGrid[i].Temperature = TempData[i]; + UpdatePlasticityCoefficient(TemperatureGrid[i]); + } + + UE_LOG(LogTemp, Log, TEXT("DynamicIronBlock: Temperature data downloaded from GPU")); + }); + }); +} + +void ADynamicIronBlock::DispatchTemperatureCompute(float DeltaTime) +{ + if (!TemperatureBufferA.IsValid() || !TemperatureBufferB.IsValid()) + { + return; + } + + // 准备调度参数 + FTemperatureCSDispatchParams Params; + Params.VoxelResolution = TemperatureResolution; + Params.ThermalConductivity = ThermalConductivity; + Params.CoolingRate = CoolingRate; + Params.AmbientTemperature = AmbientTemperature; + Params.ForgeTemperatureMin = ForgeTemperatureMin; + Params.ForgeTemperatureMax = ForgeTemperatureMax; + Params.DeltaTime = DeltaTime; + + // Ping-Pong缓冲区 + Params.InputTemperatureBuffer = bUseBufferA ? TemperatureBufferA : TemperatureBufferB; + Params.OutputTemperatureUAV = bUseBufferA ? TemperatureUAV_B : TemperatureUAV_A; + Params.SurfaceVoxelFlagsBuffer = SurfaceVoxelFlagsBuffer; + Params.OutputPlasticityUAV = PlasticityUAV; + + // 保存当前bUseBufferA状态用于Lambda + bool bCurrentUseBufferA = bUseBufferA; + + // 切换缓冲区 + bUseBufferA = !bUseBufferA; + + // 调度GPU计算(使用RDG) + ENQUEUE_RENDER_COMMAND(DispatchTemperatureCS)( + [Params, bCurrentUseBufferA](FRHICommandListImmediate& RHICmdList) + { + // 暂时简化实现,跳过GPU计算 + UE_LOG(LogTemp, Warning, TEXT("DynamicIronBlock: GPU temperature compute temporarily disabled (API compatibility)")); + }); +} diff --git a/Source/BladeSmith/DynamicIronBlock.h b/Source/BladeSmith/DynamicIronBlock.h index 7b51c8b..ffe82e4 100644 --- a/Source/BladeSmith/DynamicIronBlock.h +++ b/Source/BladeSmith/DynamicIronBlock.h @@ -127,6 +127,12 @@ protected: // 当游戏开始或生成时调用 virtual void BeginPlay() override; + // 每帧更新 + virtual void Tick(float DeltaTime) override; + + // Actor销毁时调用 + virtual void EndPlay(const EEndPlayReason::Type EndPlayReason) override; + // 初始化时调用,用于设置Box网格和BVH virtual void OnConstruction(const FTransform& Transform) override; @@ -231,4 +237,50 @@ private: * 更新网格顶点颜色以显示温度 */ void UpdateVertexColors(); + + // ========== GPU计算系统(Phase 2) ========== + + // GPU缓冲区(Ping-Pong双缓冲) + FBufferRHIRef TemperatureBufferA; // 温度缓冲A + FBufferRHIRef TemperatureBufferB; // 温度缓冲B + FBufferRHIRef PlasticityBuffer; // 塑性系数缓冲 + FBufferRHIRef SurfaceVoxelFlagsBuffer; // 表面体素标志缓冲 + + FUnorderedAccessViewRHIRef TemperatureUAV_A; // 温度缓冲A的UAV + FUnorderedAccessViewRHIRef TemperatureUAV_B; // 温度缓冲B的UAV + FUnorderedAccessViewRHIRef PlasticityUAV; // 塑性系数缓冲的UAV + + FShaderResourceViewRHIRef TemperatureSRV_A; // 温度缓冲A的SRV + FShaderResourceViewRHIRef TemperatureSRV_B; // 温度缓冲B的SRV + FShaderResourceViewRHIRef SurfaceVoxelSRV; // 表面体素标志的SRV + + bool bUseBufferA = true; // Ping-Pong标志 + float TimeSinceLastUpdate = 0.0f; // 距离上次温度更新的时间 + float TemperatureUpdateInterval = 0.1f; // 温度更新间隔(秒) + + /** + * 创建GPU缓冲区 + */ + void CreateGPUBuffers(); + + /** + * 释放GPU缓冲区 + */ + void ReleaseGPUBuffers(); + + /** + * 上传温度数据到GPU + */ + void UploadTemperatureDataToGPU(); + + /** + * 从GPU下载温度数据 + */ + void DownloadTemperatureDataFromGPU(); + + /** + * 调度GPU温度计算 + * @param DeltaTime 时间步长 + */ + void DispatchTemperatureCompute(float DeltaTime); }; \ No newline at end of file diff --git a/Source/BladeSmith/Shaders/FTemperatureComputeShader.cpp b/Source/BladeSmith/Shaders/FTemperatureComputeShader.cpp new file mode 100644 index 0000000..0574f71 --- /dev/null +++ b/Source/BladeSmith/Shaders/FTemperatureComputeShader.cpp @@ -0,0 +1,37 @@ +#include "FTemperatureComputeShader.h" +#include "GlobalShader.h" +#include "ShaderParameterStruct.h" +#include "RHIStaticStates.h" +#include "Shader.h" +#include "RHICommandList.h" +#include "RHIResources.h" +#include "ShaderParameterUtils.h" + +// 全局参数存储 +FThreadSafeTemperatureParams GTemperatureParams; + +// 实现温度传导计算着色器 +// 路径指向MiceShaders插件中的着色器文件 +IMPLEMENT_GLOBAL_SHADER(FTemperatureComputeShader, + "/MiceShaders/Shaders/Private/TemperatureConductionCS.usf", + "MainCompute", + SF_Compute); + +// 线程安全参数管理实现 +void FThreadSafeTemperatureParams::AddParams(const FTemperatureCSDispatchParams& NewParams) +{ + FScopeLock Lock(&ParamsCriticalSection); + PendingParams.Add(NewParams); +} + +bool FThreadSafeTemperatureParams::ConsumeParams(FTemperatureCSDispatchParams& OutParams) +{ + FScopeLock Lock(&ParamsCriticalSection); + if (PendingParams.Num() > 0) + { + OutParams = PendingParams[0]; + PendingParams.RemoveAt(0); + return true; + } + return false; +} diff --git a/Source/BladeSmith/Shaders/FTemperatureComputeShader.h b/Source/BladeSmith/Shaders/FTemperatureComputeShader.h new file mode 100644 index 0000000..fecad12 --- /dev/null +++ b/Source/BladeSmith/Shaders/FTemperatureComputeShader.h @@ -0,0 +1,107 @@ +#pragma once + +#include "CoreMinimal.h" +#include "GlobalShader.h" +#include "ShaderParameterStruct.h" +#include "RenderGraphUtils.h" + +/** + * 温度传导计算着色器的调度参数 + */ +struct BLADESMITH_API FTemperatureCSDispatchParams +{ + // 体素网格分辨率 + FIntVector VoxelResolution; + + // 物理参数 + float ThermalConductivity; // 热传导系数 + float CoolingRate; // 表面冷却速率 + float AmbientTemperature; // 环境温度 + float ForgeTemperatureMin; // 锻造温度下限 + float ForgeTemperatureMax; // 锻造温度上限 + float DeltaTime; // 时间步长 + + // GPU缓冲区资源 + FBufferRHIRef InputTemperatureBuffer; // 输入温度缓冲(SRV) + FBufferRHIRef SurfaceVoxelFlagsBuffer; // 表面体素标志缓冲(SRV) + FUnorderedAccessViewRHIRef OutputTemperatureUAV; // 输出温度缓冲(UAV) + FUnorderedAccessViewRHIRef OutputPlasticityUAV; // 输出塑性系数缓冲(UAV) + + FTemperatureCSDispatchParams() + : VoxelResolution(FIntVector::ZeroValue) + , ThermalConductivity(0.1f) + , CoolingRate(0.05f) + , AmbientTemperature(20.0f) + , ForgeTemperatureMin(800.0f) + , ForgeTemperatureMax(1200.0f) + , DeltaTime(0.0f) + { + } +}; + +/** + * 线程安全的温度计算参数队列 + */ +struct FThreadSafeTemperatureParams +{ + FCriticalSection ParamsCriticalSection; + TArray PendingParams; + + void AddParams(const FTemperatureCSDispatchParams& NewParams); + bool ConsumeParams(FTemperatureCSDispatchParams& OutParams); +}; + +// 全局参数存储 +extern BLADESMITH_API FThreadSafeTemperatureParams GTemperatureParams; + +/** + * 温度传导计算着色器类 + */ +class BLADESMITH_API FTemperatureComputeShader : public FGlobalShader +{ + DECLARE_GLOBAL_SHADER(FTemperatureComputeShader); + SHADER_USE_PARAMETER_STRUCT(FTemperatureComputeShader, FGlobalShader); + + BEGIN_SHADER_PARAMETER_STRUCT(FParameters, ) + // 体素网格参数 + SHADER_PARAMETER(FIntVector, VoxelResolution) + + // 物理参数 + SHADER_PARAMETER(float, ThermalConductivity) + SHADER_PARAMETER(float, CoolingRate) + SHADER_PARAMETER(float, AmbientTemperature) + SHADER_PARAMETER(float, ForgeTemperatureMin) + SHADER_PARAMETER(float, ForgeTemperatureMax) + SHADER_PARAMETER(float, DeltaTime) + + // 缓冲区参数(RDG方式) + SHADER_PARAMETER_RDG_BUFFER_SRV(Buffer, InputTemperatureBuffer) + SHADER_PARAMETER_RDG_BUFFER_SRV(Buffer, SurfaceVoxelFlagsBuffer) + SHADER_PARAMETER_RDG_BUFFER_UAV(RWBuffer, OutputTemperatureBuffer) + SHADER_PARAMETER_RDG_BUFFER_UAV(RWBuffer, OutputPlasticityBuffer) + END_SHADER_PARAMETER_STRUCT() + + static bool ShouldCompilePermutation(const FGlobalShaderPermutationParameters& Parameters) + { + return GetMaxSupportedFeatureLevel(Parameters.Platform) >= ERHIFeatureLevel::SM5; + } + + static bool ShouldCache(EShaderPlatform Platform) + { + return true; + } + + // 线程组大小(与HLSL中的numthreads保持一致) + static FIntVector GetGroupSize() + { + return FIntVector(8, 8, 8); + } + + static void ModifyCompilationEnvironment(const FGlobalShaderPermutationParameters& Parameters, FShaderCompilerEnvironment& OutEnvironment) + { + FGlobalShader::ModifyCompilationEnvironment(Parameters, OutEnvironment); + OutEnvironment.SetDefine(TEXT("THREADGROUP_SIZE_X"), 8); + OutEnvironment.SetDefine(TEXT("THREADGROUP_SIZE_Y"), 8); + OutEnvironment.SetDefine(TEXT("THREADGROUP_SIZE_Z"), 8); + } +};