我已经开始构建一个超级泡泡游戏:)使用SceneKit,但有一件事我不能决定。
所以..。我使用第三方工具创建了一个3d模型,然后将其导出为.dae文件,之后我在SCNView上添加了.dae文件。
例如,假设我需要在SCNView上添加2个3d模型。在我看来,有两种方法可以从SCNView上的.dae文件中添加3d模型:
1-创建一个包含两个模型的.dae文件,然后在SCNView上添加一个场景
2-在单独的.dae文件中导出每个3d模型,并在SCNView上添加两个.dae文件
我认为这两种方式都很好,但我想知道是否有最佳实践来添加几个3d模型从.dae文件在SCNView上。
发布于 2015-05-15 19:02:53
根据您拥有的型号,这两个都是不错的选择。
如果你有很多种类的模型,比如角色,环境,道具等,我会选择每个文件。这不是最优化的方式,但它会在创建和编辑资源时为您节省大量时间。
如果您使用的是2D形式的单个Spritesheet,例如道路的一部分,建筑物的集合,过山车轨道;我会创建一个文件,并从中查询我需要的节点。
这更多的是关于它对你来说有多方便,因为在加载和准备场景之后,这并不重要。
发布于 2015-05-29 16:12:24
我尝试限制.dae文件的数量,但我仍然使用不止一个。
如果您计划将任何纹理与.dae文件一起导出,最好尝试限制.dae文件的数量,以便更容易维护(和重用)用作纹理的任何图像文件。我会使用.dae文件
我为“静态”世界使用了一个.dae文件,当我读取这个文件时,我创建了一个.flattenedClone()来进行优化。
然后,我从其他.dae文件中选择动态对象,例如:(仅限示例代码)
let importedDae = SCNScene(named: "3d.scnassets/units.dae")!
let warrior = importedDae.rootNode.childNodeWithName(
"Warrior", recursively: true)!.clone() as! SCNNode
myRealGameScene.rootNode.addChildNode(warrior)
我个人更喜欢创建和控制我自己的SCNScene对象,并且更像库一样使用导入的.dae文件,每个文件都对相同类型的对象进行分组。
https://stackoverflow.com/questions/30232020
复制相似问题