![](https://img.haomeiwen.com/i4238179/453373654fade708.png)
展示的效果
![](https://img.haomeiwen.com/i4238179/77b4216309c0bc29.png)
这是我的工程目录
import UIKit
import SceneKit
class ViewController: UIViewController,SCNSceneRendererDelegate {
var scnView : SCNView?
override func viewDidLoad() {
super.viewDidLoad()
self.initUI();
}
func initUI(){
self.view.backgroundColor = UIColor.init(red: 192/255, green: 192/255, blue: 192/255, alpha: 1.0);
//创建一个场景
self.scnView = self.createScnView(frame: UIScreen.main.bounds)
self.view.addSubview(self.scnView!)
//创建一个摄像头
let cameraNode = self.createCamere()
self.scnView!.scene!.rootNode.addChildNode(cameraNode)
//创建一个物体并增加到主场景里面
let node = self.creatNodeWithName(path: "Model.scnassets/box", postfix: "dae")
self.scnView!.scene!.rootNode.addChildNode(node)
}
func createScnView(frame : CGRect) ->SCNView {
let sc = SCNView.init()
sc.frame = frame
sc.allowsCameraControl = true
sc.showsStatistics = true
sc.autoenablesDefaultLighting = true
sc.backgroundColor = UIColor.clear
sc.delegate = self
sc.isPlaying = true
sc.scene = SCNScene.init()
return sc
}
func createCamere() -> SCNNode{
let cameraNode = SCNNode.init()
cameraNode.camera = SCNCamera.init()
cameraNode.camera!.automaticallyAdjustsZRange = true
cameraNode.position = SCNVector3Make(0, 1, 10)
return cameraNode
}
func creatNodeWithName(path : String ,postfix : String) -> SCNReferenceNode{
let url = Bundle.main.url(forResource: path, withExtension: postfix)
let customNode = SCNReferenceNode(url: url!)
customNode!.position = SCNVector3Make(0, 0, 0)
customNode!.scale = SCNVector3Make(0.01, 0.01, 0.01)
customNode!.load()
return customNode!
}
func renderer(_ renderer: SCNSceneRenderer, updateAtTime time: TimeInterval) {
}
}
我用该方案已经成功上架了APP在App Store 名字叫"十一仓" ,如果喜欢的话,请点赞哦
网友评论