我刚刚开始使用 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
}
1 回答
如果您的相机和立方体都在
(0, 0, 0)
,那么相机就在立方体内部,无法看到它。您可以制作立方体的材质doubleSided
,以便 back-facing 三角形可见,但您可能只想将相机移动到类似(0, 0, 100)
的位置(相机的视角方向是负 Z 轴,而您的方框大小为 30)。