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
管理activeSelf的 MonoBehaviour 。
默認策略如下:TargetController默認使用ActiveWhileTracked,XROriginChildController默認使用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.CameraDevice的MonoBehaviour,在Unity環境下提供功能擴展。
這個frame source不是運動跟蹤設備,在ARSession中不會輸出運動數據。
- CameraImageRenderer
在場景中控制camera圖像渲染的MonoBehaviour。僅當session的frame sourceIsCameraUnderControl爲true時有效。
- CameraParameters
camera參數,包括圖像大小、焦距、主點、camera類型和camera相對設備自然方向的旋轉角度。
- CloudLocalizerFrameFilter
在場景中控制easyar.CloudLocalizer的MonoBehaviour,在Unity環境下提供功能擴展。
絕大多數情況下,應使用 MegaTrackerFrameFilter。
- CloudRecognizationResponse
識別請求的響應。
- CloudRecognizerFrameFilter
在場景中控制easyar.CloudRecognizer的MonoBehaviour,在Unity環境下提供功能擴展。
- DenseSpatialMapBlockController
在場景中控制easyar.DenseSpatialMap生成的地圖網格塊的MonoBehaviour。
- DenseSpatialMapBuilderFrameFilter
在場景中控制easyar.DenseSpatialMap的MonoBehaviour,在Unity環境下提供功能擴展。
- DeviceFrameSourceCamera
Frame source中提供相機幀數據的設備相機。
- DeviceFrameSourceCamera.CameraExtrinsics
相機外參,一般是標定的矩陣,表達在相機相對設備/頭的pose原點的物理偏移。
- DiagnosticsController
當前ARSession的診斷控制器。讓它成爲你的開發夥伴而非第一個關閉的組件。
- 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.TargetGizmoConfig
Target的Gizmos配置。
- EasyARSettings.UnityXROptions
與Unity XR Framework相關的配置項。
- EasyARSettings.UnityXROptions.AutoSwitchOptions
自動切換Unity XR(比如AR Foundation)物體的選項。
- EasyARSettings.Workaround
Workaround for Unity.
- EditorCameraDeviceFrameSource
在編輯器中控制easyar.CameraDevice的MonoBehaviour,僅用來提供開發診斷使用。通常當這個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.InputFramePlayer和easyar.VideoInputFramePlayer的MonoBehaviour,在Unity環境下提供功能擴展。
它將會在FrameSource是FramePlayer或者編輯器上在DiagnosticsController inspector的'Session Validation Tool'中選擇了'Frame Player'DiagnosticsController時被使用。
- FrameRecorder
在場景中控制easyar.InputFrameRecorder和easyar.VideoInputFrameRecorder 的MonoBehaviour,在Unity環境下提供功能擴展。
它會被自動組裝進Assembly。
enabled可以控制錄製開始和結束。
- FrameRecorder.RecordFinishEvent
錄製結束的事件。錄製出錯時回調參數爲false。
- FrameRecorder.RecordStartEvent
錄製開始事件。回調參數是錄製的文件名。
- FrameRecorder.RecordingConfiguration.FilePathInfo
文件路徑信息。錄製的文件路徑在Type爲PersistentDataPath時是 Path.Combine(Application.persistentDataPath, FolderPath, Name + extension),Type爲Absolute時是 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
在場景中控制ImageTarget的MonoBehaviour,在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.ImageTracker的MonoBehaviour,在Unity環境下提供功能擴展。
- InertialCameraDeviceFrameSource
在場景中控制easyar.InertialCameraDevice的MonoBehaviour,在Unity環境下提供功能擴展。
這個frame source是一種5DOF(旋轉+水平位移)跟蹤設備,在ARSession中會輸出運動數據。
- InputFrame
輸入幀。 包含圖像、camera參數、時間戳、相機相對於世界座標系的變換和跟蹤狀態。 其中,camera參數、時間戳、相機相對於世界座標系的變換和跟蹤狀態均爲可選,但特定的算法組件會對輸入有特定的要求。
- MegaBlockController
在場景中由 MegaCloudFrameFilter 跟蹤的 block 的 MonoBehaviour。
只有服務中包含對應 block ID 的數據,正確且被加載到 MegaCloudFrameFilter 的 MegaBlockController 才能在 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.MegaGoTracker的MonoBehaviour,在Unity環境下提供功能擴展。
- MegaGoTrackerLocalizationResponse
MegaGoTracker 定位的響應。
- MegaLandmarkFilterResponse
Mega Landmark filter請求的響應。
- MegaLandmarkFilterWrapper
Mega Landmark VPS雲定位過濾功能。
- MegaLocalizationResponse
Mega定位請求的響應。
- MegaRequestTimeParameters
Mega 請求時間參數。
- MegaTrackerFrameFilter
在場景中控制easyar.MegaTracker的MonoBehaviour,在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.MotionTrackerCameraDevice的MonoBehaviour,在Unity環境下提供功能擴展。
這個frame source是一種運動跟蹤設備,在ARSession中會輸出運動數據。
- ObjectTarget
ObjectTarget表示3D object target,它可以被 `ObjectTracker`_ 所跟蹤。 ObjectTarget的大小由 `obj` 文件決定。可以通過修改 `scale` 達到修改size的目的。 `scale` 默認爲1。 ObjectTarget通過 `ObjectTracker.loadTarget`_ 成功載入 `ObjectTracker`_ 之後可以被 `ObjectTracker`_ 檢測和跟蹤。
- ObjectTargetController
在場景中控制ObjectTarget的MonoBehaviour,在Unity環境下提供功能擴展。加載成功後可以使用Target訪問target數據。
target的數據會單獨加載,加載會在session成功啓動後發生,生命週期中只會完整加載一次,如加載到一半session停止,將在下次session啓動後再次加載。
- ObjectTargetController.ObjFileSourceData
創建target的obj文件數據。
- ObjectTargetController.SourceData
創建target的數據。
- ObjectTargetController.TargetSourceData
創建target的ObjectTarget數據。
- ObjectTargetParameters
ObjectTargetParameters表示創建 `ObjectTarget`_ 所需要的參數。
- ObjectTrackerFrameFilter
在場景中控制easyar.ObjectTracker的MonoBehaviour,在Unity環境下提供功能擴展。
- PicoFrameSource
在場景中將Pico的輸出連接到EasyAR輸入的自定義frame source。通過EasyAR Sense的自定義相機功能提供Pico支持。
這個frame source是一種運動跟蹤設備,在ARSession中會輸出運動數據。
爲了使用這個frame source, ``PICO Unity Integration SDK`` 是必需的。你需要根據官方文檔配置PICO Unity Integration SDK。
- 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.SessionBrokenException
Session 損壞具體異常。
- SparseSpatialMapBuildTargetController
在場景中控制easyar.SparseSpatialMap生成的地圖的MonoBehaviour。
- SparseSpatialMapBuilderFrameFilter
在場景中控制easyar.SparseSpatialMap的MonoBehaviour,提供easyar.SparseSpatialMap的建圖功能。
- SparseSpatialMapController
在場景中由easyar.SparseSpatialMap跟蹤的地圖的MonoBehaviour。
- SparseSpatialMapController.MapManagerSourceData
創建map的MapManager來源。
- SparseSpatialMapController.SourceData
創建target的數據。
- SparseSpatialMapPointCloudRenderer
渲染稀疏空間地圖點雲成粒子。
- SparseSpatialMapTrackerFrameFilter
在場景中控制easyar.SparseSpatialMap的MonoBehaviour,提供easyar.SparseSpatialMap的定位跟蹤功能。
- SparseSpatialMapWorkerFrameFilter
在場景中控制easyar.SparseSpatialMap的MonoBehaviour,在Unity環境下提供功能擴展。
- SurfaceTargetController
在場景中控制surface target的MonoBehaviour。surface target是一個虛擬的節點,它表示在表面跟蹤中,camera移動的相對節點。
- SurfaceTrackerFrameFilter
在場景中控制easyar.SurfaceTracker的MonoBehaviour,在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且關閉多線程渲染時可用。
- 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。
- ProximityLocationResult
鄰近位置讀數。
x, y, z單位爲米。原點爲地圖塊原點。y向上。 accuracy單位爲米。 timestamp, validTime單位爲秒。 is2d表示是否不使用y。 </p>
- Vec2F
二維float向量。
- Vec2I
二維int向量。
- Vec3F
三維float向量。
- Vec4F
四維float向量。
介面
- IDisplay
顯示設備接口。
列舉
- ARSession.ARCenterMode
AR中心模式。
*注意:在EasyAR Sense Unity Plugin中總共有四種中心模式。在其它AR框架比如AR Foundation中可能並不存在類似的概念,通常它們裏面的物體間相對關係的行爲與這裏的*SessionOrigin*模式一致。*
Camera和一部分AR組件之間的相對transform是受session控制的,其中的一個物體被稱爲CenterObject,它在場景中不動,其它物體相對這個CenterObject運動。這個物體是根據CenterMode的數值進行選擇的。
CenterObject 表示在Unity空間中不運動的物體或這個物體的父節點。它可能是 Origin,Camera 或某個 `target` 。 `Target` 可以是包含TargetController組件的物體。在使用稀疏空間地圖和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控制。
- 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 的排序方法。
- AxisSystemType
座標軸系統類型。
- CameraDeviceFrameSource.CameraDeviceOpenMethod
easyar.CameraDevice開啓方式。
- CameraDeviceType
相機設備類型。
- CameraModelType
相機模型類型。
- CameraTransformType
相機變換類型。
- DiagnosticsController.SessionDumpOutputMode
會話狀態轉儲輸出模式。
- 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
內部數據格式。
- MegaApiType
MEGA API類型。
- MegaGoTargetLoadStatus
Mega Go target 加載狀態。
- MegaGoTrackerError
MegaGoTracker 錯誤。
- MegaGoTrackerOutputUpdateStatus
MegaGoTracker 定位響應對輸出的更新情況。
- MegaGoTrackerStatus
MegaGoTracker 運行狀態。
- MegaInputFrameLevel
使用Mega功能時輸入幀的等價CameraTransformType的等價自由度。
- MegaLocationInputMode
Mega 位置輸入模式。
- MegaServiceAccessSourceType
Mega 服務訪問數據源類型。
- MotionTrackingStatus
描述設備運動跟蹤的質量。
- PathType
路徑類型。
- PixelFormat
PixelFormat表示圖像像素格式。所有格式的像素方向均爲從左到右,從上到下的。
- SessionReport.SessionBrokenReason
Session 損壞原因。
- StorageType
StorageType表示圖像、json文件、視頻或其它文件的存放位置。 StorageType指定了文件存放的根目錄,你可以在所有相關接口中使用相對於這個根目錄的相對路徑。
- VideoRecorder.RecordZoomMode
視頻縮放模式。
- VideoRecorder.VideoOrientation
錄屏視頻朝向。
- VideoRecorder.VideoSize
視頻尺寸。
- WritablePathType
文件輸出路徑類型。