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空间中不运动的物体或这个物体的父节点。它可能是 Origin,Camera 或某个 `target` 。 `Target` 可以是包含TargetController或BlockRootController组件的物体。在使用稀疏空间地图和EasyAR Mega的时候,实际的中心GameObject是root节点下具体定位到的map或block物体,CenterObject 是这个物体的父节点。
在FirstTarget 或 SpecificTarget模式下,当 `target` 在某一帧中未被识别到或丢失的时候,CenterObject 可能会变成其它 `target` ,而如果在帧内找不到 `target` ,CenterObject会按先后顺序退变为SessionOrigin和Camera里面第一个可用的模式的中心。
`Target` 和Camera的相对位置关系由当前session控制。Origin 和Camera的相对位置关系,在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为中心的。
你可以移动或旋转Origin,Camera会跟着动。在这个模式下你将无法手动控制Camera的transform。如果有任何 `target` 正在被跟踪,它也会跟着动,并且它的transform也是不能手动控制的。