SceneKit에서 확장자가 없는 Scene 파일을 읽을 수 없습니다.

2601 단어 SwiftSceneKitiOS
iOS의 SceneKit에서 로컬에 저장된 Scene 파일(scn)을 다운로드하는 데 실패했습니다.다음 세 가지 모드 모두.
// Scene としてロード
let scene = try SCNScene(url: sceneFileURL, options: nil)

// Node としてロード
if let referenceNode = SCNReferenceNode(url: sceneFileURL) {
    referenceNode.load()
}

// Scene Source としてロード
let sceneSource = SCNSceneSource(url: sceneFileURL, options: nil)
이것은 컨트롤러로 출력된 오류 로그입니다.
[SceneKit] Error: This file cannot be opened (version is too old)
판본이 너무 낡다
그럴 리가 없어!
심사숙고한 결과, 우리는 파일이 반드시 .scn 확장자가 있어야만 불러올 수 있다는 것을 발견하였다.(관리상의 이유로 다운로드한 파일은 확장자 없이 저장됩니다.)
아래와 같이 Data 로 읽고 입력으로 하면 읽을 수 있기 때문에 확장자를 검사하지 않아도 됩니다
let sceneData = try Data(contentsOf: sceneFileURL)
let sceneSource = SCNSceneSource(data: sceneData, options: nil)
(동작 확인 환경: iOS12.2)

좋은 웹페이지 즐겨찾기