微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

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

如何解决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 举报,一经查实,本站将立刻删除。