
Scene Kit
|
257
然后我们可以检索其中的对象,如节点或者几何对象:
//
找到名为
'Critter'
的节点,然后加到场景中
let critterNode = critterData?.entryWithIdentifier("Critter",
withClass: SCNNode.self)
if critterNode != nil {
critterNode?.position = SCNVector3(x: 5, y: 0, z: 0)
scene.rootNode.addChildNode(critterNode!)
}
讨论
绝大部分
3D
编辑工具都支持导出为
COLLADA
格式的功能,包括
3D Studio
Max
,
Maya
,以及
Blender
。
COLLADA
文件可以包含多个对象,它就是一个仓库,
可以包含一大堆东西。我们可以在
3D
编辑工具中用不同节点层级、材质和灯光定
义一个完整的场景,然后将它们加载到场景中。
此外,如果在项目导航窗体中点击一个
COLLADA
文件,我们可以直接在
Xcode
中查看文件中的内容。
8.13 3D
物理学
问题
我们想让
3D
对象具备物理学特性。
解决方案
要向对象增加物理学特性,我们需要提供两个信息:碰撞体的形状,以及该对象的
physicsBody
。
首先定义形状:
var critterPhysicsShape : SCNPhysicsShape?
if let geometry = critterNode?.geometry ...