因此,从我所做的研究中,似乎有一种方法可以在其他窗口中渲染Scenekit,而不是通过NSRect或.xib文件创建自己的窗口。我想让Scenekit显示在Motion 5的画布里面。 Motion 5使用FxPlug SDK,并有一个名为renderOutput的方法,用于向画布显示内容。
mdates.DayLocator(interval=1)
当我将渲染器显示到控制台时的输出显示所有节点,摄像机和场景都分配了内存,如下所示:
- (BOOL)renderOutput:(FxImage *)outputImage
withInfo:(FxRenderInfo)renderInfo
{
BOOL retval = YES;
SCNRenderer *renderer;
SCNScene *_scene;
SCNNode *cameraNode;
_scene = [SCNScene scene];
renderer = [SCNRenderer rendererWithContext:renderInfo.sharedContext options:nil];
renderer.autoenablesDefaultLighting = YES;
renderer.playing = YES;
renderer.loops = YES;
renderer.showsStatistics = YES;
renderer.scene = _scene;
SCNCamera *camera = [SCNCamera camera];
cameraNode = [SCNNode node];
cameraNode.camera = camera;
[_scene.rootNode addChildNode:cameraNode];
renderer.pointOfView = cameraNode;
renderer.sceneTime = renderInfo.time.frame;
NSLog(@"Renderer Info: %@", renderer);
return retval;
}
我尝试使用SceneKit将节点和图像添加到场景中,无论我做什么,我都无法在Motion 5的画布上显示任何内容。我不知道我错过了什么,但似乎有些事情是在控制台中分配数据,但我似乎在这里缺少一个重要的部分。我知道这个问题非常具体,但是如果有人对SceneKit有任何了解,以及如何在Motion 5中显示SceneKit。