添加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];
}
答
,似乎SCNView
实际上是控制器的视图的子视图,而不是控制器查看自己。你的代码崩溃了吗? (这将确认self.view
不是SCNView
而是简单的UIView
)。
您可能希望将SCNView
作为控制器的视图,或者创建IBOutlet
,以便您可以从视图控制器检索和操作SceneKit视图。
答
我想办法为:
- 添加Scenekit 框架在构建阶段库
- 制作名为SCNView
- 的方法在你starViewController
- 配置您的场景和设置节点-awakeFromNib {}
- 导入Scenekit/Scenekit.h在你的故事板检查一个seprate类您的场景套件视图的定制类必须命名为您在第2步中制作的类
- 现在很容易将您的scenekit类调用分配和初始化在starViewController方法
- 从我所看到的界面生成器截图欣赏Scenekit :)
从我在界面生成器屏幕截图中看到的,似乎'SCNView'实际上是控制器视图的子视图,而不是控制器的视图本身。你的代码崩溃了吗? (这将确认'self.view'不是'SCNView',而是一个简单的'UIView')。 – mnuages
哦,是的,这就是为什么,它现在起作用。我没有意识到SCNView必须直接在控制器视图本身下,非常感谢。 :) –