Table of Contents

Enum ARSession.ARCenterMode

命名空间
easyar
程序集
EasyAR.Sense.dll

AR中心模式。

*注意:在EasyAR Sense Unity Plugin中总共有四种中心模式。在其它AR框架比如AR Foundation中可能并不存在类似的概念,通常它们里面的物体间相对关系的行为与这里的*SessionOrigin*模式一致。*

Camera和一部分AR组件之间的相对transform是受session控制的,其中的一个物体被称为CenterObject,它在场景中不动,其它物体相对这个CenterObject运动。这个物体是根据CenterMode的数值进行选择的。

CenterObject 表示在Unity空间中不运动的物体或这个物体的父节点。它可能是 OriginCamera 或某个 `target` 。 `Target` 可以是包含TargetControllerBlockRootController组件的物体。在使用稀疏空间地图和EasyAR Mega的时候,实际的中心GameObject是root节点下具体定位到的map或block物体,CenterObject 是这个物体的父节点。

FirstTargetSpecificTarget模式下,当 `target` 在某一帧中未被识别到或丢失的时候,CenterObject 可能会变成其它 `target` ,而如果在帧内找不到 `target` ,CenterObject会按先后顺序退变为SessionOriginCamera里面第一个可用的模式的中心。

`Target` 和Camera的相对位置关系由当前session控制。OriginCamera的相对位置关系,在IsCameraUnderControl 为true的时候,也由当前session控制,而当IsCameraUnderControl 为false的时候,它是不受当前session控制的,通常由其它AR框架比如AR Foundation控制。

public enum ARSession.ARCenterMode

字段

FirstTarget = 0

当前session是以第一个跟踪到的 `target` 为中心的。

你可以移动或旋转 `target` ,Camera会跟着动。在这个模式下你将无法手动控制Camera的transform。如果任意一种运动跟踪在运行,Origin也会跟着动,它的transform也是不能手动控制的。

当 `target` 丢失之后,中心物体会重新计算。在使用稀疏空间地图和EasyAR Mega的时候,实际的中心GameObject是root节点下具体定位到的map或block物体。并且,定位一张新的地图将会被认作从前一张地图定位过程中的丢失,中心物体会重新计算。

Camera = 1

当前session是以Camera为中心的。

你可以移动或旋转Camera,`target` 会跟着动。在这个模式下你将无法手动控制 `target` 的transform。如果任意一种运动跟踪在运行,Origin也会跟着动,它的transform也是不能手动控制的。

SpecificTarget = 2

当前session是以SpecificTargetCenter为中心的。

你可以移动或旋转 `target` ,Camera会跟着动。在这个模式下你将无法手动控制Camera的transform。如果任意一种运动跟踪在运行,Origin也会跟着动,它的transform也是不能手动控制的。

SessionOrigin = 3

当前session是以Origin为中心的。

你可以移动或旋转OriginCamera会跟着动。在这个模式下你将无法手动控制Camera的transform。如果有任何 `target` 正在被跟踪,它也会跟着动,并且它的transform也是不能手动控制的。