2017-07-27 9 views
1

私はXcode 9 BetaとSwift 4を使用しています。シングルビューアプリケーションでARKitを追加する方法

シングルビューアプリケーションの作成。シングルアプリケーションビューで議論のリアリティ機能を使用するにはどうすればよいですか? これは私のコードです。それには何の誤りもありません。私は自分のシーンで何の結果も得られない。

import UIKit 
import ARKit 
import SceneKit 

class ViewController: UIViewController { 

@IBOutlet weak var scaneView: ARSCNView! 
override func viewDidLoad() { 
    super.viewDidLoad() 

    let scene = SCNScene(named: "art.scnassets/ship.scn")! 

    scaneView.scene = scene 
} 

override func viewWillAppear(_ animated: Bool) { 
    super.viewWillAppear(animated) 

    let configuration = ARWorldTrackingSessionConfiguration() 

    scaneView.session.run(configuration) 
} 

override func viewWillDisappear(_ animated: Bool) { 
    super.viewWillDisappear(animated) 

    scaneView.session.pause() 
} 

override func didReceiveMemoryWarning() { 
    super.didReceiveMemoryWarning() 
} 

} 

答えて

2

あなたは が、私は正常に動作し、このコードを考え、あなたのシーンビューに結果を表示するデリゲートメソッドにARSCNViewDelegateが欠落している

import UIKit 
import ARKit 
import SceneKit 

class ViewController: UIViewController, ARSCNViewDelegate { 

@IBOutlet weak var sceneView: ARSCNView! 

override func viewDidLoad() { 
    super.viewDidLoad() 

    sceneView.delegate = self 

    sceneView.showsStatistics = true 

    let scene = SCNScene(named: "art.scnassets/ship.scn")! 

    sceneView.scene = scene 
} 

override func viewWillAppear(_ animated: Bool) { 
    super.viewWillAppear(animated) 

    let configuration = ARWorldTrackingSessionConfiguration() 

    sceneView.session.run(configuration) 
} 

override func viewWillDisappear(_ animated: Bool) { 
    super.viewWillDisappear(animated) 

    sceneView.session.pause() 
} 

override func didReceiveMemoryWarning() { 
    super.didReceiveMemoryWarning() 

} 

} 
関連する問題