企业项目
Mulcol:VR 阻火装配模拟
使用虚幻引擎和 SteamVR 进行房间规模的 VR 装配模拟;基于物理的交互、触觉反馈和性能优化。
Unreal EngineC++SteamVRHTC ViveRoom-Scale VRIndustrial SimulationPhysics InteractionHaptic FeedbackPerformance OptimizationCAD IntegrationTrade Show DemoReal-Time Rendering
工程影响
可衡量的范围与结果
- 经验量表
- 房间规模的 VR
- 交互模型
- 物理+触觉反馈
- 预期用途
- 安全训练场景
模拟物理空间中的现场场景。
安全、巧妙地排练组装步骤。
工艺试验无实际现场风险。
快速总结
- 角色:首席开发人员(feliXart 工作室)
- 公司/客户:Mulcol
- 持续时间:2016年9月至2017年9月
- 平台/耳机:HTC Vive,房间规模 VR
- 引擎:虚幻引擎 4.x (C++)
- 亮点:用于贸易展览演示的可投入生产的 VR 模拟体验
时间表(2016-2017-2017)
- 2016年9月:项目启动、模拟场景和VR原型。
- 2017年9月:完成交付和内部模拟场景。
- 2017 年:Vakbeurs Gorinchem(荷兰)公平演示。
- 2017-09-30:页面发布日期(pubDate)。
问题和限制
- 需要对现场有风险的装配过程进行安全模拟。
- 场地准备成本和设备损坏的风险。
- 高性能和低延迟对于房间规模的 VR 至关重要。
- 需要在公平的环境下长期稳定运营。
解决方案总结
我通过虚幻引擎和 SteamVR 上基于物理的交互和引导工作流程将阻火组件引入 VR 环境。模拟场景由验证真实零件顺序组装的进度系统控制。
架构概述
- SteamVR 跟踪管道:HMD + 控制器数据的低延迟输入流。
- 线程分离:输入线程->游戏线程数据传输和更新。
- 输入映射:触发/握持/触摸板的动作映射和手势控制。
- 运动:传送+房间规模的步行组合。
交互设计
- FSM:空闲 -> 悬停 -> 抓取 -> 捕捉 -> 锁定流程。
- 捕捉公差:基于位置和旋转阈值的自动对齐。
- 触觉:抓取、捕捉和成功时刻的不同振动模式。
性能工程(90 FPS / 11 毫秒)
- 通过前向渲染和实例立体进行绘制调用优化。- 通过 LOD、可见性和纹理流减少 GPU 负载。
- 帧预算目标:11 毫秒,测量:Unreal Insights + SteamVR 帧计时。
展会生产准备
- 压力测试和崩溃恢复流程。
- 热管理和质量降低策略。
- 第一个用户的入门流程较短(传送+抓取实践)。
影响/结果
- 性能稳定 - 90 FPS / 11 ms 帧预算 - 测量:Unreal Insights + SteamVR 帧计时。
- 演示密度 - 每天约 60 场会议 - 期间:Vakbeurs 2017 - 来源:公平日志(客户报告)。
- 点赞率 - 95%“非常令人印象深刻” - 期间:Vakbeurs 2017 - 来源:活动调查(客户报告)。
- 入职时间 - 缩短 3 周 - 周期:[X],基线:传统入职 - 来源:内部入职 KPI(客户报告)。
- 设备损坏 - 零 - 期间:[X] - 来源:维护/事件日志(客户报告)。
基本权衡
- 传送与平滑运动:以传送为导向的舒适设计。
- 烘焙光照与实时:烘焙光照偏好以实现稳定的 FPS。
- 真实感与性能:与 LOD 保持平衡,同时保持 PBR 质量。
常见问题解答
为什么选择 SteamVR 和 HTC Vive?
由于房间规模的跟踪和控制器生态系统。
90 FPS 是如何保持的?
具有前向渲染、实例化立体、LOD 和可见性优化。
交互流程是如何设计的?
通过FSM结构,可以控制卡扣和锁定阶段。
触觉反馈是如何使用的?
在接触、对准和成功时具有不同的振动模式。
CAD 数据是如何集成的?
CAD 模型经过优化并导入 VR,并进行了 LOD 和材质简化。
公平环境下的稳定性如何保证?具有压力测试、热监控和自动恢复流程。
项目印记
- 客户:Mulcol 灭火技术公司
- 开发商公司:feliXart studios
- 角色:首席开发人员
- 项目持续时间:2016年9月-2017年9月
- 页面日期:2017-09-30
- 活动:Vakbeurs Gorinchem 2017,荷兰
- 平台:HTC Vive(房间规模 VR)
- 引擎:虚幻引擎 4.x -核心语言:C++
- VR框架:SteamVR