虚幻5下的oculus eyetracking项目开发

问题遇到的现象和发生背景

目前应要求使用meta quest pro和meta 的movement sdk 进行eyetracking和face tracking项目的开发,但是oculus 提供的文档十分模糊,在虚幻5中安装后也没有接口使用方法

操作环境、软件版本等信息

虚幻5.1.1 meta quest pro

我想要达到的结果

蓝图开发模式下,实现eyetracking即可

嗯,关于你【oculus 提供的文档十分模糊,在虚幻5中安装后也没有接口使用方法】的问题,无法直接给你提供答案,可以给你些许建议:
参考Meta官方提供的文档;
或者尝试在Meta官方的论坛上提问,可能会有其他开发者可以提供帮助;
查看其他开发者的相关博客或论坛帖子,可能会有一些其他开发者提供了更为详细的使用方法和教程。
希望这些建议可以帮助你解决问题。辛苦

jiyugpt
对于在虚幻引擎5中使用Oculus Eye Tracking进行项目开发,以下是一些建议和步骤:

安装 Oculus 插件:

打开虚幻引擎编辑器。
转到"Edit"(编辑)菜单,然后选择"Plugins"(插件)。
在插件窗口中,搜索 "Oculus"。
安装并启用 Oculus 插件。
配置虚幻引擎项目:

创建或打开您的虚幻引擎项目。
转到"Edit"(编辑)菜单,然后选择"Project Settings"(项目设置)。
在项目设置窗口中,选择 "Input"(输入)部分。
在右侧的 "Eye Tracking"(眼动追踪)选项中,启用 "Support Eye Tracking"(支持眼动追踪)。
还可以根据需要配置其他眼动追踪设置。
创建蓝图并使用眼动追踪:

在虚幻引擎编辑器中,打开您的关卡或蓝图。
创建一个蓝图或打开现有蓝图。
在蓝图中,可以使用眼动追踪事件和节点来实现相关功能。
例如,您可以使用 "Event Receive Eye Focus Changed"(接收眼动焦点变化事件)来检测眼动焦点的变化。
您还可以使用 "Get Eye Tracked Point"(获取眼动追踪点)节点获取眼动追踪的数据。
需要注意的是,Oculus Eye Tracking 在虚幻引擎中的具体实现方式可能会因版本而异,因此请根据您所使用的 Oculus 和虚幻引擎版本查阅相关文档和资源,以获取更具体的使用方法和示例代码。

此外,如果您遇到特定问题或错误,建议参考 Oculus 官方文档、论坛和开发者社区,以获取更详细的信息和支持。

希望这些提示能帮助您在虚幻引擎5中使用 Oculus Eye Tracking 进行项目开发。如果您有任何进一步的问题,请随时提问。

可以借鉴下

下载和安装Oculus Integration插件
在虚幻引擎市场中下载并安装Oculus Integration插件。安装完成后,你可以从菜单栏中找到“Window”->“Oculus”来打开Oculus Integration的设置面板。

配置Oculus Quest Pro
将Oculus Quest Pro连接到电脑,并打开Oculus Integration设置面板。在其中,你可以配置Oculus Quest Pro的连接方式和使用的传感器等信息。

添加Oculus Eye Tracking和Face Tracking的Blueprint节点
在虚幻引擎中创建一个新的蓝图,并在其中添加Oculus Eye Tracking和Face Tracking的节点。你可以在蓝图中使用这些节点来获取眼球的位置和方向,以及识别用户的面部表情。

测试和调试
在虚幻引擎中测试和调试你的程序。你可以使用虚拟现实头显来模拟用户的操作,并查看眼球位置、方向和面部表情等信息是否正确。

需要注意的是,Oculus Integration插件的版本和虚幻引擎的版本需要匹配。如果你的版本不匹配,可能会导致插件无法正常工作。另外,Oculus Integration插件提供了一些示例项目,你可以参考这些示例来学习如何使用Eye Tracking和Face Tracking。

对于在虚幻5中使用Meta Quest Pro进行eyetracking和face tracking项目的开发,我可以提供以下建议:

确认Meta Quest Pro是否正确安装:请确保您已按照官方文档正确安装了Meta Quest Pro插件。您可以检查虚幻引擎的插件列表,确认该插件已正常加载。

使用Meta提供的SDK:请参考Meta官方文档使用其提供的SDK来实现eyetracking功能。在UE中使用Meta SDK的步骤如下:

将Meta SDK导入到UE项目中,并将其添加到构建设置中。
在蓝图或代码中调用Meta SDK函数以获取眼部数据并应用于游戏中。
调试和测试:在实现eyetracking功能后,您可以使用UE自带的编辑器模拟器或VR头显设备进行测试和调试。如果您遇到任何问题,请参考虚幻引擎的日志和错误消息以进行故障排除。

以下是一些基本步骤,供参考:

  1. 在 Unreal Engine Marketplace 中下载并安装 "Meta Glasses Plugin". 安装后,在 Unreal Engine 项目中,创建一个新的 Level,添加一个角色并将MetaGlassesBlueprint组件添加到你的主要摄像头中。

  2. 确保在创建与编译虚幻引擎的项目时选择了 Oculus 模式和 Meta 模式。

  3. 控制台窗口会列出是否使用 Meta 和 Oculus SDK。如果选择使用 Meta SDK 和 Oculus SDK,则需要设置 "Meta Mode" 为 On。若想使用 EyeTracking、FaceTracking 等 Meta 的功能,应确保在.Meta 文件中设置了这些功能所需的权限。

  4. 在蓝图开发模式下,可以调用 "Get Eye Tracking Data" 方法访问眼球追踪数据,调用 "Get Face Tracking Data" 方法访问面部追踪数据,均可从 "Meta Glasses Blueprint" 组件中获得。

  5. 各个元素的位置可以通过追踪方法获得,但要实际使用该数据,应采用 "View" 来表示它们的源。原因是,在 OpenGL 中,屏幕上的物体实际上不是位置 (x, y),而是相对于屏幕中心点的角度。

  6. 需要谨慎考虑亮度、反射和其他突变因素对追踪精度的影响。

答案由GPT-4Plus大模型(语音)与博主@晓码自在合作编写:

根据您的描述,遇到的问题主要是Oculus提供的movement SDK文档不明确,无法在UE5中实现eyetracking。

解决思路如下:

  1. 查找movement SDK的详细文档与教程

Oculus官方文档的确比较简略,可以尝试 finding 其他教程与解决方案。例如:

这些教程使用Unity进行演示,但思路与接口使用方法对UE5也适用。

  1. 查看Oculus面部跟踪示例项目

Oculus官方提供面部跟踪的示例项目,可以下载并查看,学习接口的使用方法。项目地址:

https://developer.oculus.com/downloads/package/oculus-face-tracking-sample/

  1. 在UE5中启用Oculus插件

要在UE5中使用Oculus SDK,需要:
启用XR插件,选择Oculus插件。
设置Oculus SDK路径,选择已下载的movement SDK。
启用'Eye Tracking'与'Face Tracking'选项。

  1. 学习UE5中的蓝图节点

启用Oculus插件后,会有对应的蓝图节点供使用,主要有:

  • Get Eye Tracking 2D Data: 获取眼动追踪二维数据
  • Get Eye Tracking 3D Data: 获取眼动追踪三维数据
  • Get Face Tracking 2D Data: 获取面部跟踪二维数据

学习这些节点的输入与输出,可以实现基本的eyetracking与facetracking。

以下答案由GPT-3.5大模型与博主波罗歌共同编写:
根据您的需求,开发 Oculus Eye-Tracking 项目需要完成以下步骤:

步骤1:安装 Oculus Integration 和 MRTK 插件

在 Unity 或者 Unreal Engine 中通过 Oculus Integration 插件和 Microsoft Mixed Reality ToolKit (MRTK) 插件实现 Oculus Eye-Tracking 项目的开发。在 Unreal Engine 中,需要通过 Oculus VR 插件设置中启用 Eyetracking Functionality。可以参考 Oculus 官方文档的具体步骤进行安装。

步骤2:配置 Oculus SDK

确保 Oculus SDK 的版本与您正在使用的 Unreal Engine 版本匹配。如果您使用的是 Unreal Engine 4.23 或更高版本,您可以通过使用 OpenXR 插件,将 Oculus 支持添加到 Unreal Engine 中。使用 OpenXR 插件的话,您所需的代码可能会有所不同。

步骤3:创建 Blueprints

接下来,需要创建 Blueprint 来控制 Eyetracking。推荐使用哪个 Blueprint 依赖于您的项目需求。具体来说,您可能需要在屏幕上为眼睛位置和焦点创建 UI,同时还需要创建能够接收干涉事件的对象。为了优化性能,您可以只在视野内隐藏 UI。

步骤4:编写逻辑代码

在 Blueprint 中添加逻辑代码,使 Eyetracking 与应用程序各个方面之间进行通信。首先,需要检测屏幕上的 Gaze 焦点。如果焦点与屏幕上的对象交互,例如用眼间移动或眨眼控制交互,需要处理这些信息。眼部运动可以用眼径或头部运动的总量表示,可以将此信息转换为游戏或应用程序中的运动。

可能需要使用到的一些函数:

  • IHeadMountedDisplayPlugin::GetEyeTexture: 获取左右眼的纹理
  • IHeadMountedDisplayPlugin::GetEyeTracker: 获取眼动追踪器的引用
  • NoteGazeFocus: 记录注视焦点
  • Init: 初始化 Oculus SDK
  • GetGazeRay: 检测眼动事件
  • StartFrame: 开始帧

以下是一个简单的 Blueprint 示例:

![image](https://user-images.githubusercontent.co/