SceneKit动态加载.dae模型步骤详解

作者: 沛2016 | 来源:发表于2018-02-01 16:49 被阅读516次
研究背景
一个.dae模型大概有1M那么大  如果有很多个模型  那内置的方法明显不适用

这时候我们应让用户下载到沙盒  然后我们从沙盒里读取
现状
如果只是把模型直接丢到沙盒里,那是获取不到的, 原因是Xcode会帮我们对.scnassets文件夹里的.dae文件做一次优化
解决办法
把Xcode的优化步骤,我们用手动优化一次。
具体流程

1.打开你的Xcode,在 /Contents/Developer/usr/bin/ 路径里找到 copySceneKitAssets 、 scntool 这2个脚本

2.创建一个文件夹 命名为model 然后把脚本放进去

3.在把模型和图片都放在一个文件夹,命名为duilian.scnassets 如图:


image.png

注意 图片要和模型同一级 如果用一个文件夹装图片,则后面模型读取不了图片

4.把 duilian.scnassets文件夹 放进model 文件夹 和2个脚本同级,如图:


5.运行终端,然后用cd 命令进入 model文件夹 如图:


image.png

6.然后运行脚本命令./copySceneKitAssets duilian.scnassets -o model.scnassets
,如图:


image.png

我码字的这台电脑运行不了脚本 所以才会有 xcrun: error: unable to find utility "scntool", not a developer tool or in PATH 出现 正常是没有的 但是我队友在撸代码 就不打搅他的 我们知道就好

如果没有问题 则会生成一个名为model.scnassets的文件夹,

image.png

然后把这个文件夹放进沙盒就可以了。

这样子就可以模拟下载文件后放进沙盒里的步骤了。

相关文章

网友评论

  • Hany鸿辉:你好楼主,感谢分享,另外请问加载的时候出现[SceneKit] Error: COLLADA files are not supported on this platform.这个错误,怎么解决?
    Hany鸿辉:@李境沛 另外,我也遇到unable to find utility "scntool", not a developer tool or in PATH这个错误,不知道是不是这个原因造成的,请问这个怎么解决呢
    Hany鸿辉:@李境沛 dae格式文件来的
    沛2016:你的文件是什么格式的啊 他说不支持COLLADA
  • Carry_DK:加载沙盒里的dae文件怎么加载啊,我这一直崩溃
    Carry_DK:@李境沛 有具体加载的demo代码可以看下吗:yum:
    沛2016:@Carry_DK 我没试过 你先定位到具体一个方法 或一局代码 然后想办法替换 试试
    Carry_DK:而且只有xcode9.2上跑才崩溃,很奇怪
  • 平原河流:xcrun: error: unable to find utility "scntool", not a developer tool or in PATH
    也出现了这个问题,怎么才能正常?
    平原河流:@李境沛 恩
    沛2016:@平原河流 解决就好 你们公司是用dae模型吗
    平原河流:已解决

本文标题:SceneKit动态加载.dae模型步骤详解

本文链接:https://www.haomeiwen.com/subject/tcgrzxtx.html