如何在watchOS 3上使用WKInterfaceSCNScene渲染场景?

时间:2016-09-30 11:40:26

标签: watchkit scenekit watch-os-3

我尝试将ScenKit场景添加到WKInterfaceController,创建了IBOutlet WKInterfaceSCNScene * sceneInterface; (如文档所述)并将场景属性放入界面构建器中,直到刚创建的SceneKit场景,但我看不到手表上的场景。

我也试过使用presentScene方法并以编程方式安装场景如下:

SCNScene *scene = [SCNScene sceneNamed:@"circleScene.scn"];

// create and add a camera to the scene
SCNNode *cameraNode = [SCNNode node];
cameraNode.camera = [SCNCamera camera];
[scene.rootNode addChildNode:cameraNode];

// place the camera
cameraNode.position = SCNVector3Make(0, 0, 15);

// create and add a light to the scene
SCNNode *lightNode = [SCNNode node];
lightNode.light = [SCNLight light];
lightNode.light.type = SCNLightTypeOmni;
lightNode.position = SCNVector3Make(0, 10, 10);
[scene.rootNode addChildNode:lightNode];

// create and add an ambient light to the scene
SCNNode *ambientLightNode = [SCNNode node];
ambientLightNode.light = [SCNLight light];
ambientLightNode.light.type = SCNLightTypeAmbient;
ambientLightNode.light.color = [UIColor darkGrayColor];
[scene.rootNode addChildNode:ambientLightNode];

[self.sceneInterface presentScene:scene withTransition:[SKTransition fadeWithDuration:1] incomingPointOfView:lightNode completionHandler:nil];

我做错了什么?

1 个答案:

答案 0 :(得分:0)

在调试&#34时要检查的标准事项;我的场景是空白的"问题:

  • 场景加载正确吗?
  • 相机是否指向场景中的物体?尝试添加SCNLookAtConstraint
  • 相机位置是否位于物体外?
  • SCNView是否使用您创建的相机?
  • 是否正确设置了相机的Z范围? (设置automaticallyAdjustsZRange:YES开头)
  • sceneInterface的插座是否连接?

如果您在Playground中运行此代码,则可以更轻松地让所有活动部件协同工作。