完整核心作系统版本(v0.1+)可在以下网站获取:https://github.com/gregorik/OmniWalk,如有需要请在此提交问题。
FAB版本(v1.0+)包括:优先发布、经过全面测试的UE5.6和5.7版本、高级功能与模块、优化与生活质量工作流、额外包和模板、自定义调整请求和细分解算器、论坛(如上链接)或通过邮件联系我(andras@gregorigin.com)提供专属支持。
请注意:我努力让设置过程尽可能友好——但这是一个专业插件,附带30+页的说明书。如果遇到任何问题,联系我,我们会帮你解决。
由于该插件的快速变革和开发,PDF手册已不再包含在Fab版本中。请查看在线手册获取最新信息。
OmniWalk 是一个面向虚幻引擎 5.5+ 的高性能 C++ 框架,实现了“不可能的移动”体验。它旨在复制《瑞奇与叮当》和《死亡空间》等作品中高保真磁性的魅力,允许任何角色在任意几何结构中穿梭——墙壁、天花板、管道和行星——而没有任何技术摩擦。
虽然UE5.4引入了基础的多向重力,OmniWalk解决了大量剩余的“难题”,具体如下:
– 通过驱动SetGravityDirection从活表面法线(墙壁、天花板、球体)中实现任意表面行走。
– 表面检测和过渡逻辑(多点迹、墙面检测、法线平均、冷却平滑)。
– 粘附力防止凸面或倒置几何形状弹出。
– 重力相对输入映射,使运动在任何表面都能与相机对齐。
– “单一成分”:无代码设置。自动劫持兵的设置,稳定摄像机万向节,并将输入矢量重新映射到曲面平面。
– 无云台求解器:自定义相机修改器逻辑消除了±90°俯仰角下的控制反转和视角锁定。
– 表面投影输入:拦截并将移动输入重新投影到三角形法线上,以防止“胶囊钉住”垂直墙面。
– 板岩遥测:专用编辑器调试器,用于实时可视化重力矢量和对准质量。
– 在任意重力下正常工作的侧移/跟随切换。
– 通过标签自动注入,实现层级无代码采用。
– 编辑器工具(示例关卡生成器、调试器遥测)。
? “零配置”统一组件
与需要从特定父类重建角色的竞争框架不同,OmniWalk 采用统一的组件架构。
- 可直接集成:把 OmniWalkPro 组件拖到任何 ACharacter(Pawn、MetaHuman、Synty 等)上。
- 自动劫持逻辑:在开始播放时,组件会自动配置Pawn设置(偏航使用、地面角度),注入摄像机稳定器,并拦截输入缓冲区,将世界空间运动投影到本地表面平面。
? 关键技术独特卖点
- 原生5.4+重力积分:利用重新设计的CharacterMovementComponent重力架构实现帧完美物理——而非基于力的修改。
- 无云台相机求解器:自定义的C++相机修改器解决了“欧拉奇点”。鼠标/摇杆的外观直观且不反转,即使倒挂在天花板上。
- 任意表面附着力:不需要卷。通过优化的路径平均,走进任何静态网格、动态网格或景观的法线。
- 输入投影技术:它会自动“窃取”世界空间的移动输入,并将其贴合当前表面法线,防止角色“卡”在垂直墙壁上。
- Slate 遥测调试器:专用编辑器窗口(OmniWalk 调试器>窗口)提供关于重力矢量、对准强度和追踪命中率的实时遥测。
? 技术规格
- 性能:所有核心逻辑均以C++编写,执行于TG_PrePhysics,确保表面检测与运动集成之间的零延迟。需要启用增强输入插件。
- 定向数学:使用四元数(QInterpTo)和Slerp归一化处理360度跃迁,无需万向节翻转。
- 程序演示包括:包含一个C++螺旋生成器,可在运行时构建“不可能”的步行路径,以展示系统在极端向心力下的稳定性。
? 包装内容
- 运行模块:核心粘附组件、摄像机稳定器、输入劫持器和世界子系统。
- 编辑模块:Slate UI 遥测和调试工具。
- 源代码:完全注释的C++代码。
- 示例内容:程序演示关卡和“零点界面”实现指南。

评论0