SwiftUI - 如何添加 Scenekit 场景 [英] SwiftUI - how to add a Scenekit Scene

查看:53
本文介绍了SwiftUI - 如何添加 Scenekit 场景的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

如何将 Scenekit 场景添加到 SwiftUI 视图中?

How can I add a Scenekit Scene to a SwiftUI view?

我尝试了以下 Hello World,使用标准 Ship Scene 示例...

I tried the following Hello World, using the standard Ship Scene example...

import SwiftUI
import SceneKit


struct SwiftUIView : View {
    var body: some View {

       ship()

        Text("hello World")


    }

但是没有用:

推荐答案

您不再需要使用 UIViewRepresentable.这是 SwiftUI 的更新代码

You don't need use UIViewRepresentable anymore. Here's an update code for SwiftUI

import SwiftUI
import SceneKit

struct ContentView: View {
    var scene: SCNScene? {
        SCNScene(named: "Models.scnassets/Avatar.scn")
    }

    var cameraNode: SCNNode? {
        let cameraNode = SCNNode()
        cameraNode.camera = SCNCamera()
        cameraNode.position = SCNVector3(x: 0, y: 0, z: 2)
        return cameraNode
    }

    var body: some View {
        SceneView(
            scene: scene,
            pointOfView: cameraNode,
            options: [
                .allowsCameraControl,
                .autoenablesDefaultLighting,
                .temporalAntialiasingEnabled
            ]
        )
    }
}

struct ContentView_Previews: PreviewProvider {
    static var previews: some View {
        ContentView()
    }
}

这篇关于SwiftUI - 如何添加 Scenekit 场景的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆