初心者です。やりたいことはARkitを用いて画像マーカーを置いて物体を出現させる。
Unexpectedly found nil while unwrapping an Optional valueというエラーが出てしまったので質問しました。どのように解決できますか?
発生している問題・エラーメッセージ
Unexpectedly found nil while unwrapping an Optional valueというエラーが「画像認識の参照画像をアセットから習得の3行目に出てしまいました。ネットでこのエラーについて調べたところ、オプショナル型というものが出てきました。nilの居場所がないということなのでしょうか?
import UIKit import SceneKit import ARKit class ViewController: UIViewController, ARSCNViewDelegate { @IBOutlet var sceneView: ARSCNView! override func viewDidLoad() { super.viewDidLoad() // Set the view's delegate sceneView.delegate = self //シーンを作成して登録 sceneView.scene=SCNScene() //ライトの追加 sceneView.autoenablesDefaultLighting=true; //画像認識の参照用画像をアセットから習得 let configuration=ARImageTrackingConfiguration() configuration.trackingImages=ARReferenceImage.referenceImages(inGroupNamed:"AR Resource",bundle:nil)! sceneView.session.run(configuration) } //マーカーが検出されたとき呼ばれる func renderer(_renderer:SCNSceneRenderer,didiAdd node:SCNNode,for anchor:ARAnchor){ //ノードの作成 let boxNode=SCNNode() //ジオメトリと位置の設定 boxNode.geometry=SCNBox(width:0.05,height:0.05,length:0.05,chamferRadius:0) boxNode.position.y+=0.025 //画像マーカーの子要素にする node.addChildNode(boxNode) } }
確認ですが、
・storyboard 上で sceneView に outlet 接続しましたか?
・asset catalog に認識したい画像を追加しましたか?
また、オプショナル型は Swift の基本なので、AR の前にしっかり習得すべきかと…。
あなたの回答
tips
プレビュー