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