Vuforia官方文档-02-Vuforia Engine API概述

Vuforia官方API自学,只为学习交流,肯定会有错误与肤浅之处,仅供参考

Vuforia Engine 10 API:

  • 官方文档:Vuforia Engine 10 API | VuforiaLibrary
  • Vuforia Engine 10 API简化并改进了使用Vuforia Engine开发AR体验的过程,简化了AR生命周期的管理,并提供了更好的工具来创建、处理和控制AR体验和应用程序。支持多个开发环境和大量设备。
  • Vuforia 10 API包含三个关键概念:
    • Engine(引擎)
    • Observer and Observations(观察员和观察结果)
    • Controller (控制器)

  • Engine:

    • Engine引擎是管理Vuforia Engine生命周期的高级对象。使用Engine可以创建、销毁、启动和停止AR。
    • 在大多数情况下,Vuforia将使用默认配置设置引擎,开发人员只需要一些其它配置,如添加许可证密钥。此外,还可以配置Vuforia Engine实例,配置处理应用程序生命周期和行为的流程。在Unity中,Vuforia Engine实例表示为VuforiaApplication单例(跨场景)和Unity场景中的VuforiaBehaviour组件。
    • 上述配置示例:
      • 添加许可证密钥License Key(必须配置)
      • 配置摄像机参数
      • 配置渲染参数
    • 启动Engine前需要进行配置。在Vuforia Engine启动后,通过控制器Controller也可以进行某些特定的配置。
  • Observer:

    • 观察者Observer是一个组件,用于创建、设置观察真实世界的属性。大多数情况下,Observer观察的都是我们称之为Target目标的物理对象。也就是说,我们可以为我们想要检测、跟踪和获取有关信息的,真实世界的每个部分/位置/物理对象创建了一个Observer。例如,Target可以是图像、物理对象、三维空间、空间锚点,甚至是真实环境中的照明。
    • 在Unity中,Observer作为附加到游戏对象的目标行为组件来创建和管理
    • Observer归Vuforia Engine所有。默认情况下,Observer在创建时就会被激活。
    • Observer类型示例:
      • Image Target Observer:观察2D图片和其它图形形式
      • Model Target Observer:观察基于CAD模型或物理对象扫描的3D对象
      • Area Target Observer:检测和跟踪用户物理环境中预定义的3D区域
      • Cloud Image Target Observer:使用云图像识别技术在现实世界中识别图像
      • Anchor Observer:使用它在场景空间中动态创建固定位置以放置数字内容
      • Illumination Observer:使用它来估计用户物理环境的照明条件
    • 当一个Observer被激活时,可以通过State接收Observation(有时通过回调函数接收)
  • State:

    • State在快照中及时收集有关观察场景的信息。包括有关Observer生成的观察的信息,有时也用于摄影机帧数据和渲染状态。
    • Unity State:在Unity中,State会自动工作,因为Unity场景将每帧更新一次,所以不需要进行显式调用从State中检索信息
  • Observation:

    • Observations包含Observers在给定时间点创建的信息。当用户四处移动并与AR场景交互时,Observers会报告变化(依据设置好的如何去观察目标状态的设置来报告目标状态的变化)。这种报告称为在该State收集的Observations(观察结果)。
    • Observations包含不同数据的组合,例如姿势信息pose info、状态信息status info、网格信息mesh info等。可以通过State或注册的回调函数从Observations检索出这些信息。
    • 从State检索信息的方式:
      • 使用拉动机制pull mechanism更新所有激活的Observers,并从State对象检索所有Observer的Observations,官方建议采用这种方法。
      • 使用推送机制push mechanism注册一个全局回调函数,该回调将从State对象中递送出所有收集的Observations,该方法只能用于关键处理,如计算机视觉分析。
    • 大多数Observation都以本机形式报告给State,但少数Observations的行为不同,需要通过观察者回调直接访问。如云图像目标观察者Cloud Image Target Observer。特定的用例也可能要求使用替代的推送机制。例如,以非常低的频率收集Observation,或当Observation由用户交互手动触发时。
  • Controller:

    • Vuforia Engine的许多控件和设置在Engine启动之前都是使用默认配置设置的。但如果需要,可以在运行时使用控制器Controller调整Engine和其他设置。示例如下:
      • CameraDevice/CameraController:控制对摄像机属性(如视频模式、自动对焦和闪光灯)的访问。
      • PlatformController:控制对特定于平台的功能的访问,例如设备方向和Fusion Provider。一些功能是特定于平台的,仅在各自的平台和设备(即Android、iOS和UWP)上可用。
      • VideoBackground/RenderController:控制对渲染配置的访问。
  • 回过头再看这张图片:

    • 以我目前所学理解解析图片:
      • Engine Config和Observer Config是用户根据需要配置Engine和Observer(不配置会使用默认配置,但有些必须配置,比如License Key)
      • Engine在应用程序启动时会自动初始化,Engine拥有Observer,State和Controller
      • 根据不同的观察目标Target,Engine拥有不同类型的Observer,Observer通过观察Target收集信息并把信息保存到State中,也就是把Observation保存到State中
      • 在Engine运行过程中,如果还需要配置一些Engine设置或其他设置,可以调用Engine的Controller进行设置

  • 1
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值