AR-ARKit-如何在iOS中使用网络下载.dae 3D模型文件并使用
- 背景:
- 如果我们把.dae模型直接丢到沙盒里,是获取不到的。 原因是Xcode会帮我们对.scnassets文件夹里的.dae文件做一次优化,所以iOS不能直接使用.dae文件那我们怎么做呢?
.dae文件的处理
- 第一种方法:
- 新建一个.scnassets文件,将.dae和素材放进去,编译,找到编译后的.scnassets, 将编译后的该文件作为3D模型的下载文件,下载沙盒使用
- 第二种方法:
-
使用copySceneKitAssets 、 scntool 这2个命令脚本对包含了.dea和素材的.scnassets文件进行处理。命令如下:
./copySceneKitAssets old.scnassets -o new.scnassets
方便起见,可将copySceneKitAssets 、 scntool和old.scnassets 放在同一级目录下,详细参考文章(1)
-
模型加载
iOS是使用SCNScene类来加载和管理3D模型的,模型加载实际上就是SCNScene的初始化,有以下两种方式,详细见[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
网友评论