【问题标题】:SceneKit: import 3D characters inside authoring software into scene?SceneKit:将创作软件中的 3D 角色导入场景?
【发布时间】:2016-09-01 22:21:44
【问题描述】:

在 WWDC 2015 狐狸演示中,有一个代表 3D 狐狸的 SCN 文件。如果您想将狐狸整合到不同的应用程序中,请导入狐狸的 SCN 文件及其纹理贴图。

但是,如果您有在像 Cinema 4D (https://www.maxon.net/en/products/cinema-4d/overview/) 这样的创作程序中制作的 3D 角色,您如何为不同的角色生成相似的 SCN 文件? Cinema4D不能像这样导出SCN文件,你怎么办?

如果角色是动画的,这个过程会改变吗?

【问题讨论】:

    标签: ios 3d scenekit cinema-4d


    【解决方案1】:

    我正在使用 C4D r12,我想后续版本的流程应该相同。

    一种选择是为每个字符创建一个单独的文件。注意对象管理器中的组织:列出的对象层次结构将在您导入的场景文件中出现节点的场景图。这包括最终将作为 SceneKit 中的容器节点的空值。 C4D 中对象和空值的名称将是场景文件中 SCNNodes 的名称。根据需要进行此设置后,通过 File > Export... > COLLADA(*.dae) 保存

    或者,您可以使用一个文件创建所有角色,然后使用该角色容器节点的唯一名称(以前在 C4D 中为“容器”空)在 SceneKit 中解析它们。

    【讨论】:

    • 非常感谢! .DAE 文件是否还包含所有相关的纹理贴图?
    • 我想是的。到目前为止,我只在 C4D 中分配了不带纹理的材质,这些都是正确导入的。我不知道导出到 COLLADA 过程是否会重新格式化纹理,您可能需要在 C4D 中使用与 SceneKit 兼容的贴图。
    • 好的,非常感谢!您是否还需要像使用按钮或其他视觉资产一样为不同的设备创建不同的分辨率(例如 3x、2x)?
    • 我的错误,我使用了纹理。它作为独立于 DAE 的 PNG 存储在 Xcode 中,我怀疑您可以提供不同的分辨率,但我没有。我想我必须在 C4D 中将 tex 与 DAE 分开保存(当然,使用确切的名称)。我猜引用存储在 DAE 中,然后应用程序的资源会自动搜索以找到 tex。
    • 很高兴知道单独保存纹理。谢谢!
    【解决方案2】:

    Xcode 支持 collada (dae) 文件。您可以将它们导入您的资产文件夹并将它们转换为 .scn 文件。或者 Xcode 会在你编译你的应用程序时自动转换它们。

    Collada 文件还可以包含动画数据,并且可以从大多数 3D 创作程序中导出。

    【讨论】:

    • 很酷,谢谢! .DAE 文件是否还包含所有相关的纹理贴图?
    • 好的,非常感谢!您是否还需要像使用按钮或其他视觉资产一样为不同的设备创建不同的分辨率(例如 3x、2x)?
    • DAE 文件可以包含纹理贴图,只需将纹理包含在 assets 文件夹中即可。我认为您不需要不同的分辨率,我没有在任何示例中看到它。
    • 好的,谢谢!如何使用 Xcode 将 DAE 文件转换为 SCN 文件?编译应用程序不会做任何事情。
    • 它确实,如果它加载到你的场景中,Xcode 已经转换了它。否则,您可以转到编辑器下拉菜单并选择转换为 SceneKit 文件格式。
    猜你喜欢
    • 2013-06-25
    • 1970-01-01
    • 1970-01-01
    • 2016-01-09
    • 1970-01-01
    • 2020-11-27
    • 2018-01-29
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多