AR-ARKit-如何在iOS中使用網(wǎng)絡(luò)下載.dae 3D模型文件并使用
- 背景:
- 如果我們把.dae模型直接丟到沙盒里梅垄,是獲取不到的玲献。 原因是Xcode會幫我們對.scnassets文件夾里的.dae文件做一次優(yōu)化,所以iOS不能直接使用.dae文件那我們怎么做呢斟薇?
.dae文件的處理
- 第一種方法:
- 新建一個.scnassets文件,將.dae和素材放進(jìn)去,編譯计盒,找到編譯后的.scnassets, 將編譯后的該文件作為3D模型的下載文件,下載沙盒使用
- 第二種方法:
-
使用copySceneKitAssets 芽丹、 scntool 這2個命令腳本對包含了.dea和素材的.scnassets文件進(jìn)行處理北启。命令如下:
./copySceneKitAssets old.scnassets -o new.scnassets
方便起見,可將copySceneKitAssets 拔第、 scntool和old.scnassets 放在同一級目錄下咕村,詳細(xì)參考文章(1)
-
模型加載
iOS是使用SCNScene類來加載和管理3D模型的,模型加載實際上就是SCNScene的初始化蚊俺,有以下兩種方式懈涛,詳細(xì)見[SCNScene API](https://developer.apple.com/documentation/scenekit/scnscene)
- 第一種方法:init with Name
guard let myScene = SCNScene(named: "MyScene")
else { fatalError("Unable to load scene file.") }
scnView.scene = myScene // Your app's SCNView
- 第二種方法:init with URL
convenience init(url: URL, options: [SCNSceneSource.LoadingOption : Any]? = nil) throws