Table of Contents

Namespace easyar

APIExtend

擴展EasyAR Sense API 及 Unity API,爲數據轉換等操作提供便利。

APIKeyAccessData

使用API Key的EasyAR雲服務鑑權數據。有關數據請訪問EasyAR開發中心(https://www.easyar.cn)獲取。

ARAssembly

AR組件的組裝體。它實現了一種對所有EasyAR Sense組件的典型組裝。

ARCoreARFoundationFrameSource

在場景中將AR Foundation 的ARCore輸出連接到EasyAR輸入的自定義frame source。通過EasyAR Sense的自定義相機功能提供AR Foundation支持。

這個frame source是一種運動跟蹤設備,在ARSession中會輸出運動數據。

爲了使用這個frame source, ``AR Foundation`` 是必需的。你需要根據官方文檔配置AR Foundation。

ARCoreFrameSource

在場景中控制ARCore相機設備(easyar.ARCoreCameraDevice)的MonoBehaviour,在Unity環境下提供功能擴展。

這個frame source是一種運動跟蹤設備,在ARSession中會輸出運動數據。

AREngineFrameSource

在場景中將AREngine相機設備的輸出連接到EasyAR輸入的自定義frame source。通過EasyAR Sense的自定義相機功能提供華爲AR Engine支持。

這個frame source是一種運動跟蹤設備,在ARSession中會輸出運動數據。

這個frame source不使用 ``華爲 AR Engine Unity SDK`` ,無需添加。

ARFoundationFrameSource

在場景中將AR Foundation 的輸出連接到EasyAR輸入的自定義frame source。通過EasyAR Sense的自定義相機功能提供AR Foundation支持。

這個frame source是一種運動跟蹤設備,在ARSession中會輸出運動數據。

爲了使用這個frame source, ``AR Foundation`` 是必需的。你需要根據官方文檔配置AR Foundation。

ARKitARFoundationFrameSource

在場景中將AR Foundation 的ARKit輸出連接到EasyAR輸入的自定義frame source。通過EasyAR Sense的自定義相機功能提供AR Foundation支持。

這個frame source是一種運動跟蹤設備,在ARSession中會輸出運動數據。

爲了使用這個frame source, ``AR Foundation`` 是必需的。你需要根據官方文檔配置AR Foundation。

ARKitFrameSource

在場景中控制ARKit相機設備(easyar.ARKitCameraDevice)的MonoBehaviour,在Unity環境下提供功能擴展。

這個frame source是一種運動跟蹤設備,在ARSession中會輸出運動數據。

ARSession

在場景中控制AR會話的MonoBehaviour。一個會話包含一組組裝成ARAssembly的組件,並控制整個生命週期的數據流。這個組件是AR的入口。同一時刻不允許出現多個active的實例。

EasyAR組件的所有功能必須在StartSession()之後才能使用。

Camera和一部分AR組件之間的相對transform是受session控制的,其中的一個物體被稱爲CenterObject,它在場景中不動,其它物體相對這個CenterObject運動。這個物體是根據CenterMode的數值進行選擇的。更詳細的說明可以查看ARSession.ARCenterMode的描述。

ARSession.FlipOptions

鏡像渲染選項。

ARSessionFactory

ARSession工廠。

ARSessionFactory.Resources

創建對應組件所需資源。

ActiveController

管理activeSelfMonoBehaviour

默認策略如下:TargetController默認使用ActiveWhileTrackedXROriginChildController默認使用ActiveAfterFirstTracked

可以使用OverrideStrategy來覆蓋默認策略。設置MonoBehaviour.enabled爲false可關閉控制。

AppSecretAccessData

使用App Secret的EasyAR雲服務鑑權數據。有關數據請訪問EasyAR開發中心(https://www.easyar.cn)獲取。

AssembleOptions

ARSession的組裝選項。

AssembleOptions.DeviceListDownload

設備列表下載選項。

Buffer

Buffer 存儲了原始字節數組,可以用來訪問圖像數據。 在Java API中可以從 `Image`_ 中獲取buffer然後copy數據到Java字節數組。 在EasyAR Sense的所有版本中,你都可以訪問圖像數據。參考 `Image`_ 。

BufferDictionary

一個從文件路徑到 `Buffer`_ 的映射。用於表示多個放在內存中的文件。

BufferPool

BufferPool 實現了一個內存池,可用於自定義攝像頭接入等需要反覆分配相同大小內存的功能,降低內存分配耗時。

CameraDeviceDisplay

常規相機的顯示。你可以在Unity編輯器或PC上模擬屏幕旋轉,以便配合特殊的屏幕擺放需求。

CameraDeviceFrameSource

在場景中控制easyar.CameraDeviceMonoBehaviour,在Unity環境下提供功能擴展。

這個frame source不是運動跟蹤設備,在ARSession中不會輸出運動數據。

CameraImageRenderer

在場景中控制camera圖像渲染的MonoBehaviour。僅當session的frame sourceIsCameraUnderControl爲true時有效。

CameraParameters

camera參數,包括圖像大小、焦距、主點、camera類型和camera相對設備自然方向的旋轉角度。

CloudLocalizerFrameFilter

在場景中控制easyar.CloudLocalizerMonoBehaviour,在Unity環境下提供功能擴展。

絕大多數情況下,應使用 MegaTrackerFrameFilter

CloudRecognizationResponse

識別請求的響應。

CloudRecognizerFrameFilter

在場景中控制easyar.CloudRecognizerMonoBehaviour,在Unity環境下提供功能擴展。

DenseSpatialMapBlockController

在場景中控制easyar.DenseSpatialMap生成的地圖網格塊的MonoBehaviour

DenseSpatialMapBuilderFrameFilter

在場景中控制easyar.DenseSpatialMapMonoBehaviour,在Unity環境下提供功能擴展。

DeviceFrameSourceCamera

Frame source中提供相機幀數據的設備相機。

DeviceFrameSourceCamera.CameraExtrinsics

相機外參,一般是標定的矩陣,表達在相機相對設備/頭的pose原點的物理偏移。

DiagnosticsController

當前ARSession的診斷控制器。讓它成爲你的開發夥伴而非第一個關閉的組件。

DiagnosticsController.MessageOutputOptions

消息輸出選項。

Display

顯示設備。

DisplayEmulator

旋轉模擬器。

EasyARCameraImageRendererFeature

使用URP時用來渲染AR設備相機圖像的render feature。需要在forward renderer asset的renderer feature 列表中添加這個render feature。

EasyARController

EasyAR Sense Engine類的靜態代理,主要用於Sense初始化。

EasyARSettings

EasyAR Sense Unity Plugin的配置信息。

EasyARSettings.LibVariantConfig

EasyAR Sense 庫變種配置。

EasyARSettings.Permission

權限配置。

EasyARSettings.TargetGizmoConfig

Target的Gizmos配置。

EasyARSettings.TargetGizmoConfig.ImageTargetConfig

ImageTargetGizmos配置。

EasyARSettings.TargetGizmoConfig.ObjectTargetConfig

ObjectTargetGizmos配置。

EasyARSettings.UnityXROptions

與Unity XR Framework相關的配置項。

EasyARSettings.UnityXROptions.AutoSwitchOptions

自動切換Unity XR(比如AR Foundation)物體的選項。

EasyARSettings.UnityXROptions.AutoSwitchOptions.EditorOptions

編輯模式選項。

EasyARSettings.UnityXROptions.AutoSwitchOptions.PlayerOptions

運行模式選項。

EasyARSettings.Workaround

Workaround for Unity.

EditorCameraDeviceFrameSource

在編輯器中控制easyar.CameraDeviceMonoBehaviour,僅用來提供開發診斷使用。通常當這個frame source在使用的時候,你看到的所有效果都和設備上運行是不同的。你可以使用它做一些AR效果無關的應用邏輯開發,但不能憑它判斷AR運行(檢測、跟蹤、定位等)的效果。

這個frame source不是運動跟蹤設備,在ARSession中不會輸出運動數據。

EventDumpRecorder

事件轉儲錄製器。 用於將一些關鍵診斷信息保存到EED文件中。 本類的所有成員都是線程安全的。

ExplicitAddressAccessData

需要填寫訪問地址的EasyAR雲服務鑑權數據。

ExternalDeviceFrameSource

表示外部設備的frame source。通常表示頭戴設備,其中相機渲染和設備跟蹤都由設備SDK完成。

你可以通過繼承ExternalDeviceFrameSource的子類型來實現自定義相機,但你不能直接繼承ExternalDeviceFrameSource。自定義相機通常表達一個新的設備或新的數據輸入方式。

在自定義相機或頭顯上使用試用產品(個人版license、試用版XR license或試用版Mega服務等)時,EasyAR Sense每次啓動後會在固定的有限時間內停止響應。

ExternalDeviceMotionFrameSource

表示具有運動跟蹤能力的外部設備的frame source。通常表示頭戴設備,其中相機渲染和設備跟蹤都由設備SDK完成。

這個frame source是一種運動跟蹤設備,在ARSession中會輸出運動數據。

你可以通過繼承它來實現頭顯等設備輸入,但你必須自己完成運動跟蹤功能,EasyAR的運動跟蹤並不能直接在外部設備上使用。你需要自己從硬件或其它地方獲取圖像和pose數據並輸入到EasyAR,EasyAR不提供這些數據的獲取能力,但提供將這些數據輸入EasyAR之後運行EasyAR功能的能力。

在自定義相機或頭顯上使用試用產品(個人版license、試用版XR license或試用版Mega服務等)時,EasyAR Sense每次啓動後會在固定的有限時間內停止響應。

ExternalDeviceRotationFrameSource

表示具有3DOF旋轉跟蹤能力的外部設備的frame source。通常表示頭戴設備,其中相機渲染和設備跟蹤都由設備SDK完成。

這個frame source是一種3DOF旋轉跟蹤設備,在ARSession中會輸出旋轉數據。

你可以通過繼承它來實現頭顯等設備輸入,但你必須自己完成跟蹤功能,EasyAR的3DOF旋轉跟蹤並不能直接在外部設備上使用。你需要自己從硬件或其它地方獲取圖像和旋轉數據並輸入到EasyAR,EasyAR不提供這些數據的獲取能力,但提供將這些數據輸入EasyAR之後運行EasyAR功能的能力。

在自定義相機或頭顯上使用試用產品(個人版license、試用版XR license或試用版Mega服務等)時,EasyAR Sense每次啓動後會在固定的有限時間內停止響應。

ExternalFrameSource

一個外部frame source代表非EasyAR Sense內置的frame source。它用於支持AR Engine,AR Foundation或頭顯,也可以用於定義你自己的frame source。

你可以通過繼承ExternalFrameSource的一些子類型來實現自定義相機,但你不能直接繼承ExternalFrameSource。自定義相機通常表達一個新的設備或新的數據輸入方式。

在自定義相機或頭顯上使用試用產品(個人版license、試用版XR license或試用版Mega服務等)時,EasyAR Sense每次啓動後會在固定的有限時間內停止響應。

ExternalImageStreamFrameSource

一個只接收圖像流輸入的外部frame source。

這個frame source不是運動跟蹤設備,在ARSession中不會輸出運動數據。

你可以通過繼承它來實現只有圖像輸入的自定義相機,它不能用於實現頭顯輸入。你需要自己從硬件或其它地方(比如usb連接的Android相機)獲取圖像並輸入到EasyAR,EasyAR不提供這些數據的獲取能力,但提供將這些數據輸入EasyAR之後運行EasyAR功能的能力。

在自定義相機或頭顯上使用試用產品(個人版license、試用版XR license或試用版Mega服務等)時,EasyAR Sense每次啓動後會在固定的有限時間內停止響應。

FixedAddressAPIKeyAccessData

使用API Key的EasyAR雲服務鑑權數據。有關數據請訪問EasyAR開發中心(https://www.easyar.cn)獲取。

FrameFilter

一個frame filter代表使用frame輸入數據運行的EasyAR功能。

FramePlayer

在場景中控制easyar.InputFramePlayereasyar.VideoInputFramePlayerMonoBehaviour,在Unity環境下提供功能擴展。

它將會在FrameSourceFramePlayer或者編輯器上在DiagnosticsController inspector的'Session Validation Tool'中選擇了'Frame Player'DiagnosticsController時被使用。

FrameRecorder

在場景中控制easyar.InputFrameRecordereasyar.VideoInputFrameRecorderMonoBehaviour,在Unity環境下提供功能擴展。

它會被自動組裝進Assembly

enabled可以控制錄製開始和結束。

FrameRecorder.RecordFinishEvent

錄製結束的事件。錄製出錯時回調參數爲false。

FrameRecorder.RecordStartEvent

錄製開始事件。回調參數是錄製的文件名。

FrameRecorder.RecordingConfiguration

錄製配置。。

FrameRecorder.RecordingConfiguration.FilePathInfo

文件路徑信息。錄製的文件路徑在TypePersistentDataPath時是 Path.Combine(Application.persistentDataPath, FolderPath, Name + extension),TypeAbsolute時是 Path.Combine(FolderPath, Name + extension),其中extension由Format決定。

FrameSource

一個frame source代表frame輸入數據的數據源,它提供圖像數據或同時提供運動數據。

你可以通過繼承FrameSource的一些子類型來實現自定義相機,但你不能直接繼承FrameSource。自定義相機通常表達一個新的設備或新的數據輸入方式。

在自定義相機或頭顯上使用試用產品(個人版license、試用版XR license或試用版Mega服務等)時,EasyAR Sense每次啓動後會在固定的有限時間內停止響應。

FrameSourceCamera

Frame source中提供相機幀數據的相機。

Image

Image存儲了圖像數據,用來表示內存中的圖像。 Image以字節數組的方式提供了對原始數據的訪問,同時也提供了訪問width/height等信息的接口。 在EasyAR Sense的所有版本中,你都可以訪問圖像數據。

 在iOS中可以這樣訪問
 ::

     #import <easyar/buffer.oc.h>
     #import <easyar/image.oc.h>

     easyar_OutputFrame * outputFrame = [outputFrameBuffer peek];
     if (outputFrame != nil) {
         easyar_Image * i = [[outputFrame inputFrame] image];
         easyar_Buffer * b = [i buffer];
         char * bytes = calloc([b size], 1);
         memcpy(bytes, [b data], [b size]);
         // use bytes here
         free(bytes);
     }

 在Android裏面,
 ::

     import cn.easyar.*;

     OutputFrame outputFrame = outputFrameBuffer.peek();
     if (outputFrame != null) {
         InputFrame inputFrame = outputFrame.inputFrame();
         Image i = inputFrame.image();
         Buffer b = i.buffer();
         byte[] bytes = new byte[b.size()];
         b.copyToByteArray(0, bytes, 0, bytes.length);
         // use bytes here
         b.dispose();
         i.dispose();
         inputFrame.dispose();
         outputFrame.dispose();
     }
 </p>
ImageHelper

圖像幫助類。

ImageMaterial

用於渲染Image的材質。

ImageTarget

ImageTarget表示平面圖像的target,它可以被 `ImageTracker`_ 所跟蹤。 ImageTarget內的數值在可以被讀取之前需要首先通過create...等方法填入。然後再通過 `ImageTracker.loadTarget`_ 成功載入 `ImageTracker`_ 之後可以被 `ImageTracker`_ 檢測和跟蹤。

ImageTargetController

在場景中控制ImageTargetMonoBehaviour,在Unity環境下提供功能擴展。加載成功後可以使用Target訪問target數據。

target的數據會單獨加載,加載會在session成功啓動後發生,生命週期中只會完整加載一次,如加載到一半session停止,將在下次session啓動後再次加載。

ImageTargetController.ImageFileSourceData

創建target的圖像數據。

ImageTargetController.SourceData

創建target的數據。

ImageTargetController.TargetDataFileSourceData

創建target的target data。Target名字和縮放在etd文件中定義。

ImageTargetController.TargetSourceData

創建target的ImageTarget數據。

ImageTargetController.Texture2DSourceData

創建target的Texture2D數據。

ImageTargetParameters

ImageTargetParameters表示創建 `ImageTarget`_ 所需要的參數。

ImageTrackerFrameFilter

在場景中控制easyar.ImageTrackerMonoBehaviour,在Unity環境下提供功能擴展。

InertialCameraDeviceFrameSource

在場景中控制easyar.InertialCameraDeviceMonoBehaviour,在Unity環境下提供功能擴展。

這個frame source是一種5DOF(旋轉+水平位移)跟蹤設備,在ARSession中會輸出運動數據。

InputFrame

輸入幀。 包含圖像、camera參數、時間戳、相機相對於世界座標系的變換和跟蹤狀態。 其中,camera參數、時間戳、相機相對於世界座標系的變換和跟蹤狀態均爲可選,但特定的算法組件會對輸入有特定的要求。

MegaBlockController

在場景中由 MegaCloudFrameFilter 跟蹤的 block 的 MonoBehaviour

只有服務中包含對應 block ID 的數據,正確且被加載到 MegaCloudFrameFilterMegaBlockController 才能在 ARSession 中正常使用,內容才能顯示正確。

MegaBlockController.BlockInfo

Block 信息。

MegaBlockController.BlockInfoSourceData

創建 block 的信息來源。

MegaBlockController.SourceData

創建 target 的數據。

MegaCloudFrameFilter

在場景中控制 Mega 雲服務組件的MonoBehaviour

MegaGoBlockController

在場景中由 MegaGoTrackerFrameFilter 跟蹤的 block 的 MonoBehaviour

MegaGoBlockController.BlockInfo

Block 信息。

MegaGoBlockController.FileSourceData

創建target的文件數據。

MegaGoBlockController.SourceData

創建target的數據。

MegaGoTrackerFrameFilter

在場景中控制easyar.MegaGoTrackerMonoBehaviour,在Unity環境下提供功能擴展。

MegaGoTrackerLocalizationResponse

MegaGoTracker 定位的響應。

MegaLandmarkFilterResponse

Mega Landmark filter請求的響應。

MegaLandmarkFilterWrapper

Mega Landmark VPS雲定位過濾功能。

MegaLocalizationResponse

Mega定位請求的響應。

MegaRequestTimeParameters

Mega 請求時間參數。

MegaTrackerFrameFilter

在場景中控制easyar.MegaTrackerMonoBehaviour,在Unity環境下提供功能擴展。

MetaXRFrameSource

在場景中將 Meta XR 的輸出連接到 EasyAR 輸入的自定義 frame source。通過 EasyAR Sense 的自定義相機功能提供 Meta XR 支持。

這個 frame source 是一種運動跟蹤設備,在 ARSession 中會輸出運動數據。

爲了使用這個 frame source, Meta MRUK (Mixed Reality Utility Kit) 是必需的。你需要根據官方文檔配置 Meta MRUK。

MotionInputData

運動輸入數據。 包含、時間戳、相對於世界座標系的變換和跟蹤狀態。

MotionTrackerFrameSource

在場景中控制easyar.MotionTrackerCameraDeviceMonoBehaviour,在Unity環境下提供功能擴展。

這個frame source是一種運動跟蹤設備,在ARSession中會輸出運動數據。

ObjectTarget

ObjectTarget表示3D object target,它可以被 `ObjectTracker`_ 所跟蹤。 ObjectTarget的大小由 `obj` 文件決定。可以通過修改 `scale` 達到修改size的目的。 `scale` 默認爲1。 ObjectTarget通過 `ObjectTracker.loadTarget`_ 成功載入 `ObjectTracker`_ 之後可以被 `ObjectTracker`_ 檢測和跟蹤。

ObjectTargetController

在場景中控制ObjectTargetMonoBehaviour,在Unity環境下提供功能擴展。加載成功後可以使用Target訪問target數據。

target的數據會單獨加載,加載會在session成功啓動後發生,生命週期中只會完整加載一次,如加載到一半session停止,將在下次session啓動後再次加載。

ObjectTargetController.ObjFileSourceData

創建target的obj文件數據。

ObjectTargetController.SourceData

創建target的數據。

ObjectTargetController.TargetSourceData

創建target的ObjectTarget數據。

ObjectTargetParameters

ObjectTargetParameters表示創建 `ObjectTarget`_ 所需要的參數。

ObjectTrackerFrameFilter

在場景中控制easyar.ObjectTrackerMonoBehaviour,在Unity環境下提供功能擴展。

PicoFrameSource

在場景中將Pico的輸出連接到EasyAR輸入的自定義frame source。通過EasyAR Sense的自定義相機功能提供Pico支持。

這個frame source是一種運動跟蹤設備,在ARSession中會輸出運動數據。

爲了使用這個frame source, ``PICO Unity Integration SDK`` 是必需的。你需要根據官方文檔配置PICO Unity Integration SDK。

PoseUtility
RefBase
RokidFrameSource

在場景中將Rokid的輸出連接到EasyAR輸入的自定義frame source。通過EasyAR Sense的自定義相機功能提供Rokid支持。

這個frame source是一種運動跟蹤設備,在ARSession中會輸出運動數據。

爲了使用這個frame source, ``Rokid Unity OpenXR Plugin (com.rokid.openxr)`` 是必需的。你需要根據官方文檔配置Rokid Unity OpenXR Plugin。

SenseLibrary

獲取EasyAR Sense庫信息的工具。

ServiceAccessData

EasyAR雲服務鑑權數據。

SessionReport

Session 報告。用於查詢組件可用性或session損耗原因等。

SessionReport.AvailabilityReport

可用性報告。

SessionReport.AvailabilityReport.DeviceListDownloadResult

設備列表下載結果。

SessionReport.AvailabilityReport.Item

可用性項目。

SessionReport.SessionBrokenException

Session 損壞具體異常。

SparseSpatialMapBuildTargetController

在場景中控制easyar.SparseSpatialMap生成的地圖的MonoBehaviour

SparseSpatialMapBuilderFrameFilter

在場景中控制easyar.SparseSpatialMapMonoBehaviour,提供easyar.SparseSpatialMap的建圖功能。

SparseSpatialMapController

在場景中由easyar.SparseSpatialMap跟蹤的地圖的MonoBehaviour

SparseSpatialMapController.MapManagerSourceData

創建map的MapManager來源。

SparseSpatialMapController.SourceData

創建target的數據。

SparseSpatialMapController.SparseSpatialMapInfo

稀疏地圖信息。

SparseSpatialMapPointCloudRenderer

渲染稀疏空間地圖點雲成粒子。

SparseSpatialMapPointCloudRenderer.PointCloudParticleParameter

渲染點雲粒子的參數。

SparseSpatialMapTrackerFrameFilter

在場景中控制easyar.SparseSpatialMapMonoBehaviour,提供easyar.SparseSpatialMap的定位跟蹤功能。

SparseSpatialMapWorkerFrameFilter

在場景中控制easyar.SparseSpatialMapMonoBehaviour,在Unity環境下提供功能擴展。

SurfaceTargetController

在場景中控制surface target的MonoBehaviour。surface target是一個虛擬的節點,它表示在表面跟蹤中,camera移動的相對節點。

SurfaceTrackerFrameFilter

在場景中控制easyar.SurfaceTrackerMonoBehaviour,在Unity環境下提供功能擴展。

Target

Target是EasyAR裏面所有可以被 `ImageTracker`_ 或其它算法跟蹤的目標的基類。

TargetController

在場景中控制跟蹤目標的MonoBehaviour,在Unity環境下提供功能擴展。

ThreeDofCameraDeviceFrameSource

在場景中控制3DOF相機設備(ThreeDofCameraDeviceFrameSource)的MonoBehaviour,在Unity環境下提供功能擴展。

這個frame source是一種3DOF旋轉跟蹤設備,在ARSession中會輸出旋轉數據。

TokenAccessData

使用token的EasyAR雲服務鑑權數據。有關數據請訪問EasyAR開發中心(https://www.easyar.cn)獲取。

UnityPackage

獲取包信息的工具。

VideoRecorder

在場景中控制Recorder的MonoBehaviour,在Unity環境下提供功能擴展。

用戶對視頻錄製的內容有完全控制,錄屏功能不會默默地錄製屏幕或是camera輸出,錄製的視頻數據需要通過RecordFrame(RenderTexture)不斷傳入。

注意: 僅在非企業版Sense中,Android GLES2/3且關閉多線程渲染時可用。

VideoRecorder.AudioProfiles

音頻配置。

VideoRecorder.VideoProfiles

視頻配置。

VisionOSARKitFrameSource

在場景中控制VisionOS ARKit相機設備(easyar.VisionOSARKitCameraDevice)的MonoBehaviour,在Unity環境下提供功能擴展。

這個frame source是一種運動跟蹤設備,在ARSession中會輸出運動數據。

在自定義相機或頭顯上使用試用產品(個人版license、試用版XR license或試用版Mega服務等)時,EasyAR Sense每次啓動後會在固定的有限時間內停止響應。

XREALFrameSource

在場景中控制XREAL相機設備(easyar.XREALCameraDevice)的MonoBehaviour,在Unity環境下提供功能擴展。

這個frame source是一種運動跟蹤設備,在ARSession中會輸出運動數據。

在自定義相機或頭顯上使用試用產品(個人版license、試用版XR license或試用版Mega服務等)時,EasyAR Sense每次啓動後會在固定的有限時間內停止響應。

XROriginChildController

在場景中承擔需要受到控制的XROrigin子物體的根節點MonoBehaviour。如果場景中沒有手動設置這個節點,它將在被需要的時候自動被創建。

XROrigin是一個虛擬的節點,它表示在運動跟蹤的系統中,camera移動的相對節點,它將自動被選擇或創建。如果Unity XR框架的XROrigin存在,它會被選擇。

結構

ARSessionFactory.FrameSourceSortMethod

Frame source 的排序方法。

BlockInfo

稠密重建得到的模型使用三角網格表示,稱爲mesh。由於mesh會進行頻繁的更新,爲了保證效率,整個重建模型的mesh被分割成了非常多的mesh block。一個mesh block由一個邊長大概1米的立方體組成,其中有vertex和index等元素。

 BlockInfo用來描述一個mesh block的內容。其中(x,y,z)是mesh block的索引,將(x,y,z)乘上每個mesh block的物理尺寸可以獲得這個mesh block的原點在世界座標系中的座標。可以通過mesh block在世界中的位置對需要顯示的部分進行提前過濾,以節省渲染需要的時間。
 </p>
LocationResult

位置讀數。

 latitude, longitude單位爲度。
 altitude單位爲米。
 horizontalAccuracy爲水平方向精度,單位爲米。
 verticalAccuracy爲重力方向精度,單位爲米。
 </p>
Matrix33F

三階方陣。數據的排列方式爲row-major。

Matrix44F

四階方陣。數據的排列方式爲row-major。

Optional<T>
ProximityLocationResult

鄰近位置讀數。

 x, y, z單位爲米。原點爲地圖塊原點。y向上。
 accuracy單位爲米。
 timestamp, validTime單位爲秒。
 is2d表示是否不使用y。
 </p>
Unit
Vec2F

二維float向量。

Vec2I

二維int向量。

Vec3F

三維float向量。

Vec4F

四維float向量。

介面

IDisplay

顯示設備接口。

列舉

ARCoreCameraDeviceFocusMode
AREngineCameraDeviceFocusMode
ARKitCameraDeviceFocusMode
ARSession.ARCenterMode

AR中心模式。

*注意:在EasyAR Sense Unity Plugin中總共有四種中心模式。在其它AR框架比如AR Foundation中可能並不存在類似的概念,通常它們裏面的物體間相對關係的行爲與這裏的*SessionOrigin*模式一致。*

Camera和一部分AR組件之間的相對transform是受session控制的,其中的一個物體被稱爲CenterObject,它在場景中不動,其它物體相對這個CenterObject運動。這個物體是根據CenterMode的數值進行選擇的。

CenterObject 表示在Unity空間中不運動的物體或這個物體的父節點。它可能是 OriginCamera 或某個 `target` 。 `Target` 可以是包含TargetController組件的物體。在使用稀疏空間地圖和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控制。

ARSession.ARHorizontalFlipMode

水平鏡像渲染模式。

在水平翻轉狀態下,相機圖像將鏡像顯示,爲確保物體跟蹤正常,它同時會影響3D物體的渲染,因此提供兩種不同的方式。水平翻轉只能在物體感知(比如圖像跟蹤或物體跟蹤)算法下工作。

ARSession.SessionState

Session的狀態。

ARSessionFactory.ARSessionPreset

ARSession預設。

ARSessionFactory.FrameSourceSortMethod.ARCoreSortMethod

ARCore/ARCoreARFoundation frame source 的排序方法。

ARSessionFactory.FrameSourceSortMethod.ARKitSortMethod

ARKit/ARKitARFoundation frame source 的排序方法。

ARSessionFactory.FrameSourceSortMethod.MotionTrackerSortMethod

EasyAR motion tracker/System SLAM (ARCore, ARKit, AREngine) frame source 的排序方法。

ActiveController.Strategy

activeSelf的控制策略。

AndroidCameraApiType
AssembleOptions.FrameFilterSelection

挑選FrameFilter的選擇策略。

AssembleOptions.FrameSourceSelection

挑選FrameSource的選擇策略。

AxisSystemType

座標軸系統類型。

CameraDeviceDisplay.DisplayMode

顯示模式。

CameraDeviceFocusMode
CameraDeviceFrameSource.CameraDeviceOpenMethod

easyar.CameraDevice開啓方式。

CameraDevicePreference
CameraDeviceType

相機設備類型。

CameraModelType

相機模型類型。

CameraState
CameraTransformType

相機變換類型。

CloudRecognizationStatus
CloudRecognizerFrameFilter.ServiceAccessSourceType

服務訪問數據源類型。

DiagnosticsController.DeveloperModeSwitchType

開發者模式開關類型。

DiagnosticsController.MessageOutputMode

消息輸出模式。

DiagnosticsController.SessionDumpOutputMode

會話狀態轉儲輸出模式。

DisplayEmulator.RotationMode

旋轉模式。

EasyARSettings.ARCoreType

ARCore SDK配置。

EasyARSettings.AREngineType

AREngine SDK配置。

EasyARSettings.LibVariantConfig.AndroidVariant

EasyAR Sense Android庫變種。

EasyARSettings.LibVariantConfig.IOSVariant

EasyAR Sense iOS庫變種。

EasyARSettings.LibVariantConfig.VisionOSVariant

EasyAR Sense visionOS 庫變種。

ExternalDeviceFrameSource.DeviceOriginType

設備原點類型。

session origin用於設置SessionOrigin中心模式下的 transform 基準點,並用於在其它中心模式下同時變換 camera-origin 對。如果你的SDK是基於Untiy XR框架進行設計的,你會對 XR.CoreUtils.XROrigin 比較熟悉。Origin就是類似 XR.CoreUtils.XROrigin 的東西,渲染相機是它的兒子節點。用戶可以在場景中移動 origin ,而不損失由 camera-origin對定義的局部運動關係。EasyAR會使用camera-origin對來處理target中心模式,這在運行Mega時尤其有用,因爲在Mega中定義了整個地球的現實世界座標系,而 camera-origin對通常定義的是相對於某個啓動點的VIO座標系。

FrameRecorder.InternalFormat

內部數據格式。

FrameRecorder.RecorderStatus

錄製狀態。

ImageTrackerMode
InertialCameraDeviceFocusMode
LocalizationMode
LogLevel
MegaApiType

MEGA API類型。

MegaGoTargetLoadStatus

Mega Go target 加載狀態。

MegaGoTrackerError

MegaGoTracker 錯誤。

MegaGoTrackerOutputUpdateStatus

MegaGoTracker 定位響應對輸出的更新情況。

MegaGoTrackerStatus

MegaGoTracker 運行狀態。

MegaInputFrameLevel

使用Mega功能時輸入幀的等價CameraTransformType的等價自由度。

MegaLandmarkFilterStatus
MegaLocationInputMode

Mega 位置輸入模式。

MegaServiceAccessSourceType

Mega 服務訪問數據源類型。

MegaTrackerLocalizationStatus
MotionTrackerCameraDeviceFPS
MotionTrackerCameraDeviceFocusMode
MotionTrackerCameraDeviceQualityLevel
MotionTrackerCameraDeviceResolution
MotionTrackerCameraDeviceTrackingMode
MotionTrackingStatus

描述設備運動跟蹤的質量。

OptionalTag
PathType

路徑類型。

PermissionStatus
PixelFormat

PixelFormat表示圖像像素格式。所有格式的像素方向均爲從左到右,從上到下的。

SessionReport.AvailabilityReport.AvailabilityStatus

可用性狀態。

SessionReport.AvailabilityReport.DeviceListDownloadStatus

下載列表的狀態。

SessionReport.AvailabilityReport.DeviceListDownloadType

下載列表的組件類型。

SessionReport.SessionBrokenReason

Session 損壞原因。

SparseSpatialMapWorkerFrameFilter.ServiceAccessSourceType

服務訪問數據源類型。

StorageType

StorageType表示圖像、json文件、視頻或其它文件的存放位置。 StorageType指定了文件存放的根目錄,你可以在所有相關接口中使用相對於這個根目錄的相對路徑。

ThreeDofCameraDeviceFocusMode
VideoRecorder.RecordProfile

視頻配置。

VideoRecorder.RecordZoomMode

視頻縮放模式。

VideoRecorder.VideoOrientation

錄屏視頻朝向。

VideoRecorder.VideoSize

視頻尺寸。

WritablePathType

文件輸出路徑類型。