看来HitResult只会让我们与表面(平面)或点云相交。我怎样才能用咔嗒声在空气中找到一个点,从而将物体悬浮在空气中?如何将物体置于空中?
0
A
回答
0
为什么你经常看到命中结果被用户解释为期望的位置的原因是,实际上这种用户交互没有封闭形式的解决方案。用户需要从摄像机指向场景的射线沿着哪个无限可能的位置?点击二维坐标仍然未定义第三维。
正如你所说的“空中之中”,为什么不把相机位置和hitresult之间的中心? 你可以使用提取当前位置pose.getTranslation
https://developers.google.com/ar/reference/java/com/google/ar/core/Pose.html#getTranslation(float[],%20int)
4
这真的取决于你的意思是“在空中”。两种可能性我看:
“上述检测面”做一个正常的击中测试飞机,并抵消返回一些y离会对得到的悬停位置。例如:
Pose.makeTranslation(0, 0.5f, 0).compose(hitResult.getHitPose())
返回姿势即50厘米命中位置的上方。从这里创建一个主播,你很好走。您也可以在命中位置创建锚点,并在每帧中使用y翻译进行组合,以便为悬停高度设置动画。
为此,您可能需要编写在相机的右侧一译“在当前设备位置的前方浮动”的姿势:
frame.getPose().compose(Pose.makeTranslation(0, 0, -1.0f)).extractTranslation()
给你一个翻译,只提出这距显示屏中心1m处。如果你想在一个特定的屏幕位置前面,我把一些代码放在this answer上来做屏幕指向世界光线转换。
道歉,如果你在Unity/Unreal,你的问题没有指定,所以我假设Java。
相关问题
- 1. 如何将阴影应用于三维物体中的全部物体
- 2. 如何计算物品并将其置于冬眠物业?
- 3. 角$位置获得空物体Expressjs
- 4. Newtonsoft JsonConvert.DeserializeObject如何忽略空物体
- 5. 如何将旋转应用于子弹物理引擎中的物体?
- 6. AS3 - 如何找到物体相对于舞台的位置?
- 7. 如何设置在pygame中等待物体而不冻结其他物体
- 8. 将物体相对于其容器放置?
- 9. Box2d/Libgdx将物体与物体合并
- 10. 如何在不久的将来预测物体的位置?
- 11. 如何在子弹物理中设置柔体的位置
- 12. 如何将物体移动到排列?
- 13. 如何将ul中的列表置于流体布局中?
- 14. 将二维空间中的物体映射到内存中
- 15. 与空角分选物体
- 16. Playn - 渲染空心物体
- 17. 从阵列中移除物体;如何避免空
- 18. 如何设置:主机{}基于聚合物中的媒体查询?
- 19. THREE.JS:获取物体相对于相机和物体在屏幕上的位置
- 20. 如何将OneToOneField设置为空/空/空?
- 21. 如何将物品置于离子电网内部?
- 22. 如何在任何尺寸的屏幕中间放置物体?
- 23. 将物体放置在基于地标位置的人脸上google vision api
- 24. 如何将iframe设置为自动填充HTML中的空白主体空间
- 25. 如何使用Bootstrap 4将此窗体置于Jumbotron中?
- 26. 如何将中心置于相对布局的底部空间?
- 27. 如何使用平铺和AndEngine将物体放置在特定位置?
- 28. 如何将液体标签添加到Jekyll的YAML前置物品中?
- 29. SpriteKit物理如何移动物体?
- 30. Swift如何“物超所值”的物体
是的,我使用的是Java,我的意思是“在空中”实际上是对screenPointToWorldRay的第二种解释。我认为ARCore应该在其API中包含此功能,因为这将是用户可能需要的非常常见的要求。 – redpearl
只是要清楚,你指的是什么函数应该在API中?上面的代码很简单,我认为它会让事情变得混乱。在另一个答案链接的方法,但我同意可能应该包括(虽然没有承诺)。 –
是的,我的意思是其他答案中的screenPointToWorldRay应该包含在API中。 – redpearl