Skip to content

About

Freedom 异形双层监狱 V4.1 × AGLS v1.7.0(Unreal Engine 5.6):可玩第三人称关卡重建 —— 含关卡、44 组异形网格、集成/碰撞刷新脚本与 9 份实测验证。Playable third-person rebuild of the Freedom prison level on AGLS v1.7.0 / UE 5.6.

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Repository files navigation

Freedom 监狱 × AGLS — UE 5.6 关卡重建

把「Freedom 异形双层监狱 V4.1」场景接进 AGLS(Adventure Game Locomotion System)v1.7.0, 使其从"只能看的场景"变成可直接 Play 的第三人称冒险关卡:角色、相机、移动/攀爬/交互全部由 AGLS 提供, 监狱作为游玩场地。

Rebuild of the "Freedom" prison level (V4.1) inside AGLS v1.7.0 on Unreal Engine 5.6, turning a scene-only project into a playable third-person adventure level.

引擎:Unreal Engine 5.6.1 | 依赖:自备 AGLS v1.7.0 (UE5.6) 资产包(本仓库不包含,见 NOTICE.md)


这个仓库装了什么

目录 内容
Content/Freedom_Prison_V41/ 关卡:L_Prison_AGLS(已接好 AGLS 的可玩版)、L_Prison_Detail(原始场景版)
Content/Freedom_Prison_V41_20260914_173736/ 44 组异形静态网格、简单材质、电梯 Level Sequence
Scripts/integrate_prison_agls_ue5.py 集成脚本:复制关卡、刷新碰撞、挂 AGLS GameMode、放角色、保存
Scripts/refresh_prison_collision_ue5.py 碰撞刷新脚本(编辑器内执行)
Scripts/build_prison_v41_ue5.py V4.1 原始生成脚本(留档,可在空关卡重建整套几何)
Verification/ 9 份验证记录(集成、PIE 实跑、碰撞、相机修复、最终状态)
设计与关卡流程.md 原关卡设计、房间流程、电梯与依赖说明

不含:AGLS 本体的美术/动画/蓝图与 C++ 插件(付费授权内容,请自行从原作者处获取,见 NOTICE.md)。


关卡装配结果

项目 内容
关卡 /Game/Freedom_Prison_V41/Maps/L_Prison_AGLS
GameMode ALS_GameMode_SP → 角色 ALS_AnimMan_CharacterBP_C、控制器 ALS_Player_Controller_C
玩家角色 出生点预放 ALS_AnimMan_CharacterBP,AutoPossessPlayer = Player 0(相机正常工作的前提)
出生点 Prison_Start = (-1430.4, -1772.0, 110),即设计中的 R01 起始牢房
场景规模 256 Actor / 102 静态网格 / 43 盏灯(全 Movable)/ 电梯 40 秒往返 Level Sequence
碰撞 29 个实体网格 = Complex as Simple + 双面 + 逐 Section 开启(保留弯折回廊与深井孔洞)
楼层 两层 0 / 4.2 m,75 组禁入囚室,14 个功能房间(R01–R10、U01–U04)

如何在你的 AGLS 工程里用起来

  1. 准备好 UE 5.6.1 与 AGLS v1.7.0 (UE5.6) 工程。
  2. 把本仓库的 Content/ 两个文件夹整体复制进 AGLS 工程的 Content/ 下(保持包路径不变)。
  3. 打开 L_Prison_AGLS:World Settings 的 GameMode 已是 ALS_GameMode_SP;出生点位置已放好 一个 ALS_AnimMan_CharacterBP(务必保留 AutoPossessPlayer = Player 0)。
  4. 如果角色站在地板上会陷下去:编辑器里 Tools → Execute Python Script → Scripts/refresh_prison_collision_ue5.py,再 Play。
  5. 直接 Play —— 键位见下面的按键说明。

把本仓库内容搬进既有工程时,也可以用 Scripts/integrate_prison_agls_ue5.py 复现整套集成 (复制关卡 → 刷碰撞 → 挂 GameMode → 放角色 → 保存),路径常量在脚本顶部。


按键说明

键位来自 AGLS v1.7.0 自带的输入配置(Enhanced Input 映射上下文 + DefaultInput.ini),本工程未改动任何键位。 完整清单也可看 按键说明.md,原始映射导出在 Verification/13_input_mappings.json。

基础移动与镜头

操作 键鼠 手柄
前后左右移动 W A S D 左摇杆
转视角 鼠标移动 右摇杆
跳跃 Space A
冲刺(按住) Left Shift 左摇杆按下
走 / 跑 切换(按住) Left Ctrl RB
蹲(按住) Left Alt B
爬行 按住 Left Alt 约 0.5 秒 —
布娃娃 X 十字键左

动作、战斗与交互

操作 键鼠 手柄
交互 / 拾取 / 开门 E A
瞄准(按住) 鼠标右键 LT
射击 / 近战处决 鼠标左键 RT
手雷 / 缩放 鼠标中键 十字键上
换弹 R Y
拿 / 收绳索 F —

Overlay(徒手 / 手枪 / 步枪 / 手雷 / 绳索)

操作 键鼠 手柄
打开 Overlay 菜单 Q LB
直接切第 1/2/3/4 个 1 2 3 4 十字键 左/下/右
上一个 / 下一个 滚轮 上 / 下 十字键 上/下
Overlay 第二分区切换 Tab —

相机与系统

操作 键鼠 手柄
切换相机模式 C 右摇杆按下
旋转模式 1 / 2 5 / 6 十字键 左/右
暂停 / 菜单 K —
存档 H(只对 AGLS 自带 Grid_Level 生效) —
调试显示 V M U I Y —

进阶移动(AGLS 自带系统)

  • 攀爬 / 边缘悬挂:空中 + 方向键开始攀爬;A/S 左右横移;Shift+方向键找下一个落脚点; Shift+方向键+Space 跳过去;Space 上翻;Left Ctrl 松手。
  • 窄边行走:W+Space 开始;A/D 左右移动;Left Ctrl 下到地面。
  • 游泳:WASD 移动;Shift 加速;Alt 下潜;Space+方向键爬上水面。
  • 冰镐攀爬:空中 + 方向键开始;方向键移动;Left Ctrl 停止;Shift+方向键+Space 在两种攀爬间切换。

在这个关卡里的实际用法

  • 出生在 R01 起始牢房,WASD + 鼠标即可探索。
  • 电梯在 R05 电梯配电厅:全自动,一层停靠 10 秒且门开着,直接走进轿厢;约 12 秒开始上行, 二层开门 8 秒后自动下行回到一层。没有呼叫键。
  • 监狱是白盒:没有攀爬点、水域、车辆,攀爬/游泳相关按键在本关没有作用对象;E 也暂时没有可交互目标。

两个必须知道的坑

1. 相机"看起来像第一人称"是怎么来的

AGLS 的角色身上没有相机组件、也没有弹簧臂,相机由 ALS_PlayerCameraManager + 相机资产 (GameplayCameras:MainCameraRig 等)驱动。它要求 PlayerController 的视目标(View Target)是角色, 相机系统才会给出"身后偏上"的第三人称机位。

AGLS 自带演示关卡(Grid_Level)不靠 PlayerStart,而是在关卡里预放角色 + AutoPossessPlayer = Player 0, 由这条附身路径设置视目标。若关卡里只有 PlayerStart、没有预放角色,PlayerController 会一直没有视目标, 相机就退化成"控制器自身视点"(眼睛高度、跟随控制旋转)——表现上就是第一人称。

本仓库的 L_Prison_AGLS 已按 AGLS 的方式修复:出生点预放角色并勾选 AutoPossessPlayer = Player 0。 实测 PIE:视目标 = ALS_AnimMan_CharacterBP_C,相机在角色后方 150 cm、上方 16 cm(R01 牢房狭窄, 相机被墙体挤近;出牢房后自动拉开),世界中仅 1 个角色。

2. 无界面批量加载时的碰撞查询

用命令行 -nullrhi 冷加载关卡时,OBJ 导入网格的碰撞查询可能失灵(原 V4.1 包就记录过这个现象)。 图形界面正常打开不受影响;真遇到角色穿透,执行 Scripts/refresh_prison_collision_ue5.py 再 Play。 刷碰撞建议加命令行参数 -ddc=NoShared -DDC-ForceMemoryCache,否则无界面运行可能因 DDC 无写入权限而报错退出。

3. 电梯"打不开、不运行"是什么原因

白盒电梯原本是 LS_PrisonLift_Shuttle(Level Sequence 自动往返)。原始状态有两个问题:

  1. 运行时没有绑定:序列里的 10 个 possessable 没有映射到关卡里的 Actor,播放器里的 sequence 也是空的—— 于是序列"在播",轿厢和轿门却一动不动。
  2. 时间轴不可用:一层厅门在 40 秒循环里只开 4 秒,而且循环点是硬切(开门状态直接跳回关门),玩家几乎赶不上。

本仓库的修复:

  • 重建为 LS_PrisonLift_Shuttle_AGLS,10 条轨道(轿厢根 + 4 樘厅门 + 2 扇轿门 + 对重 + 2 根钢索)用 FindNamedBinding + AddBinding 显式绑到关卡 Actor,auto_play=true、无限循环;
  • 时间轴改成 38 秒无缝循环,两层都长时间开门等待:
时间 状态
0 – 10 s 一层停靠,门开(可直接走进轿厢)
10 – 12 s 关门
12 – 18 s 上行
18 – 20 s 二层开门
20 – 28 s 二层停靠,门开
28 – 30 s 关门
30 – 36 s 下行
36 – 38 s 一层开门 → 无缝回到 0 s

复现/重建脚本:Scripts/rebuild_prison_lift_sequence.py。 PIE 实测(Verification/12_pie_lift_playtest.json):playing=True,轿厢停在 z=0,一层厅门 Y 位移 +110 cm(开), 二层厅门保持关闭。


验证记录

全部在 UE 5.6.1(CL 44394996)实测,原始 JSON 在 Verification/:

文件 证明了什么
01_integration_report.json 关卡复制、29 个实体网格碰撞刷新、GameMode/角色/控制器解析、保存成功
02_pie_playtest.json PIE 实跑:角色在 R01 落点 z=92.2 站稳,前进 283 cm 后被牢房墙体挡停,未穿地板
03_collision_probe.json 16 个房间锚点 + 电梯的射线探针与通道对照
04_mesh_collision_data.json 网格/组件碰撞响应与 Complex as Simple 数据
05_room_anchors.json R01–R10、U01–U04、电梯上下站坐标锚点
06_final_smoke.json 交付配置能正常启动并加载关卡
07_camera_fix.json 相机修复动作与保存结果
08_pie_camera_after_fix.json 修复后 PIE:视目标=角色、相机身后 150 cm/上方 16 cm、角色数量=1
09_final_state.json 最终状态:256 Actor、GameMode 覆盖、预放角色与 Player 0、电梯序列

已知限制

  • 电梯是白盒 40 秒自动往返:无呼叫按钮、无防夹、不读任务供电状态。
  • 没有解谜状态机、017 交易、守卫 AI;要接 AGLS 的 AI 需自行放置 NavMeshBoundsVolume 并烘焙导航。
  • r.AllowStaticLighting=False(监狱灯全为 Movable,不需要烘焙静态光)。
  • 未接第三人称模板以外的相机模式切换;AGLS 的 C(CameraAction)等按键保持包内默认。

许可与致谢

  • 本仓库自有内容(监狱关卡、网格/材质、脚本、文档)可自由用于你的项目。
  • AGLS(Adventure Game Locomotion System)版权归 Jakub W 所有,本仓库不包含其任何资产, 使用前请自行获取授权,详见 NOTICE.md。
  • 关卡设计文档与生成脚本源自 Freedom V4.1 白盒迭代。

About

Freedom 异形双层监狱 V4.1 × AGLS v1.7.0(Unreal Engine 5.6):可玩第三人称关卡重建 —— 含关卡、44 组异形网格、集成/碰撞刷新脚本与 9 份实测验证。Playable third-person rebuild of the Freedom prison level on AGLS v1.7.0 / UE 5.6.

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages