Tag: collada

无法从caching目录显示3D文件

你能帮我确定这里的问题吗? 看来我无法从caching目录显示3d文件。 我有这个错误SceneKit IO:错误,COLLADA文件不支持在这个平台上。 保存在caching目录中的zip文件包含纹理的.dae文件和.png文件。 使用Scene Kit,您可以: 导入COLLADA 3D对象并构build由摄像头,灯光和网格组成的场景。 https://developer.apple.com/library/mac/documentation/3DDrawing/Conceptual/SceneKit_PG/Introduction/Introduction.html 谢谢。 dispatch_queue_t queue = dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0); dispatch_async(queue, ^{ NSURL *url = [NSURL URLWithString:@"my url" NSData *data = [NSData dataWithContentsOfURL:url options:0 error:&error]; if(!error) { NSArray *paths = NSSearchPathForDirectoriesInDomains(NSCachesDirectory, NSUserDomainMask, YES); NSString *path = [paths objectAtIndex:0]; NSString *zipPath = [path stringByAppendingPathComponent:@"zipfile.zip"]; [data writeToFile:zipPath options:0 error:&error]; if(!error) { […]

如何将一个dae导入到SceneKit for ARKit

如果我运行Xcode的ARKit项目模板,我可以按照预期移动默认的船。 我已经尝试导入一些从Blender导出的DAE模型,将船舶切换到新的项目,但保持代码相同。 他们总是看得见,但在相机前面的位置。 如果我尝试在模型中移动,它会粘在摄像机的前面,不会留在同一个虚拟空间中。 我也尝试从另一个教程导入一个dae,并按预期工作。 当将3d模型导出为Collada dae文件以确保它将锚定在ARKit中的某个位置时,是否需要设置?

如何在iOS SceneKit中将.dae文件加载到SCNNode中?

我无法理解.dae文件中的几何graphics应该如何加载到iOS SceneKit场景图中。 我知道你可以直接将.dae文件加载到SCNScene中: // create a new scene let scene = SCNScene("test.scnassets/test.dae") 我也知道你可以创build一个空的SCNScene,并添加内置的3D对象作为子节点: let scene = SCNScene() var sphereNode = SCNNode() sphereNode.geometry = SCNSphere(radius: 1.0) scene.rootNode.addChildNode(sphereNode) 在第二种情况下,你可以加载一个.dae文件到SCNNode而不是使用内置的对象吗? 还是预计所有.dae文件需要首先加载到SCNScene? 如果后者是真的,那你怎么把SCNNode对象放到SCNScene下的场景图层次结构中的正确位置?编辑#1: 这现在对我来说是工作的,这是@FlippinFunbuild议的修改版本。 let url = NSBundle.mainBundle().URLForResource("test.scnassets/test", withExtension: "dae") let source = SCNSceneSource(URL: url, options: nil) let block = source.entryWithIdentifier("ID10", withClass: SCNGeometry.self) as SCNGeometry scene.rootNode.addChildNode(SCNNode(geometry: block)) 但也许有更好的办法? 以上涉及手动加载.dae树中的每个标识符。 […]

在从Blender导出到COLLADA / .dae格式以供在SceneKit中使用时包括纹理

我能够通过使用COLLADA / .dae格式导出在Blender中创build的在SceneKit中使用的网格,但是iOS设备上不会显示任何纹理。 此外,在OS X上预览将不会打开从Blender导出的任何COLLADA文件 – 但侧边栏预览显示网格。 出口需要哪些选项才能完成这项工作?

SceneKit。 哪个方法是?

似乎大多数3D创作应用程序使用Z作为“上”轴。 而SceneKit使用Y作为“上”轴。 SceneKit允许您将场景加载为Collada .DAE文件。 通过以下任一方式加载场景时: SCNScene(named: String?, inDirectory: String?, options: [NSObject : AnyObject]?) 要么 SCNSceneSource(URL url: NSURL!, options: [NSObject : AnyObject]!) 您可以指定选项,包括SCNSceneSourceConvertToYUpKey和SCNSceneSourceConvertUnitsToMetersKey。 设置这些相应地,我期望各个节点被转换和缩放时,我把它们join到我自己的场景构造的节点在加载的场景。 但是这些选项似乎没有效果。 let myScene = SCNScene(named: "Scene.dae", inDirectory: nil, options: [SCNSceneSourceConvertToYUpKey:true, SCNSceneSourceConvertUnitsToMetersKey:25.4]) 我误解了这些选项参数的含义吗?

使用iOS场景套件加载未压缩的collada文件

我需要加载我在iOS上下载的collada文件,我打算使用Scene Kit来做到这一点。 但是阅读文档,我发现XCode在编译时压缩collada文件,而Scene Kit只能加载压缩文件。 经过一番研究之后,我碰到了这篇文章 ,作者能够findXCode使用的脚本,并使用它们压缩文件。 问题是,我无法在我的服务器上运行它们。 所以我的问题是:有没有其他的方式来加载使用场景套件的collada文件? 还是有一个地方我可以find一个algorithm来做自己的压缩?

如何将.dae转换为SceneKit中的.scn文件

这是苹果Fox示例代码的截图。 正如你所看到的,它们使用.scn文件格式作为graphics对象。 他们在wwdc2015video中明确指出,这是由艺术家完成的。 到目前为止,我只使用.dae,直到最近才确信这是唯一支持的格式。 我的问题是,如何将存储在.dae文件中的对象导出到.scn文件? 编辑:这是我得到,如果去编辑器 – >转换为SceneKit场景文件格式(.scn)