我正在使用以下方法来确定相机可以看到哪些 SCNNode。
[self.scnView nodesInsideFrustumWithPointOfView:cameraNode];
然而返回的数组总是空的。我将场景设置如下:
-(void)setupScene{
scene = [SCNScene scene];
cameraNode = [SCNNode node];
cameraNode.camera = [SCNCamera camera];
[scene.rootNode addChildNode:cameraNode];
cameraNode.position = SCNVector3Make(0, 0, 0);
[scene.rootNode addChildNode:cameraNode];
self.scnView.scene = scene;
self.scnView.showsStatistics = YES;
self.scnView.backgroundColor = [UIColor clearColor];
}
在某个随机时间,在创建场景后,我在场景中添加了一个 SCNNode:
testnode = [Testnode createNode];
testnode.position = SCNVector3Make(0, 0, -10);
[self.scnView.scene.rootNode addChildNode:testnode];
在我的设备上,节点“testnode”在我的屏幕上可见,但 nodesInsideFrustumWithPointOfView: 不返回任何内容。
编辑:我尝试将视点更改为聚光灯对象并测试“testnode”是否在其截锥体内。这是我在屏幕上看到的:http: //imgur.com/a/C3XGu然而数组仍然返回空。测试节点是白色立方体。