HoloLens 2全息远程渲染中眼动凝视功能实现遇阻求助
针对你遇到的眼动光标跟随头部、手部检测后消失的问题,给出以下排查和修复建议:
检查输入源优先级与光标切换规则
打开MRTK的Input System Profile,确认Input Source Priorities中Eye Gaze的优先级高于手部输入;同时进入Pointer Profile,找到Eye Gaze Pointer配置,确保IsEnabled始终为true,且未勾选Disable On Other Input Source Detected选项。另外,在Cursor Profile中关闭Hide Cursor On Input Source Detected,避免手部检测后自动隐藏眼动光标。验证眼动数据流在Remoting中的传输
确认Unity端Holographic Remoting设置里已勾选Enable Eye Tracking;同时在HoloLens设备端的Remoting连接界面,确保允许传输眼动数据。可以添加代码日志验证数据是否正常接收:Debug.Log($"Gaze Origin: {CoreServices.InputSystem?.EyeGazeProvider?.GazeOrigin}, Direction: {CoreServices.InputSystem?.EyeGazeProvider?.GazeDirection}");如果日志显示的方向始终与头部一致,说明眼动数据未通过Remoting传输,需检查网络连接或Remoting配置。
确认眼动光标绑定关系
检查Eye Gaze CursorGameObject的父物体,确保它绑定到EyeGazePointer的Transform,而非主相机(头部追踪对象)。打开EyeGazePointer脚本组件,确认Cursor字段已正确指向你的眼动光标对象,且UpdateCursorPosition方法未被禁用。修复MRTK2潜在的Remoting眼动bug
尝试升级MRTK2至最新补丁版本;或手动修改EyeGazeProvider的初始化逻辑,在Remoting连接建立后重新注册眼动输入源,确保数据同步正常。
内容的提问来源于stack exchange,提问作者Jason Deeprose

