您现在可以使用与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
支持以下输入3D文件类型:
据我了解,OBJ文件本身不支持动画。
单帧Alembic文件也不支持动画,因为它是单帧。
因此,我猜测您需要使用usda文件,该文件链接到一系列单帧Alembic或单帧OBJ文件以生成动画。
是否有任何公开的文档说明如何解决此问题?
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
获得有关如何执行此操作的良好说明警告至少保留几个小时,构建本身大约需要一个小时。
此后,我在usd管道捆绑包中运行了animated tutorial example。 Step5.usda(ascii usd文件)有一个动画示例,我跟随它使用旋转来创建自己的动画。
如果您按照上面链接中的pixar教程创建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
答案 0 :(得分:1)
它可以正常工作!
在macOS中使用Alembic
文件格式是真正的麻烦。但是我已经开发了自己的方法。因此,请在Autodesk Maya
中为Mac(版本2016 Extension 2 SP 1)制作3D模型的动画。然后,使用以下方法烘焙动画/动力学:
Edit -> Keys -> Bake Simulation
通过以下方法检查UI中是否存在Alembic
模块:
Windows -> Settings/Preferences –> Plug-in Manager -> AbcExport.bundle
之后,请转到:
Cache –> Alembic Cache -> Export All to Alembic...
此命令允许您创建abc
文件。它的播放速度比必须的慢25倍,但是您可以在Xcode中修复它。因此,是时候在终端机应用程序中使用Xcode 10命令转换动画了:
xcrun usdz_converter ~/Desktop/sphere.abc ~/Desktop/anime.usdz -v
您将以相同的播放速度(慢25倍)获得usdz
文件。
让我们修复Xcode 10中的播放速度。创建一个项目,拖放usdz
文件,单击Show the Scene Graph View
picto,然后从场景的层次结构中选择任何动画对象(在我的情况下是{ {1}})。在pSphere1
标签中,将Node Inspector
属性从Speed
更改为1
。该数字实际上取决于动画软件的帧频设置(24fps,25fps,30fps等)。
就是这样。
吉米·古纳万(Jimmy Gunawan)也于2018年7月31日发布了this screen-captured Blender video。在此视频中,他将引导您通过25
导出转换动画的整个过程{1}}。他具有使用.usdz
创建的许多对象的程序转换动画,并以动画3D Alembic
文件格式导出为iOS 12内部的增强现实。
基本上,对于Animation Nodes
动画,您需要具有root或null对象才能正确导出。因此,请观看吉米·古纳万(Jimmy Gunawan)的视频。
此外,您可以使用以下专业3D工具以
.usdz
文件格式导出计算机动画: Autodesk Maya , Foundry Katana ,或 SideFX Houdini 。有关更多详细信息,请访问this Pixar's webpage。
答案 1 :(得分:-1)
在那里产生AR体验的工具太可怕了。
我在http://briovr.com/工作,我们建立了流程,以便您可以导入obj,fbx,collada并生成USDZ。