MRTK 2.4-重新附加手动菜单

问题描述

我使用预制HandMenu_Large_WorldLock_On_GrabAndPull作为手动菜单的基础。如果抓住菜单并将其放在某处,我会呆在那里,这种行为对我来说很好。但是现在我想走开,再次看我的手,菜单应该重新贴在我的手上。如何设置HandConstraintPalmUp来实现?

我尝试过的事情:
我读过here,我可以将SolverHandler设置为true或调用方法HandConstraintPalmUp.StartWorldLockReattachCheckCoroutine(),但这实际上不是将SolverHandler设置为true,只是保持为假。如果通过全息仿真运行它并通过在编辑器中单击将处理程序设置为true,则它可以工作,但不能通过OnFirstHandDetected的{​​{1}}或OnHandActivate来运行。文档还说:

当尝试设置手约束对象以再次开始跟随您的手时(基于其是否满足激活条件),请将SolverHandler的UpdateSolver设置为true。 em>

但是,求解器将HandConstraintPamlUp设置为true的标准是什么?我在这里想念什么?

默认设置菜单:
例如,为什么按钮UpdateSolvers上的OnClick事件有效,而我对BtnClose的呼叫无效?

enter image description here

解决方法

实际上,由于Use Gaze Activation组件的HandConstraintPalmUp复选框默认为禁用,并且WorldLockedReattachCheck()方法调用的协程函数StartWorldLockReattachCheckCoroutine()具有条件语句,将评估{ {1}}属性决定是否执行以下语句。如果未启用useGazeActivation,它将永远不会将Use Gaze Activation属性更新为true。您可以参考此类的源代码以获取详细信息:HandConstraintPalmUp.cs Line 392。要对其进行修复,可以为项目启用UpdateSolver或直接在代码中更新Use Gaze Activation的值。

此外,SolverHandler.UpdateSolvers事件对我而言一直很好,我无法在计算机上重现您的问题。您能否提供有关它的更多信息?而且,如果您对如何使用它有疑问,可以在OnHandActiavte场景的Assets / MRTK / Examples / Experimental / HandMenuLayout / Scenes下找到示例。

相关问答

错误1:Request method ‘DELETE‘ not supported 错误还原:...
错误1:启动docker镜像时报错:Error response from daemon:...
错误1:private field ‘xxx‘ is never assigned 按Alt...
报错如下,通过源不能下载,最后警告pip需升级版本 Requirem...