Table of Contents

Enum ARSession.ARCenterMode

命名空間
easyar
組件
EasyAR.Sense.dll

AR中心模式。

*注意:在EasyAR Sense Unity Plugin中總共有四種中心模式。在其它AR框架比如ARFoundation中可能並不存在類似的概念,通常它們裡面的物體間相對關係的行為與這裡的*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也是不能手動控制的。