将带有物理的 collada 场景加载到 SceneKit
Posted
技术标签:
【中文标题】将带有物理的 collada 场景加载到 SceneKit【英文标题】:Loading collada scene with physics to SceneKit 【发布时间】:2014-11-15 13:39:05 【问题描述】:当我在搅拌机中制作一个立方体并将其设置为 Active,然后导出到 collada 时,在 SceneKit 中这个对象仍然没有物理体,我必须通过 node.physicsBody = [SCNPhysicsBody dynamicBody] 自己制作它;但是 SceneKit 不尊重我在搅拌机中的设置,例如,当我在 SceneKit 中将碰撞形状设置为球体形状时,它仍然是一个盒子形状。 但即使我收到警告“SceneKit:警告,物理形状生成中尚不支持非三角形列表元素类型”
感谢您的帮助:)
【问题讨论】:
【参考方案1】:SceneKit 的物理系统不直接映射到 Collada 规范中的系统,因此它不会导入在 DAE 文件中定义的物理特性。 (另外,Blender 中的物理特性可能不会全部导出到 DAE。)
在 SceneKit 中设置物理时,您应该设置物理体的类型(通过使用 dynamicBody
创建它)和碰撞形状(physicsShape
属性)。如果您不设置后者,SceneKit 会尝试从网格中生成一个 - 正如您所见,这更昂贵并且不适用于所有网格。相反,从基本几何之一(如SCNSphere
)创建SCNPhysicsShape
。
【讨论】:
【参考方案2】:好的,现在我知道了……新的 Blender 不再支持物理导出(它曾经支持)。
【讨论】:
以上是关于将带有物理的 collada 场景加载到 SceneKit的主要内容,如果未能解决你的问题,请参考以下文章
带有 collada 文件的 Android vuforia
Android 将 FBX 或 Collada(.dae) 加载到 Android Studio Activity 中