我刚刚开始使用SceneKit,我有一些代码可以将立方体渲染到屏幕上。 它会显示查找,但一旦我添加相机节点,立方体就不再出现在屏幕上。 鉴于我将立方体节点的位置设置为 0,0,0,并且相机的位置相同,我无法弄清楚出了什么问题。 我尝试将SCNView
的pointOfView
属性设置为相机节点,但这不起作用。
以下是用于澄清的代码:
func setup() {
box = SCNBox(width: 30, height: 30, length: 30, chamferRadius: 5)
shapeNode.geometry = box
shapeNode.position = SCNVector3(x:0, y:0, z:0)
mainNode.addChildNode(shapeNode)
scene.rootNode.addChildNode(mainNode)
sceneKitView = SCNView(frame:bounds, options:nil)
sceneKitView.autoenablesDefaultLighting = true
sceneKitView.allowsCameraControl = true
sceneKitView.scene = scene
sceneKitView.backgroundColor = UIColor.blackColor()
addSubview(sceneKitView)
// cameraNode.camera = SCNCamera()
// cameraNode.position = SCNVector3Make(0, 0, 10)
// scene.rootNode.addChildNode(cameraNode)
// sceneKitView.pointOfView = cameraNode
}
如果您的相机和立方体都在(0, 0, 0)
则相机在立方体内并且看不到它。您可以使立方体的材质doubleSided
,以便可以看到背面的三角形,但您可能只想以类似(0, 0, 100)
移动相机(相机的视角沿负 Z 轴,盒子的大小为 30)。