Sprite kit 有没有办法在SceneKit场景中包含SpriteKit场景?

Sprite kit 有没有办法在SceneKit场景中包含SpriteKit场景?,sprite-kit,scenekit,Sprite Kit,Scenekit,我想知道是否可以在SceneKit场景中包含SpriteKit场景,如果可以,如何实现?是的 可以将精灵工具包场景(SKScene)指定为场景工具包中材质属性(SCNMaterialProperty)的内容 我遇到了一些关于这个主题的问题,而且似乎没有太多实际的代码示例,所以这里是另一个。希望这会有所帮助: SKSpriteNode *someSKSpriteNode; // initialize your SKSpriteNode and set it up.. SKScene *tvSK

我想知道是否可以在SceneKit场景中包含SpriteKit场景,如果可以,如何实现?

是的


可以将精灵工具包场景(
SKScene
)指定为场景工具包中材质属性(
SCNMaterialProperty
)的
内容

我遇到了一些关于这个主题的问题,而且似乎没有太多实际的代码示例,所以这里是另一个。希望这会有所帮助:

SKSpriteNode *someSKSpriteNode;

// initialize your SKSpriteNode and set it up..

SKScene *tvSKScene = [SKScene sceneWithSize:CGSizeMake(100, 100)];
tvSKScene.anchorPoint = CGPointMake(0.5, 0.5);
[tvSKScene addChild:someSKSpriteNode];

// use spritekit scene as plane's material

SCNMaterial *materialProperty = [SCNMaterial material];
materialProperty.diffuse.contents = tvSKScene;

// this will likely change to whereever you want to show this scene.
SCNVector3 tvLocationCoordinates = SCNVector3Make(0, 0, 0);

SCNPlane *scnPlane = [SCNPlane planeWithWidth:100.0 height:100.0];
SCNNode *scnNode = [SCNNode nodeWithGeometry:scnPlane];
scnNode.geometry.firstMaterial = materialProperty;
scnNode.position = tvLocationCoordinates;

// Assume we have a SCNCamera and SCNNode set up already.

SCNLookAtConstraint *constraint = [SCNLookAtConstraint lookAtConstraintWithTarget:cameraNode];
constraint.gimbalLockEnabled = NO;
scnNode.constraints = @[constraint];

// Assume we have a SCNView *sceneView set up already.
[sceneView.scene.rootNode addChildNode:scnNode];

你想在scene Kit场景中如何处理Sprite Kit场景?@DavidRönnqvist例如,我会有一个电视的3D节点,我的SpriteKit场景将是电视的屏幕,因此它将位于一个平面节点上。你也可以使用SpriteKit
SKScene
作为整个SceneKit场景的覆盖。您可以使用将SceneKit内容放入SpriteKit场景中。不过,我还没有试着看看SpriteKit和SceneKit中的SceneKit可以达到多少级别它可以工作,但我的场景不会在SCNGeometry对象上播放。我只看到没有动画的静态纹理。它应该播放吗?@RuslanK-它没有播放,请检查SKScene.isPaused是否设置为false