iOS SDK

概說

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

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()