2017-10-02 1 views
0

나는 코드 줄을 썼다 그러나 나는 다음과 같은 오류보고 시작할 때 :스위프트 SceneKit 및로드 3D 모델

2017-10-02 19: 53: 38.856088 + 0200 SceneViewApp [38539: 1262873] fatal error: unexpectedly found nil while unwrapping an Optional value

아직 파일이 표시된 폴더에 있습니다.

나는 .dae 만로 3D 모델을 저장 한 후에는

가 어떻게이 문제를 해결할 수 .scn로 변환? 오류가이 선에 무슨 일이 일어나고 있기 때문에 당신에게

class GameViewController: UIViewController { 

    override func viewDidLoad() { 
     super.viewDidLoad() 

     let scene = SCNScene(named: "3Dmodels/coffee.scn")! 
     _ = scene.rootNode.childNode(withName: "coffee.scn", recursively: true)! 
    } 
} 
+0

질문에 선택 사항을 강제로 해제하는 두 줄이 있습니다. 그 중 어떤 줄에이 오류가 있습니까? –

+0

마지막 줄만 오류를 표시합니다. – PietroPutelli

답변

0

감사합니다 : 그 childNode(withName:recursively:) 반환 nil를 의미 이름 "coffee.scn"자식 노드가없는 것처럼

_ = scene.rootNode.childNode(withName: "coffee.scn", recursively: true)! 

이 보이는 그러면 치명적 오류가 발생하도록 강제 해제됩니다 (!).


작업중인 자산이 없으면 노드의 이름을 알려주지 못합니다.

노드 이름에 파일 확장자 (".scn")가 포함 된 이유가 표시되지 않으므로 노드가 단지 "coffee"라고 할 수 있습니다. Xcode에서 자산 파일을 열고 찾고있는 노드를 선택하고 노드 속성에서 이름을 확인하십시오. 모든 자식 노드를 열거하고 (enumerateChildNodes(_:) 사용) 이름을 인쇄하여 가능한 모든 노드 이름 목록을 볼 수도 있습니다.