七天帶你初探AR世界-Day 3


七天帶你初探AR世界-Day 3

Day 3

在昨天已經在 art.scnassets 檔中加入好3D模組了,那麼今天來教大家如何實現在AR世界裡吧!
首先,我們宣告一個 function 來導入檔案中的模組,並設置模組在AR空間中的位置,那接下來會在下面作說明:

1 func addCat(x: Float = 0, y: Float = -0.3, z: Float = -0.5) {
2    guard let catScene = SCNScene(named: "art.scnassets/models/wolf.obj") else { return }
3    object = SCNNode()
4    let catSceneChildNodes = catScene.rootNode.childNodes
5    for childNode in catSceneChildNodes {
6        object.addChildNode(childNode)
7    }
8    object.position = SCNVector3(x, y, z)
9    object.scale = SCNVector3(0.0005, 0.0005, 0.0005)
10    sceneView.scene.rootNode.addChildNode(object)
  }
  • 宣告func,並給予位置座標,以下是AR空間改念圖。
  • 宣告 catScene 初始化 SCNScene() 導入模組,如果沒有此檔案便會 return
  • 初始化一個 SCNNode 物件,叫 object
  • 宣告 catSceneChildNodescatScene 的子節點。
  • for...in 跑完 catSceneChildNodes 的節點並加入 object 物件上。
  • object.position 以宣告func時的x,y,x為位置。
  • object.scale 調整模組比例大小。
  • 顯示在 sceneView 上。

當然你必須做一個動作觸發此 func ,還記得在第一天拉的 Button 嗎?就是為了現在準的!

@IBAction func addCatAction(_ sender: Any) {
    addCat()
}

各位亦可放在:

 override func viewDidLoad() {
     addCat()
     ...
 }

此方法會在你已開啟APP就會顯示3D模組囉!

#ARKit #3Dmodel #Day3
相信有在接觸資訊方面的人們都對Augmented Reality(AR)不陌生,多少都有聽過,但你是否有想過了解過其中的道理呢?這邊就以Swift語法帶著各位對AR又有更進一步的瞭解,並在七天中一步一步的實作出簡易的AR App吧!






Related Posts

深入學習 LSD-SLAM - 2

深入學習 LSD-SLAM - 2

矽谷機器人公司一覽 & 相關資源

矽谷機器人公司一覽 & 相關資源

MTR04_0617

MTR04_0617

[筆記] Git 超新手入門

[筆記] Git 超新手入門

[day 06] yield & yield*: 生成器

[day 06] yield & yield*: 生成器

Chapter 8&9 建立分析團隊&活用KPI及資訊主頁

Chapter 8&9 建立分析團隊&活用KPI及資訊主頁



Comments