框架简介
功能核心OS版本 (v0.1+) 可在 GitHub 获取,如有问题请在对应仓库提交Issue。
FAB版本 (v1.0+) 更为成熟,除了核心功能外,还包含丰富的扩展模块,如墙壁滑动(站立或蹲伏)、专门的脱离机制、土狼时间、冲刺、网络复制、优先级释放、经过全面测试的UE5.6和5.7版本、高级功能和模块、优化和生活质量工作流、奖励包和模板、自定义调整请求和特定求解器、Epic测试的二进制文件、以及论坛或邮件(andras@gregorigin.com)的专门支持。
请注意:我努力使设置过程尽可能用户友好——但这是一个专业的插件,附带40多页的手册。如果您遇到任何问题,请联系我,我们将共同解决。由于本插件的快速变更和开发,PDF手册不再包含在Fab构建中。请参阅在线手册以获取最新信息。
OmniWalk 是一个为虚幻引擎5.5+设计的高性能C++框架,实现了“不可能的运动”。旨在复现《瑞奇与叮当》和《死亡空间》等游戏中的高保真磁性吸附效果,允许任何角色在任意几何体上行走——墙壁、天花板、管道和星球——且无任何技术摩擦。
核心功能与技术优势
- 任意表面行走:通过从实时表面法线(墙壁、天花板、球体)驱动SetGravityDirection来实现。
- 表面检测与过渡逻辑:包含多点检测、墙壁识别、法线平均、冷却平滑等。
- 附着力:防止角色从凸面或反转几何体上弹开。
- 重力相对输入映射:在任何表面上,移动方向都与相机对齐。
- “单一组件”:无需编码设置。自动接管Pawn设置、稳定相机云台,并将输入向量重新映射到表面平面。
- 无万向锁求解器:自定义相机修正逻辑,消除了在±90°俯仰角时的控制反转和视角锁定问题。
- 表面投影输入:拦截并重新将移动输入投影到三角形法线上,防止角色卡在垂直墙壁上。
- Slate 遥测调试器:专用的编辑器窗口,实时可视化重力向量和对齐质量。
- 正确的扫射/跟随切换:在任意重力下正常工作。
- 通过标签自动注入:在关卡中无需代码即可启用。
- 编辑器工具:示例关卡生成器、调试器遥测。
🚀 零配置统一组件
- 拖放集成:将OmniWalkPro组件拖放到任何角色类上。
- 自动接管逻辑:在游戏开始时,组件自动配置Pawn设置、注入相机稳定器,并拦截输入缓冲区,将世界空间移动投影到局部表面平面。
🧠 关键技术卖点
- 原生5.4+重力集成:利用重新设计的角色移动组件重力架构,实现逐帧完美的物理效果——而非基于力的取巧方案。
- 无万向锁相机求解器:自定义C++相机修正器解决了“欧拉角奇点”问题。即使在倒立行走时,鼠标/摇杆的观察操作依然直观且无反相。
- 任意表面附着:无需体积。通过优化的检测平均算法,在任何静态网格体、动态网格体或地形法线上行走。
- 输入投影技术:自动“截取”世界空间移动输入,并将其压平到当前表面法线方向上,防止角色卡在垂直墙壁上。
- Slate 遥测调试器:专用的编辑器窗口,提供重力向量、对齐强度和检测命中点的实时遥测数据。
🛠 技术规格
- 性能:所有核心逻辑均用C++编写,在TG_PrePhysics阶段执行,确保表面检测和移动集成之间的零延迟。需要启用增强输入插件。
- 方向数学:使用四元数和球面线性插值归一化来处理360度过渡,避免万向锁翻转。
- 包含程序化演示:包含一个C++螺旋生成器,在运行时构建“不可能”的行走路径,以展示系统在极端向心力下的稳定性。
📋 包含内容
- 运行时模块:核心附着组件、相机稳定器、输入拦截器和世界子系统。
- 编辑器模块:Slate UI 遥测和调试工具。
- 源代码:带有完整注释的C++代码。
- 示例内容:程序化演示关卡和“零接触”实施指南。
©版权声明:本站除原创作品外的资源均收集于网络,只做学习和交流使用,版权归原作者所有,若作商业用途,请购买正版。



评论0