iOS11 如何将SKVideoNode 添加到ARKit-SceneKit?
How to add SKVideoNode to ARKit-SceneKit in iOS 11?
有没有办法将SKVideoNode添加到ARKit场景(Scenekit)中?我尝试将 SKVideoNode 添加为 SCNPlane 几何漫反射内容,但它不起作用,
let videoNode = SKVideoNode(fileNamed: "0.mov")
videoNode.size = CGSize(width: 200, height: 100)
videoNode.alpha = 0.8
videoNode.play()
self.videoNode = videoNode
let plane = SCNPlane(width: 0.05, height: 0.05)
let newMaterial = SCNMaterial()
newMaterial.isDoubleSided = true
newMaterial.diffuse.contents = self.videoNode
plane.materials = [newMaterial]
let node = SCNNode(geometry: plane)
parent.addChildNode(node)
SKNode
不是 supported types for SceneKit material property contents 之一。它的任何子类都不是。
如果你想将 SpriteKit 内容映射到 SceneKit material,方法是设置一个 SKScene
作为 material 属性 内容。然后该场景可以包含任意数量或类型的 SpriteKit 节点。
我遇到了完全相同的问题。通过在我创建 Sprite Kit Scene 时设置大小来修复它:
let spriteKitScene = SKScene(size: CGSize(width: 640, height: 480))
希望能解决您的问题!
有没有办法将SKVideoNode添加到ARKit场景(Scenekit)中?我尝试将 SKVideoNode 添加为 SCNPlane 几何漫反射内容,但它不起作用,
let videoNode = SKVideoNode(fileNamed: "0.mov")
videoNode.size = CGSize(width: 200, height: 100)
videoNode.alpha = 0.8
videoNode.play()
self.videoNode = videoNode
let plane = SCNPlane(width: 0.05, height: 0.05)
let newMaterial = SCNMaterial()
newMaterial.isDoubleSided = true
newMaterial.diffuse.contents = self.videoNode
plane.materials = [newMaterial]
let node = SCNNode(geometry: plane)
parent.addChildNode(node)
SKNode
不是 supported types for SceneKit material property contents 之一。它的任何子类都不是。
如果你想将 SpriteKit 内容映射到 SceneKit material,方法是设置一个 SKScene
作为 material 属性 内容。然后该场景可以包含任意数量或类型的 SpriteKit 节点。
我遇到了完全相同的问题。通过在我创建 Sprite Kit Scene 时设置大小来修复它:
let spriteKitScene = SKScene(size: CGSize(width: 640, height: 480))
希望能解决您的问题!