如何在 Vuforia(没有 Unity)中点击模型的一部分?

How to make clicks on part of model in Vuforia (without Unity)?

我想在 Vuforia (没有 Unity) 中通过点击屏幕制作调色板的可点击单元格:

我找到了具有类似功能的 Domino 示例并执行了此操作:

我认为这条线有问题:

boolean bool = checkIntersectionLine(matrix44F, lineStart, lineEnd);

在多米诺骨牌示例中是:

bool intersection = checkIntersectionLine(domino->pickingTransform, lineStart, lineEnd);

但我不知道做什么 domino->pickingTransform 并粘贴而不是这一行 modelViewMatrix (Tool.convertPose2GLMatrix(trackableResult.getPose()).getData())

我的触摸功能的完整代码:http://pastebin.com/My4CkxHa

你能帮我点击一下吗?或者可能是另一种方式(不是 Unity)?

基本上,domino->pickingTransform 几乎就是为每个多米诺骨牌对象绘制的最终矩阵。多米诺骨牌示例的工作方式是,对于每个对象 (domino),应用程序检查屏幕触摸的投影点并查看它是否与对象矩阵相交。拾取矩阵不完全一样,因为你想让它更灵敏,所以你让它比绘图矩阵宽一点。

您说您得到了错误的 ID,但问题是 - 不同单元格的 ID 是否始终相同?如果不是,这可能是您在矩阵变换中犯的一些小计算错误。我建议进行可视化调试 - 为检测到的 ID 添加一些图形指示,这样您就可以看到应用程序认为您点击了哪个单元格。这应该可以帮助您朝着解决方案前进。