从swift中art.scnassets中的文件夹加载3D模型

时间:2018-01-31 00:36:26

标签: ios swift xcode scenekit arkit

我有关于加载/显示位于Xcode中art.scnassets文件夹内的文件夹中的多个3D模型的问题。请耐心等待,因为我是swift和iOS编程的新手。

我的基本程序是我有一个QR码,我的应用程序将扫描并返回产品名称。(我已经编程了这个并且它正在工作)。一旦我有了这个名字,我想搜索这个名字,找到art.scnassets中同名的文件夹。此文件夹将保存与产品相关的零件的3D模型。我想要做的是一旦找到这个文件夹将所有3D模型加载到窗口中的某种表格视图中,这整个搜索和加载到各种表格中是我不知道该怎么做或从哪里开始。

请有人能够指出我正确的方向。我不一定在寻找代码(有例子会很好)但是有关如何执行此操作或在何处查找信息的一些指导。一旦我有工作,我可以上传一些代码,如果我卡住了。

如果有什么不清楚的地方,请告诉我,我会尝试解释

先谢谢你的帮助

1 个答案:

答案 0 :(得分:0)

您可以检索art.scnassets的子文件夹中的项目,我已经在之前的项目中完成了这项工作,我必须将文件夹中的子节点分组以便组织起来。当我从那里加载节点时,我用文件夹和项目名称指定了它的路径,例如(我正在使用Objective-C)

@"art.scnassets/Frame/frame.scn"

我使用以下函数创建了我的对象

- (void)loadModel {

    SCNScene *virtualObjectScene = [SCNScene sceneNamed:_path];
    SCNNode *wrapperNode = [[SCNNode alloc] init];

    for (SCNNode *child in virtualObjectScene.rootNode.childNodes) {
        [wrapperNode addChildNode:child];
    }

    [self addChildNode:wrapperNode];
}

现在,我不确定是否循环遍历子目录中的所有内容(即我从未这样做过),但在其他目录中肯定是可行的,例如在iOS / macOS开发中可用的FileManager 。

以下问题可能对此有所帮助:

Iterate through files in a folder and its subfolders using Swift's FileManager