添加SceneKit场景文件以查看控制器

问题描述:

这是我第一次将SceneKit添加到我的应用中, 我创建了一个名为“StarScene.scn”的SceneKit文件,我想将其显示到我的StarViewController中,但它不起作用,我只是不知道如何做正确的。请帮忙。下面的代码和截图。非常感谢。添加SceneKit场景文件以查看控制器

- (void)viewDidLoad 
{ 

    [super viewDidLoad]; 

    SCNView *myView = (SCNView *)self.view; 
    myView.scene = [SCNScene sceneNamed:@"StarScene.scn"]; 
    myView.allowsCameraControl = YES; 
    myView.autoenablesDefaultLighting = YES; 
    myView.backgroundColor = [UIColor lightGrayColor]; 

} 

enter image description here

enter image description here

enter image description here

+1

从我在界面生成器屏幕截图中看到的,似乎'SCNView'实际上是控制器视图的子视图,而不是控制器的视图本身。你的代码崩溃了吗? (这将确认'self.view'不是'SCNView',而是一个简单的'UIView')。 – mnuages

+0

哦,是的,这就是为什么,它现在起作用。我没有意识到SCNView必须直接在控制器视图本身下,非常感谢。 :) –

,似乎SCNView实际上是控制器的视图的子视图,而不是控制器查看自己。你的代码崩溃了吗? (这将确认self.view不是SCNView而是简单的UIView)。

您可能希望将SCNView作为控制器的视图,或者创建IBOutlet,以便您可以从视图控制器检索和操作SceneKit视图。

我想办法为:

  1. 添加Scenekit 框架构建阶段库
  2. 制作名为SCNView
  3. 的方法在你starViewController
  4. 配置您的场景和设置节点-awakeFromNib {}
  5. 导入Scenekit/Scenekit.h在你的故事板检查一个seprate类您的场景套件视图的定制类必须命名为您在第2步中制作的类
  6. 现在很容易将您的scenekit类调用分配初始化在starViewController方法
  7. 从我所看到的界面生成器截图欣赏Scenekit :)