我有一个 collada 文件,它包含一个多维数据集,从中我将数据导出到文件(只是原始字节),然后将字节导入 iOS。一切都好,我检查了数据,在 iOS 和 osx 上的所有顶点看起来都一样。
但是,当我检查 Collada 文件时,法线与 SceneKit 的法线非常不同
在 SceneKit 中,法线为 0、-1 或 1。在 Collada 文件中,我有 -2.831...、-1.31...等。
任何见解表示赞赏,
谢谢
D
在 Swift 中,以下代码会将 collada .dae 文件加载到场景中:
let url = NSBundle.mainBundle().URLForResource("scene", withExtension: "dae")
var error: NSErrorPointer? = nil
let scene = SCNScene.sceneWithURL(url, options: nil, error: error!)
在 Obj-C 中:
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
(我想出了使用 XCode 的花花公子自动完成转换为 Swift 的方法。)