在SceneKit中,我们使用overlay来绘制SpriteKit节点
///setup overlays
scnView.overlaySKScene = [[AAPLOverlayScene alloc] initWithSize:scnView.bounds.size];
现在我想将一些sknodes树绘制并快照到sktexture:
SKNode *tmp=[[SKNode alloc] init];
//draw some images on tmp
//....
SKTexture *tmpT = [self.view textureFromNode:tmp]; //crash
在日志中:***由于未捕获的异常'NSInvalidArgumentException'而终止应用程序,原因:' - [SCNView textureFromNode:]:无法识别的选择器发送到实例0x12e5265a0'
正如我所见,它说的是“SCNView”,而不是spritekit。那么,在这种情况下如何从节点获取纹理?
UPD 是的,我知道screenshot of scene。这是开销,我只需要sknode。
答案 0 :(得分:1)
SCNView没有此功能(它没有实现" textureFromNode")。 也许您可以尝试实例化SKView来执行SKNode的快照。
SKView *snapshotView = [[SKView alloc] initWithFrame:...];
SKTexture *tmpT = [snapshotView textureFromNode:tmp];