如何使用带有Swift 4的场景工具包视图在“简单视图”应用程序中显示移动的3D对象。
例如Windows中的bee.glb文件,我正在使用这四个文件:
volkeswagon-vw-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]错误:OpenGL渲染器不支持基于物理的照明模型,而改用Phong(3) 2019-09-02 03:29:13.297536-0700 3DVideo [6430:105708] [SceneKit]错误:OpenGL渲染器不支持基于物理的光照模型,请改用Phong(2) 2019-09-02 03:29:13.308381-0700 3DVideo [6430:105708] [SceneKit]错误:OpenGL渲染器不支持基于物理的照明模型,请改用Phong“
答案 0 :(得分:0)
我通过将文件扩展名从.obj更改为.dae来解决此问题,因为obj文件没有任何动画