发送反馈
点击测试会将虚拟对象放置在现实世界中
使用集合让一切井井有条
根据您的偏好保存内容并对其进行分类。
平台专用指南
您的浏览器不支持视频标记。
AR 内容必须正确放置和大小,才能融入场景。与现实世界中的物体一样,距离较远的虚拟物体应看起来更小。您可以执行命中测试 (或在 AR Foundation for Unity 中执行光线投射 ),确定 3D 对象在场景中的正确位置。正确的放置可确保 AR 内容以适当的(表观)尺寸呈现。
点击测试可以找到真实的 3D 几何图形与由原点和方向组成的虚拟光线之间的交集。使用设备摄像头作为原点的射线最常用的方法是,不过 ARCore 包含一个 API,用于执行在世界空间坐标中使用任意射线的命中测试。
假设有一条光线,来源于用户设备相机,它向前延伸,直至射中场景的 3D 几何图形(例如地面、墙壁或物体)。一旦发生这种情况,您会收到命中结果 列表,或与检测到的场景几何图形的交集。该列表会按设备与设备的距离进行排序,最近的交叉路口排在最前面。这一点很重要,因为通常情况下,您看不到被其他对象遮挡的对象,因此在大多数情况下,第一个结果最为重要。
注意 :命中测试通常以来自设备或设备相机的光线执行,但也可能具有任意射线原点和方向。
命中结果的内容
系统会以列表形式返回单个命中结果,其中包含每个结果的以下信息:
与射线原点的距离(以米为单位)
命中结果的姿态(位置和方向)
您点击的 3D 几何图形,采用可跟踪对象的形式
然后,您可以根据所需的命中结果使用锚点来真实放置 3D 内容 。
命中结果类型
命中结果分为四种类型:深度、平面、特征点和即时展示位置结果。每种类型都有自己的使用场景和利弊,如下表所示。
注意 :深度命中结果需要使用支持深度的设备 。在不支持深度的设备、没有深度数据的支持设备或已停用深度的会话中,请改用平面命中结果。
命中结果类型
说明
方向
使用场景
深度
使用来自整个场景的深度信息来确定点的正确深度和方向
与 3D 表面垂直
将虚拟对象放置在任意表面(不只是地板和墙壁)上
飞机
敲击水平和/或垂直表面,以确定点的正确深度和方向
与 3D 表面垂直
使用平面的完整几何图形将对象放置在平面(地板或墙壁)上。需要立即更正体重。深度点击测试的回退
特征点
依靠用户点按点周围的视觉特征来确定点的正确位置和方向
与 3D 表面垂直
将对象放在任意表面上(不仅限于地板和墙壁)
即时放置(永久性 Raycast)
使用屏幕空间来放置内容。最初使用应用提供的估算深度。可立即运作,但一旦 ARCore 能够确定实际场景几何图形,姿势和实际深度就会发生变化
+Y 指向上方,与重力相反
使用平面的完整几何体将对象放置在平面(地板或墙壁)上,并且快速放置至关重要,并且体验可以容忍未知的初始深度和缩放
设备兼容性
点击测试适用于所有支持 ARCore 的设备 ,但深度点击测试需要使用支持深度的设备 。
使用命中结果放置 AR 内容
获得命中结果后,您可以使用其姿势作为输入,在场景中放置 AR 内容 。
发送反馈
如未另行说明,那么本页面中的内容已根据知识共享署名 4.0 许可 获得了许可,并且代码示例已根据 Apache 2.0 许可 获得了许可。有关详情,请参阅 Google 开发者网站政策 。Java 是 Oracle 和/或其关联公司的注册商标。
最后更新时间 (UTC):2023-12-02。
[{
"type": "thumb-down",
"id": "missingTheInformationINeed",
"label":"没有我需要的信息"
},{
"type": "thumb-down",
"id": "tooComplicatedTooManySteps",
"label":"太复杂/步骤太多"
},{
"type": "thumb-down",
"id": "outOfDate",
"label":"内容需要更新"
},{
"type": "thumb-down",
"id": "translationIssue",
"label":"翻译问题"
},{
"type": "thumb-down",
"id": "samplesCodeIssue",
"label":"示例/代码问题"
},{
"type": "thumb-down",
"id": "otherDown",
"label":"其他"
}]
[{
"type": "thumb-up",
"id": "easyToUnderstand",
"label":"易于理解"
},{
"type": "thumb-up",
"id": "solvedMyProblem",
"label":"解决了我的问题"
},{
"type": "thumb-up",
"id": "otherUp",
"label":"其他"
}]
需要向我们提供更多信息?
{"lastModified": "\u6700\u540e\u66f4\u65b0\u65f6\u95f4 (UTC)\uff1a2023-12-02\u3002"}
[[["易于理解","easyToUnderstand","thumb-up"],["解决了我的问题","solvedMyProblem","thumb-up"],["其他","otherUp","thumb-up"]],[["没有我需要的信息","missingTheInformationINeed","thumb-down"],["太复杂/步骤太多","tooComplicatedTooManySteps","thumb-down"],["内容需要更新","outOfDate","thumb-down"],["翻译问题","translationIssue","thumb-down"],["示例/代码问题","samplesCodeIssue","thumb-down"],["其他","otherDown","thumb-down"]],["最后更新时间 (UTC):2023-12-02。"]]