具有移动对象的场景套件视图

Scene Kit View with moving Object

如何使用带有 swift 4.

的场景套件视图在我的简单视图应用程序中显示移动的 3D 对象

例如windows中的bee.glb文件,我正在使用这四个文件:

  1. body.bmp
  2. body.jpg
  3. 大众-大众-beetle.mtl
  4. 大众-大众-beetle.obj

    import UIKit
    import SceneKit
    import ARKit
    
    class ViewController: UIViewController {
    
    @IBOutlet weak var sceneView: SCNView!
    
    override func viewDidLoad() {
    super.viewDidLoad()
    
    
    // 1: Load .obj file
    let scene = SCNScene(named: "volkeswagon-vw-beetle.obj")
    
    // 2: Add camera node
    let cameraNode = SCNNode()
    cameraNode.camera = SCNCamera()
    // 3: Place camera
    cameraNode.position = SCNVector3(x: 0, y: 10, z: 35)
    // 4: Set camera on scene
    scene!.rootNode.addChildNode(cameraNode)
    
    // 5: Adding light to scene
    let lightNode = SCNNode()
    lightNode.light = SCNLight()
    lightNode.light?.type = .omni
    lightNode.position = SCNVector3(x: 0, y: 10, z: 35)
    scene?.rootNode.addChildNode(lightNode)
    
    // 6: Creating and adding ambien light to scene
    let ambientLightNode = SCNNode()
    ambientLightNode.light = SCNLight()
    ambientLightNode.light?.type = .ambient
    ambientLightNode.light?.color = UIColor.darkGray
    scene?.rootNode.addChildNode(ambientLightNode)
    
    // Allow user to manipulate camera
    sceneView.allowsCameraControl = true
    
    // Show FPS logs and timming
     sceneView.showsStatistics = true
    
    // Set background color
    sceneView.backgroundColor = UIColor.white
    
    // Allow user translate image
    sceneView.cameraControlConfiguration.allowsTranslation = false
    
    // Set scene settings
    sceneView.scene = scene
    }
    
    }
    

输出为:

"3DVideo[6430:105708] [SceneKit] Error: Physically based lighting model is not supported by the OpenGL renderer, using Phong instead (3) 2019-09-02 03:29:13.297536-0700 3DVideo[6430:105708] [SceneKit] Error: Physically based lighting model is not supported by the OpenGL renderer, using Phong instead (2) 2019-09-02 03:29:13.308381-0700 3DVideo[6430:105708] [SceneKit] Error: Physically based lighting model is not supported by the OpenGL renderer, using Phong instead"

我通过将我的文件扩展名从 .obj 更改为 .dae.Because obj 文件没有任何动画来解决此问题