1. 概述
工程需要把外置相机实时拍摄的内容导入 Unreal Engine 中进行处理计算。之后使用神经网络模型把拍摄图像转换成视线落点的xy坐标。通过蓝图去计算2D视线聚焦点,并且对播放图像进行反畸变处理,以确保画面在VR设备中正常显示。此外还会在场景中设置UI,并且对视线落点的物品进行视线悬停反馈。
2. 交付内容
2.1 Unreal Engine 项目
· 可运行的Unreal Engine 交互项目,包含 3. 功能需求 中的全部条例。
2.2 工程源文件
· 提供完整的工程源文件,对可编辑部分进行注释。
2.3 使用说明
· 提供详细代码、蓝图等的使用说明,运行示例,参数配置说明。文字和(如有必要)视频格式。
2.4 配置需求
· Unreal Engine 的适用版本,必要的第三方插件/脚本等配置的要求。
2.5 参考文献
· 开发中如有使用参考的文献和资源,请写明。以便用户进一步理解算法原理和实现细节。
3. 功能需求
3.1 同步相机
· 将四台相机的 120fps 画面的实时同步在 Unreal Engine 中,画面延迟需小于 8ms。
3.2 使用神经网络模型进行坐标点计算
·使用提供的神经网络模型对画面中的x和y(横向和纵向)坐标点进行计算,计算延迟需小于4ms。
3.3 镜头后处理
· 反向适应VR设备镜头带来的畸变,使左右眼相机的画面可以在VR设备中正常显示。
· 设置第三相机,不进行畸变,用于用户VR内视角的外部展示。(用于TV,展示给使用者以外的人)
3.4 红点进程校准
· 按键 空格键(space) 播放确认进程,进入下一个画面/视频。
· UI 悬停反馈:在用户视线交点悬停在图标上时,图标进行变化反馈。
4. 里程碑和时间表
第一阶段:开发和测试
· 视频流导入Unreal Engine,使用神经网络模型计算注视点。
· 搭建测试场景(2D),基于鼠标坐标进行模拟视点测试。
第二阶段: 搭建场景渲染管线
· 根据提供的畸变函数库、双目距离和角度的数据搭建反VR视角畸变的相机视角(左眼和右眼)。
第三阶段: 搭建UI交互
· 搭建UI系统和UI交互的动画效果。
· 按键切换播放内容,播放内容结束后切回交互演示场景。
第四阶段: 现场调试和交付
· 需要开发者本人出差到本地进行现场的调试,根据测试结果进行必要的优化。
· 能够在测试设备上完整跑通管线,对参数进行调整。
· 准备用户文档和使用手册。
· 完成最终交付和部署。
5. 我方提供的数据
· 4份 120fps 的视频
· 计算所使用的神经网络模型
· 用于镜头的反畸变函数矩阵/函数库
· UI图标(或场景)
· 出差使用的工作机