美文网首页
SceneKit一个场景加载其他模型

SceneKit一个场景加载其他模型

作者: 小点草 | 来源:发表于2017-10-10 21:12 被阅读292次

    在一个3D场景中不止一个模型,还可能会有更多模型,那么如何在一个场景中加载更多的模型呢。

    方法一:

    回顾上一章http://www.jianshu.com/p/903b3b14b9eb,说到如何导入DAE文件。

    同理,加载更多的模型就需要创建多个scene,但我们只取里面的rootNode,不需要整个scene对象。上代码

    最后将新的节点附加到指定场景上就OK了。

    这个方法的好处是简单快捷,但是对于一些复杂的模型会在创建瞬间占用大量内存,有可能导致内存不足而闪退。

    方法二:

    这个就较复杂了,不过好处也很明显,在创建的瞬间不会占用太多内存(除非贴图超级大),但是需要对几何算法有深入认识。这里只提供想法。

    不知道大家有没有注意到SCNGeometry这个类呢,它可以根据提供的顶点坐标,法向量以及贴图坐标生成一个几何体,不论什么图形,只要提供正确的数据就可以生成该图形。

    每个模型文件里面都有包含顶点坐标,法向量以及贴图坐标,我们可以将其提取出来,根据一定算法生成顶点索引(有些模型文件也会提供顶点索引),然后使用SCNGeometry生成模型。

    至于如何使用SCNGeometry类,我将会在下一篇文章中道出。

    SCNGeometry的使用

    今天介绍了载入多个模型的两种方法,大家可以尝试一下,有问题可以留言或加Q289193866交流一下

    相关文章

      网友评论

          本文标题:SceneKit一个场景加载其他模型

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