Xcode 如何创建.usdz动画?

Xcode 如何创建.usdz动画?,xcode,animation,augmented-reality,arkit,usdz,Xcode,Animation,Augmented Reality,Arkit,Usdz,现在,您可以使用与Xcode 10 beta捆绑的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

现在,您可以使用与Xcode 10 beta捆绑的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
支持以下输入三维文件类型:

  • OBJ文件
  • 单帧Alembic(ABC)文件
  • USD文件.usda(ascii)或.usdc(二进制)
据我所知,OBJ文件本身不支持动画

单帧Alembic文件也不支持动画,因为它是单帧文件

所以我猜你需要使用usda文件链接到一系列单帧Alembic或单帧OBJ文件来生成动画

关于如何进行这项工作,是否有公开的文件

usda文件可以使用有效负载文件来引用单帧网格。下面的示例引用了一个单帧alembic文件几何体

#usda 1.0

def "Chest_Base" (
     references = [ @./Chest.abc@</Chest_Base> ])
{

}
编辑2018年7月10日:

usdz还支持alembic资产(带有动画)

我现在已经成功地用usdz制作了一个简单的动画(使用alembic文件格式)。然而,我尝试的角色骨骼动画不起作用

我用Blender和Modo Alembic导出器导出Alembic资产。。。同样的结果

UV材质也未正确映射到网格。uv缩放和映射有问题。。。材料是零碎的。在这个阶段,我不知道这是否是一个bug,或者我在这里是否没有做错什么。关于此uv映射问题,在上有一些讨论

编辑2018年9月8日:

这是一个快速发展的领域,我相信随着时间的推移,将会出现更多解决usdz动画创作的方法。然而,目前制作变换、骨骼、混合变形或变形动画usdz文件的最佳且成本最低的方法(开源)是使用GitHub上托管的命令行工具,名为

该工具可以将glTF动画文件转换为usda文件(中间文件类型),以创建usdz文件。它还应该很快支持直接创建usdz,不再需要使用Apple usdzèU converter命令行工具从usda->usdz开始

当前仅支持1个动画组。关于旋转仍然存在一些缺陷,--使用euler旋转手柄可以帮助实现更平滑的旋转

我一直在将我用该工具创作的usdz动画发布到在线usdz图库中,更新日期:2020年12月25日

美国农业部动画 使用预装插件,您可以在Autodesk Maya 2020中轻松导入、制作和导出
USDZ
USD
USDA
USDC
模型。你所需要做的就是知道如何在Maya中为你的模型设置动画,而另一个——就像说“奶酪”一样简单。对于复杂的
资源动画
或简单的
变换动画
,可以将Autodesk Maya与预装的Pixar Renderman模块一起使用

此外,在
Reality Composer 1.5
中,可以使用
USDZ
模型的简单
变换动画

为此,只需将
USDZ
模型放入Reality Composer的场景中,应用所需的任何行为,然后将结果导出为
USDZ
文件


动画ABC

在macOS中使用
Alembic
文件格式是你真正的痛苦。但我已经发展了自己的方法。因此,请在适用于macOS的Autodesk Maya 2020中设置3D模型的动画。然后,使用菜单烘焙动画/动力学:

Edit ->  Keys -> Bake Simulation
通过以下方式检查用户界面中是否存在
Alembic
模块:

Windows -> Settings/Preferences –> Plug-in Manager -> AbcExport.bundle
之后,请转到:

Cache –> Alembic Cache -> Export All to Alembic...
此命令允许您创建
abc
文件。它的播放速度比必须的慢25倍,但您可以在Xcode中修复它



现在,使用以下终端命令为Xcode 11或Xcode 12转换动画:

usdzconvert ~/Desktop/sphere.abc -v
如果在终端中使用Xcode 10命令,则如下所示:

xcrun usdz_converter ~/Desktop/sphere.abc ~/Desktop/anime.usdz -v

您将获得具有相同播放速度(慢25倍)的
usdz
文件

让我们在Xcode 10中调整播放速度。创建一个项目,拖放您的
usdz
文件,单击
显示场景图形视图
picto,然后从场景的层次结构中选择任何动画对象(在我的例子中是
pSphere1
)。在
节点检查器中
选项卡将
速度
属性从
1
更改为
25
。这个数字实际上取决于动画软件的帧速率设置(24fps、25fps、30fps等)


产生AR体验的工具非常糟糕


我在工作,我们构建了流程,这样您就可以导入您的obj、fbx、collada,并生成USDZ。

骨骼骨骼动画如何,我们如何使用一些骨骼动画和纹理构建USDZ模型?我尝试了blender、modo Alembic exporters的骨骼动画,但没有成功。在Xcode beta 10中打开的Alembic文件附带了动画文件,但由于某些原因,它们不会运行。我不知道如何做骨骼动画使用美元直接。。。我找不到任何文档或示例。我认为目前是观望的情况。此外,Alembic文件和扭曲纹理也存在问题。有关骨架动画的usd文档=>。据推测,皮克斯可能会在不久的将来发布一个UsdSkel示例/教程。在转换Alembic ABC时,XCode 10 Beta 4似乎对USDA给出了更多的描述。动画似乎还不能正常工作……OBJ->USDZ只支持静态网格。Alembic(ABC)->USDZ仅支持变换动画(位置、旋转、缩放)。要获得骨骼骨骼动画->USDZ,您必须使用pixar提供的完整版本的Maya+USD插件(此建议由USD pixar团队提供)。考虑到Maya完整许可证的成本是3500美元。。。伊荷
xcrun usdz_converter ~/Desktop/sphere.abc ~/Desktop/anime.usdz -v