2016-07-31 6 views
1

SceneKit 및 Collada 파일로 작업하고 있습니다. 이제 collada 파일을 art.scnassets 폴더와 내 프로젝트 루트 디렉토리에로드 할 수 있습니다. 로컬 웹 서버에서 파일을로드하려고 할 때 오류가 발생합니다. 왜 내가 이럴 수 없지?scenekit의 webserver에서 collada 파일로드

let url = NSURL(string: "http://localhost:8888/new.dae") 
let scn = try! SCNScene(URL: url!, options: nil) 


2016-07-31 17:41:29.537 biOS[3863:254446] SceneKit IO: error, COLLADA files are not supported on this platform. 
fatal error: 'try!' expression unexpectedly raised an error: Error Domain=NSCocoaErrorDomain Code=259 "The document "new.dae" could not be opened." UserInfo={NSURL=http://localhost:8888/new.dae, NSLocalizedDescription=The document "new.dae" could not be opened., NSLocalizedRecoverySuggestion=Collada is not supported by this version of SceneKit}: file /Library/Caches/com.apple.xbs/Sources/swiftlang/swiftlang-703.0.18.8/src/swift/stdlib/public/core/ErrorType.swift, line 54 

내 목표는 웹 세미나에서 콜라다 파일을 읽고 사용자에게 파일을 다운로드하도록 제안하는 것입니다. 나는 왜 오류가 발생하는지 알지 못합니다. 그런데 필자는 파일을 렌더링하기 위해 문서 미리보기를 수행했으며 XML로 문서를 렌더링하려고했습니다. 따라서 파일에 대한 액세스의 경우는 아닙니다. 도와주세요!

답변

3

나는 이것을 할 수없는 이유는 무엇입니까?

예. 불행히도.

빌드 프로세스 동안 XCode는 .scn 파일로 콜라다를 컴파일합니다. 이것은 장면 킷 고유의 바이너리 파일 형식입니다. 이렇게하면로드 파일의 성능이 향상되는 애셋 파일 (collada 파일은 XML 기반)의 크기가 줄어 듭니다. iOS 장치에서 실행중인 SceneKit은 collada 파일을로드하지 않고 .scn 파일 만로드합니다.

ModelIO를 사용하여 응용 프로그램의 일부가 아닌 리소스를로드 할 수 있지만 collada isn't one of the supported formats을 기록 할 수 있습니다.

+0

응답에 대해 감사드립니다. –

0

Xcode에서 터미널을 사용하는 것처럼 dae 파일을 변환 할 수도 있습니다. dae가있는 Xcode로 프로젝트를 빌드하고 Xcode에서 실행 한 명령을 확인하십시오 (scntool 검색). COLLADA transformations in SceneKit