ARSession.ARCenterMode Enum¶
Description¶
AR中心模式。
注意:在EasyAR Sense Unity Plugin中总共有四种中心模式。在其它AR框架比如AR Foundation中可能并不存在类似的概念,通常它们里面的物体间相对关系的行为与这里的 ARSession.ARCenterMode.SessionOrigin 模式一致。
ARAssembly.Camera 和一部分AR组件之间的相对transform是受session控制的,其中的一个物体被称为 ARSession.CenterObject ,它在场景中不动,其它物体相对这个 ARSession.CenterObject 运动。这个物体是根据 ARSession.CenterMode 的数值进行选择的。
ARSession.CenterObject 表示在Unity空间中不运动的物体或这个物体的父节点。它可能是 ARSession.Origin , ARAssembly.Camera 或某个 target 。 Target 可以是包含以下任一组件的物体: TargetController , SparseSpatialMapRootController 或 Scene.BlockRootController 。在使用稀疏空间地图和EasyAR Mega的时候,实际的中心 GameObject 是root节点下具体定位到的map或block物体, ARSession.CenterObject 是这个物体的父节点。
在 ARSession.ARCenterMode.FirstTarget 或 ARSession.ARCenterMode.SpecificTarget 模式下,当 target 在某一帧中未被识别到或丢失的时候, ARSession.CenterObject 可能会变成其它 target ,而如果在帧内找不到 target , ARSession.CenterObject 会按先后顺序退变为 ARSession.ARCenterMode.SessionOrigin 和 ARSession.ARCenterMode.Camera 里面第一个可用的模式的中心。
Target 和 ARAssembly.Camera 的相对位置关系由当前session控制。 ARSession.Origin 和 ARAssembly.Camera 的相对位置关系,在 FrameSource.IsCameraUnderControl 为true的时候,也由当前session控制,而当 FrameSource.IsCameraUnderControl 为false的时候,它是不受当前session控制的,通常由其它AR框架比如AR Foundation控制。
Constant |
Value |
Description |
---|---|---|
FirstTarget |
0 |
当前session是以第一个跟踪到的 target 为中心的。 你可以移动或旋转 target , ARAssembly.Camera 会跟着动。在这个模式下你将无法手动控制 ARAssembly.Camera 的transform。如果任意一种运动跟踪在运行, ARSession.Origin 也会跟着动,它的transform也是不能手动控制的。 当 target 丢失之后,中心物体会重新计算。在使用稀疏空间地图和EasyAR Mega的时候,实际的中心 GameObject 是root节点下具体定位到的map或block物体。并且,定位一张新的地图将会被认作从前一张地图定位过程中的丢失,中心物体会重新计算。 |
Camera |
1 |
当前session是以 ARAssembly.Camera 为中心的。 你可以移动或旋转 ARAssembly.Camera ,target 会跟着动。在这个模式下你将无法手动控制 target 的transform。如果任意一种运动跟踪在运行, ARSession.Origin 也会跟着动,它的transform也是不能手动控制的。 |
SpecificTarget |
2 |
当前session是以 ARSession.SpecificTargetCenter 为中心的。 你可以移动或旋转 target , ARAssembly.Camera 会跟着动。在这个模式下你将无法手动控制 ARAssembly.Camera 的transform。如果任意一种运动跟踪在运行, ARSession.Origin 也会跟着动,它的transform也是不能手动控制的。 |
SessionOrigin |
3 |
当前session是以 ARSession.Origin 为中心的。 你可以移动或旋转 ARSession.Origin , ARAssembly.Camera 会跟着动。在这个模式下你将无法手动控制 ARAssembly.Camera 的transform。如果有任何 target 正在被跟踪,它也会跟着动,并且它的transform也是不能手动控制的。 |