2013-06-15 6 views
4

콜라주 파일이 있습니다. 큐브가 들어 있습니다.이 파일을 데이터 (원시 바이트 만)로 내보내고 바이트를 iOS로 가져옵니다. 좋은 점은 데이터를 검사 한 결과 iOS 및 osx의 정점에 모두 똑같이 보입니다. 나는 콜라다 파일을 검사 할 때콜라다에서 SceneKit으로 iOS까지

그러나, 법선 내가 -2.831있는 콜라다 파일에서 법선 중 0입니다 SceneKit가 SceneKit에서

을 가지고 것과는 매우 다른 -1 또는 1 ... -1.31 ... 등

상관 통찰력 알

,

감사

D에서 신속한

+1

:의 Obj-C에서

let url = NSBundle.mainBundle().URLForResource("scene", withExtension: "dae") var error: NSErrorPointer? = nil let scene = SCNScene.sceneWithURL(url, options: nil, error: error!) 

: llada는 장면에 파일을 .dae 만 (내가 엑스 코드의 멋쟁이 자동 완성을 사용 스위프트로의 전환을 생각.) 파일의 법선이 정규화 된 것처럼 보이지 않습니다 (길이 1). 어쩌면 프로그램에서 도형을 내보낼 때 해당 프로그램에 신경 쓰지 않을 수도 있습니다. –

+0

콜라다 파일 내에서 법선이 정규화되지는 않았지만 장면 킷 내에 있었습니까? 이게 중요합니까? 아니면이게 정상입니까? – Darren

+0

-2.831이 -1보다 커서 정규화되지 않았습니다. 대부분의 경우 서페이스 법선의 각도 만 고려하므로 최종 결과는 시각적으로 중요합니다. 이 차이가 데이터에서 볼 수 있고 화면에 보이는 것이 예상대로라면 나는 걱정할 것이 없다고 말할 것입니다. –

답변

1

, 다음 코드는 공동로드

NSURL *url = [[NSBundle mainBundle] urlForResource:@"scene" withExtension:@"dae"]; 
NSError *error; 
SCNScene *scene = [SCNScene sceneWithURL:url options:nil error:&error]; 

http://adcdownload.apple.com//videos/wwdc_2012__sd/session_504__introducing_scene_kit.mov 참조

+2

이것은 DAE 자체를로드하지 않습니다. iOS에서 SceneKit은 Xcode의 앱 번들 리소스에 추가 된 DAE 파일 만로드 할 수 있습니다. Xcode가 앱을 빌드하면 DAE를 압축 된 장치 최적화 형식으로 변환합니다. – rickster

+0

프로젝트에 파일을 가져 오는 경우 파일을 최적화하는 것이 가능하지만 API가 URL을 사용하고 파일 경로가 아닌 것으로 간주하므로 서버에서 관련 파일을 직접로드하는 경우에도 작동해야합니다. – podperson

+1

[docs] (https://developer.apple.com/library/prerelease/ios/documentation/SceneKit/Reference/SCNSceneSource_Class/index.html)를 참조하십시오. iOS의 Xcode로 구운 애셋 또는 NSKeyedArchiver 직렬화 된 SCN 객체. Xcode를 사용하여 DAE를 구운 다음 결과 파일을 서버에 저장할 수 있다고 가정합니다. – rickster