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