概說
LiGScannerKit 提供掃描光標籤的功能,取得以光標籤座標系為基準的 6DoF 數據
LiGPlayerKit 提供簡便AR渲染功能,AR場景數據是需試透過 LiG Cloud Site 跟 Light Space App 所建造的場景
建置步驟一: Swift Package Manager
LiGScannerKit: https://gitlab.com/lig-corp/ios-scanner-sdk-sample (3.2.0)
LiGPlayerKit: https://gitlab.com/ligrd/ios-player-sdk (1.2.1)
LiGPlayerKit is using GLB as primary model file. So we need to import a GLTF lib to load.
(Optional): https://github.com/magicien/GLTFSceneKit (0.4.1)
Info.plist
- 加上 Camera access
- Privacy – Camera Usage Description
- 加上 Network status access
- NSAppTransportSecurity
- NSAllowsArbitraryLoads
- NSAppTransportSecurity
LightScanner 初始化
#import LiGScannerKit
請在 AppDelegate 裡面的 didFinishLaunchingWithOptions 裡面加入
let productkey = “…..”
LiGScanner.sharedInstance().initialize(productkey)
設定 Delegate
#import LiGScannerKit
extension ViewController: LiGScannerDelegate {
func scannerStatus(_ status: ScannerStatus) {}
func scannerResult(_ ids: [LightID]) {}
}
Scanner 狀態: LightIDStatus
- .authenticationOk
- .noCameraPermission
- .noNetworkPermission
- …
LightID: 光標籤 model
含有以下屬性
- deviceID: 唯一編號
- status: LightIDStatus
- coordinateX, coordinateY: X/Y 在螢幕座標系的百分比 (0..1)
- isDetected: 當 deviceID 被辨識成功會回傳 True
- isReady: 在 isDetected 的狀態下,6DoF數據的精準度達到一定的標準就會回傳 True
- position: 在光標籤的座標系上,此設備的座標
- rotation: 在設備鏡頭的座標系上,光標籤的 Rotation Vector
- translation: 在設備鏡頭的座標系上,光標籤的 Translation Vector (位移)
- transform: 從「鏡頭」到「光標籤」的座標系轉換矩陣 (Transform Matrix)
開始掃描
LiGScanner.sharedInstance.start()
停止掃描
LiGScanner.sharedInstance.stop()
LiGPlayer 的準備工作
let context = LiGPlayer.sharedContext
context.sceneView = sceneView
context.config = config
context.delegate = self
context.gestureDelegate = self
context.run()