美文网首页
05_ARKit 基础知识 ARAnchor

05_ARKit 基础知识 ARAnchor

作者: Zhen斌iOS | 来源:发表于2022-09-23 09:12 被阅读0次

ARAnchor

关注对象在物理环境中的位置和方向。

@interface ARAnchor : NSObject
概念

要跟踪真实或虚拟对象相对于相机的静态位置和方向,请创建锚对象并使用 addAnchor: 方法将它们添加到您的 AR 会话中。

提示:在会话中添加锚点有助于 ARKit 优化该锚点周围区域的世界跟踪精度,以便虚拟对象相对于现实世界似乎保持在原位。 如果虚拟对象移动,则从旧位置移除相应的锚点,并在新位置添加一个。

一些 ARKit 功能会自动将特殊锚点添加到会话中。 World-tracking 会话可以添加 ARPlaneAnchor、ARObjectAnchor 和 ARImageAnchor 对象,如果您启用相应的功能; 面部跟踪会话添加 ARFaceAnchor 对象。

除了创建自己的 ARAnchor 实例来跟踪虚拟内容的真实位置之外,您还可以将 ARAnchor 子类化以将自定义数据与您创建的锚点相关联。 确保当 ARKit 更新帧或在 ARWorldMap 中保存和加载锚点时,您的锚点类行为正确:
(1) 锚子类必须满足 ARAnchorCopying 协议的要求。 ARKit 调用 initWithAnchor:(在后台线程上)将锚类的实例从每个 ARFrame 复制到下一个。 您的此初始化程序的实现应复制您的子类添加的任何自定义属性的值。
(2) Anchor 子类也必须采用 NSSecureCoding 协议。 覆盖 encodeWithCoder: 和 initWithCoder: 以在 ARKit 在世界地图中保存和加载它们时保存和恢复子类的自定义属性的值。
(3) 基于它们的标识符属性,锚被认为是相等的。
(4) 保存世界地图时,仅包含不采用 ARTrackable 的锚点。

创建锚点
- initWithTransform:
使用指定的变换创建一个新的锚对象。

- initWithName:transform:
使用指定的变换和描述性名称创建一个新的锚对象。

name
锚点的描述性名称。
跟踪锚
identifier
锚点的唯一标识符。

sessionIdentifier
拥有此锚点的会话的唯一标识符。

transform
一个矩阵,编码锚点相对于放置锚点的 AR 会话的世界坐标空间的位置、方向和比例。

相关文章

  • 05_ARKit 基础知识 ARAnchor

    ARAnchor 关注对象在物理环境中的位置和方向。 概念 要跟踪真实或虚拟对象相对于相机的静态位置和方向,请创建...

  • ARKit API

    ARAnchor @interface ARAnchor : NSObject /** 标识符 */ @prope...

  • ARAnchor

    A real-world position and orientation that can be used fo...

  • iOS~ARKit开发(OC):文档翻译

    1.ARAnchor.h ARAnchor表示一个物体在3D控件的位置和方向(ARAnchor通常称为物体的3D锚...

  • 十二、<ARKit>ARAnchor 类

    本文译自官方文档 ARAnchor,不足之处,请纠正。 ARAnchor 类是真实世界的坐标和方向。在 AR 场景...

  • ARKit API介绍

    1.ARAnchor ARAnchor表示一个物体在3D空间的位置和方向(ARFrame用于捕捉相机的移动,其他虚...

  • iOS~ARKit开发(OC)文档翻译

    1.ARAnchor.hARAnchor表示一个物体在3D控件的位置和方向(ARAnchor通常称为物体的3D锚点...

  • ARKit框架阅读笔迹

    ARKit框架下的类有: ARAnchor ARCamera ARConfiguration ARError AR...

  • 06-ARKit全框架API大全

    1.1-ARKit框架简介 1.2-ARAnchor1.3-ARCamera1.4-ARError1.5-ARFr...

  • ARKit API介绍

    1.框架中所有的API介绍 1.1-ARKit框架简介 1.2-ARAnchor 1.3-AR...

网友评论

      本文标题:05_ARKit 基础知识 ARAnchor

      本文链接:https://www.haomeiwen.com/subject/xdrwortx.html