Swiftui - 将 sk3dnode 添加到 spriteview 未在 watchOS 上显示

问题描述

我正在尝试使用 SK3DNode 在我的 SpriteView 中呈现一个 .scn 模型。但我没有看到模型出现。

我已经在常规的 iOS SwiftUI 进程中尝试过此代码,并在显示模型的情况下获得了所需的结果,但由于某种原因,在 Watch 应用上使用完全相同的代码时,.scn 模型从未出现.我应该注意到粒子仍然出现在手表上,只是 .scn 模型没有。

我可以在手表应用上展示带有场景视图的 .scn 模型,因此模型本身似乎没有任何问题。

SpriteKitScene

override init(size: CGSize) {
    super.init(size: size)

    // Scene Background
    self.backgroundColor = .red
    
    let magicParticleEmitter = SKEmitterNode(fileNamed: "magicParticles.sks")
    addChild(magicParticleEmitter!)
    magicParticleEmitter?.position = CGPoint(x: size.width/2,y: size.height/2)

    // 3D Node
    let objectNode = SK3DNode(viewportSize: size)
    objectNode.scnScene = SCNScene(named: "ship.scn")!
    addChild(objectNode)
    objectNode.position = CGPoint(x: size.width/2,y: size.height/2)

    let camera = SCNCamera()
    let cameraNode = SCNNode()
    cameraNode.camera = camera
    objectNode.pointOfView = cameraNode
    objectNode.pointOfView?.position = SCNVector3(x: 0,y: 0,z: 60)
    objectNode.zPosition = -100
}

内容视图

ZStack {
   GeometryReader { proxy in
      SpriteView(scene: SpriteKitScene(size: proxy.size))
   }
}

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)