ARKit入門
流程
- 1 . ARConfiguration(建議用ARWorldTrackingConfiguration負責追蹤相機的運動)
lazy var arSessionConfiguration:ARWorldTrackingConfiguration = {
let c = ARWorldTrackingConfiguration()
c.planeDetection = .horizontal //追蹤方向 目前就這一種
c.isLightEstimationEnabled = true//自適應燈光
return c
}()
- 2 . ARSession(負責管理相機追蹤配置及3D相機座標)
lazy var arSession: ARSession = {
let s = ARSession()
return s
}()
- 3 . ARSCNView(展示3D介面)
lazy var arSCNView: ARSCNView = {
let v = ARSCNView(frame: self.view.bounds)
v.delegate = self
v.session = self.arSession
v.automaticallyUpdatesLighting = true
return v
}()
- 4 . 開啟AR相機掃描
//這個是swift的方法 OC方法 - (void)runWithConfiguration:(ARConfiguration *)configuration NS_SWIFT_UNAVAILABLE("Use run(_:options:) instead");
self.arSession.run(self.arSessionConfiguration, options: ARSession.RunOptions.resetTracking)
- 5 . 新增虛擬物體
//獲取虛擬物體的場景 這個是系統自帶的小飛機 自己匯入素材的時候如果獲取場景失敗記得檢視 BuildPhase 的CopyBundleResource 新增上
guard let scene = SCNScene(named: "art.scnassets/ship.scn") else{return}
//AR世界萬物皆節點 -有位偉人這麼說過
//每個Scene中有且只有一個節點,裡面的所有物體都是其子節點!
let shipNode = scene.rootNode.childNodes.first!
//將這個節點新增到我們檢視的Scene中 位置預設是相機位置
//可以為其設定一個位置 其屬性 open var position: SCNVector3
arSCNView.scene.rootNode.addChildNode(shipNode)
相關文章
- 14-《ARKit by Tutorials》讀書筆記1:開始入門筆記
- ARKit 入坑 2 開發篇
- ARKit 入坑 1 基礎篇
- [ARKit]12-[譯]在ARKit中建立一個時空門App:新增物體APP
- [ARKit]13-[譯]在ARKit中建立一個時空門App:材質和光照APP
- [ARKit]11-[譯]在ARKit中建立一個時空門App:準備開始APP
- ARKit 初探
- [ARKit]5-載入自定義幾何體
- 15-《ARKit by Tutorials》讀書筆記2:時空門筆記
- Developing for ARKit 1.5 update using Unity ARKit PlugindevUnityPlugin
- 初識ARKit
- [ARKit]7-ARKit1.5的圖片識別功能
- [MetalKit]37-Using-ARKit-with-Metal使用ARKit與Metal
- [MetalKit]Using ARKit with Metal part 2使用ARKit與Metal 2
- 入門入門入門 MySQL命名行MySql
- Find me - 用 ARKit 找人
- ARKit學習總結
- [MetalKit]38-Using-ARKit-with-Metal-part-2使用ARKit與Metal-2
- 如何入CTF的“門”?——所謂入門就是入門
- 何入CTF的“門”?——所謂入門就是入門
- 直擊蘋果 ARKit 技術蘋果
- scala 從入門到入門+
- makefile從入門到入門
- ACM入門之新手入門ACM
- 【小入門】react極簡入門React
- gRPC(二)入門:Protobuf入門RPC
- iOS計算機視覺—ARKitiOS計算機視覺
- ARKit 和 ARCore原理介紹(轉)
- ARKit中控制.dae動畫的播放動畫
- 《Flutter 入門經典》之“Flutter 入門 ”Flutter
- 新手入門,webpack入門詳細教程Web
- Android入門教程 | RecyclerView使用入門AndroidView
- linux新手入門――shell入門(轉)Linux
- Unity3D ARKit 參考文章Unity3D
- ARKit 如何給SCNNode貼Gif圖片CNN
- MyBatis從入門到精通(一):MyBatis入門MyBatis
- SqlSugar ORM 入門到精通【一】入門篇SqlSugarORM
- Storm入門指南第二章 入門ORM