如何创建 .usdz 动画?
Posted
技术标签:
【中文标题】如何创建 .usdz 动画?【英文标题】:How to create a .usdz animation? 【发布时间】:2018-12-03 04:20:43 【问题描述】:您现在可以使用与 Xcode 10 测试版捆绑的 Apple 命令行工具将 3D 模型转换为 .usdz
文件(未压缩的 zip 存档)。
将.obj
文件转换为.usdz
的示例代码:
xcrun usdz_converter magnifying_glass.obj -g frame magnifying_glass.usdz
-color_map gold-basecolor.png -normal_map gold-normal.png
-roughness_map gold-roughness.png -metallic_map gold-metallic.png
支持以下输入 3D 文件类型:
OBJ 文件 单帧 Alembic (ABC) 文件 美元文件是 .usda (ascii) 或 .usdc (binary)据我了解,OBJ 文件本身不支持动画。
单帧 Alembic 文件也不支持单帧动画。
所以我猜你需要使用链接到一系列单帧 Alembic 或单帧 OBJ 文件的 usda 文件来生成动画。
是否有任何公开可用的文档说明如何进行此操作?
usda 文件可以使用有效负载文件来引用单帧网格。下面的示例引用了 Treasure Chest 单帧 Alembic 文件几何图形。
#usda 1.0
def "Chest_Base" (
references = [ @./Chest.abc@</Chest_Base> ])
但我还没有找到任何具体的方法来将一系列 .obj
或单帧 alembic .abc
文件链接在一起以创建一个 10 秒的动画。
任何帮助或提示将不胜感激。
6 月 30 日编辑:
我现在已经成功地制作了 USDZ 文件的动画。我有一个live demo 这里的旋转齿轮和直升机。
基本上,我需要从 github 下载 usd 管道并在我的 mac 上构建它。您可以从here获得有关如何执行此操作的良好说明
请注意至少预留几个小时,构建本身大约需要一个小时。
之后我在美元管道包中运行了animated tutorial example。 Step5.usda(ascii usd 文件)有一个动画示例,我按照该示例使用旋转创建自己的动画。
如果您按照上面链接中的皮克斯教程创建 Step5.usda 文件,运行此 usdz 命令将创建一个简单的陀螺动画。
xcrun usdz_convertor Step5.usda animationTest.usdz
2018 年 7 月 10 日编辑:
usdz 还支持 alembic 资产(带有动画)。
我现在已经设法在 usdz 中制作了一个简单的动画(使用 alembic 文件格式)。但是,我尝试的角色的骨骼动画不起作用。
我使用 Blender 和 Modo Alembic 导出器导出了 Alembic 资产...结果相同。
UV 材质也没有正确映射到网格。 uv 缩放和映射出了点问题……材料碎片化了。在这个阶段,我不知道这是否是一个错误,或者我是否在这里做错了什么。 Apple forum上有一些关于这个uv映射问题的讨论
2018 年 9 月 8 日编辑:
这是一个快速发展的领域,我相信随着时间的推移会出现更多处理 usdz 动画创作的方法。然而,目前制作变换、骨骼、混合形状或变形动画 usdz 文件的最佳且成本最低的方法(开源)是使用托管在 GitHub 上的名为 glTF2usd 的命令行工具。
该工具可以将glTF动画文件转换为usda文件(中间文件类型),用于创建usdz文件。它还应该很快支持直接创建 usdz,无需使用 Apple 的 usdz_converter 命令行工具从 usda -> usdz 转到。
目前仅支持 1 个动画组。一些关于旋转的错误仍然存在,--use-euler-rotation 句柄可用于帮助更平滑的旋转。
我一直在将使用该工具创建的 usdz 动画发布到在线 usdz 画廊www.fusionar.app
【问题讨论】:
骨骼骨骼动画怎么样,我们如何构建带有骨骼动画和纹理的USDZ模型? 我尝试过带有骨骼动画的搅拌机、modo Alembic 导出器,但没有成功。在 Xcode beta 10 中打开的 Alembic 文件附有动画文件,但由于某种原因它们无法运行。我不确定如何直接使用 Usd 来制作骨骼动画……我找不到任何文档或示例。我认为目前是观望的情况。 Alembic 文件和扭曲的纹理也存在问题。 关于骨架动画的美元文档 => graphics.pixar.com/usd/docs/api/usd_skel_page_front.html。据推测,皮克斯可能会在不久的将来发布 UsdSkel 示例/教程。 XCode 10 Beta 4 似乎在转换 Alembic ABC 时向 USDA 提供了更多描述。动画似乎还没有起作用...... OBJ -> USDZ 仅支持静态网格。 Alembic (ABC) -> USDZ 仅支持变换动画(位置、旋转、缩放)。要获得骨骼骨骼动画 -> USDZ,您必须使用由 pixar 提供的完整版 Maya + USD Plugin(此建议由 USD pixar 团队提供)。鉴于 Maya 完整许可证的成本为 3,500 美元……我希望 Apple 将努力降低访问这些新框架的成本。 【参考方案1】:更新日期:2021 年 12 月 10 日
USDZ 动画
您可以在 Autodesk Maya 2022 中轻松 import、制作动画然后导出 USDZ
、USD
、USDA
和 USDC
模型,并预装 Pixar Renderman 或 Maya USD 插件。您需要做的就是知道如何在 Maya 中 animate 您的模型(无论是 Asset Animation
还是 Transform Animation
),另一个 – 就像说“奶酪”一样简单。
此外,USDZ
中的简单 Transform Animation
模型在 Apple Reality Composer
中也是可能的。
为此,只需将 USDZ
模型拖放到 Reality Composer 的场景中,应用您需要的任何行为,然后将结果导出为 USDZ
文件。
USDZ 架构
如果您喜欢 Python 脚本,您可以使用 USDZ Schemas 应用简单的变换动画。
带有动画的FBX
在 Maya 2022 中创建动画后,使用菜单烘焙动画:
Edit -> Keys -> Bake Simulation
然后将您的场景导出为.fbx
:
File –> Export All (option box) –> FBX Export (dropdown menu)
现在是时候使用以下终端命令为 Xcode 13/12/11 转换您的 FBX 文件了:
usdzconvert ~/Desktop/model.fbx -v
如果您使用的是 Xcode 10,终端中的命令如下所示:
xcrun usdz_converter ~/Desktop/model.fbx ~/Desktop/model.usdz -v
关于如何在终端中使用usdzconvert
命令的详细说明您可以看到HERE。
【讨论】:
你如何在你的 mac 上预览 .usdz 文件?显示在 Xcode 中打开的图像? 抱歉,“预览”是什么意思?每个人都可以在 macOS Mojave 中预览usdz
格式。 Mac OS 10.14 内置了Preview
应用程序,可以播放usdz
文件(与ios 12 相同)。
或者您可以简单地选择一个文件并按Spacebar
播放您的usdz
文件。
好吧,很酷,空格键起作用了,抱歉我不知道那个快捷方式。我也在预览中查看我的 usdz 文件,但没有得到任何动画,所以我想也许我使用的预览器与你不同,但看起来我的方法有问题。我导出为 Alembic 缓存以及作为父级的定位器,然后运行 xcrun usdz_converter 命令但没有得到任何动画结果。真的很令人沮丧。
感谢您的帮助,但我仍然无法为我的 .usdz 获得任何动画。也许如果我概述了我的流程,您可能会看到我做错了什么。 1. 全部导出到 Alembic - 在我的情况下,这会导出平移和旋转。然后,我将 .abc 导入回 Maya 以确保它正常工作。 2. 运行 .abc 文件的 xcrun 命令以创建它所做的 .usdz,文件大小与 .abc 相似。将 .usdz 拖放到 xcode 中,但不获取动画。尝试将组节点添加到网格 alembic 导出,但 .usdz 仍然不保留动画。有什么想法吗?【参考方案2】:
现在 Apple 提供了一种更简单的方法来转换几乎任何文件(我建议在 Blender 中使用 glTF/ glb 作为导出选项):
Reality Converter
它是 2021 年 1 月 发布的一个简单的 GUI 工具,您将文件拖放到其中,它会给您一个 usdz 文件。包括网格、材质和动画。对于download,您需要一个 Apple 开发者帐户。
【讨论】:
以上是关于如何创建 .usdz 动画?的主要内容,如果未能解决你的问题,请参考以下文章