4

我有一个 collada 文件,它包含一个多维数据集,从中我将数据导出到文件(只是原始字节),然后将字节导入 iOS。一切都好,我检查了数据,在 iOS 和 osx 上的所有顶点看起来都一样。

但是,当我检查 Collada 文件时,法线与 SceneKit 的法线非常不同

在 SceneKit 中,法线为 0、-1 或 1。在 Collada 文件中,我有 -2.831...、-1.31...等。

任何见解表示赞赏,

谢谢

D

4

1 回答 1

1

在 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 的方法。)

于 2014-06-03T22:04:24.957 回答