SceneKit中的SKScene
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了SceneKit中的SKScene相关的知识,希望对你有一定的参考价值。
我正在尝试将一个动画SKScene添加到ARKit中的SCNScene。在查看WWDC 2017 session 609这似乎是可能的。在演示文稿中,代码看起来像这样......
//Get SpriteKit scene
let spriteKitScene = SKScene(fileNamed: "SpriteKitScene")
//Create plane geometry
let plane = SCNPlane(width: 10.0, height: 10.0)
//Set SpriteKit scene on the plane's material
plane.firstMaterial?.diffuse.contents = spriteKitScene
//If material double-sided, SpriteKit scene will show up on both sides of the plane
plane.firstMaterial?.isDoubleSided = true
//Create a SceneKit node for the plane
let sceneKitNode = SCNNode(geometry: plane)
//Add the Scenekit node to the SceneKit scene
scene.rootNode.addChildNode(sceneKitNode)
我可以做的事情:
- 加载SKScene
- 在关联的.swift文件中的sceneDidLoad()中添加精灵
我不能做的事情:
- 使用SKScene的.swift文件中的任何传统方法,如didMove(to)或update()。
- 在sceneDidLoad()中向场景中的节点添加动作
不确定我错过了什么。本季节的主持人展示了动画和互动的SK内容。
答案
想出这个。
didMove没有被调用,因为它在添加到diffuse.contents时不在响应者链中。
更新未被调用,因为SKScene在以这种方式添加时暂停。
以上是关于SceneKit中的SKScene的主要内容,如果未能解决你的问题,请参考以下文章
是否可以像 SKScene 一样在 SCNScene 或 SCNNode 中使用“update(_ currentTime: TimeInterval)”?
SceneKit - 在着色器修改器中访问目标颜色以进行混合