如何利用手机捕捉高质量的动作数据并将其导入 Omnivere 平台

动作捕捉 2023-05-09 5356

Move.ai 的动作捕捉扩展程序,可免费为 3D 艺术家和开发者提供可用于其创作流的无标记动作数据。

如何利用手机捕捉高质量的动作数据并将其导入 Omnivere 平台  第1张


如何利用手机捕捉高质量的动作数据并将其导入 Omnivere 平台  第2张


创建动画数据既费钱又耗时,但基于全新的 Move.ai Omniverse 扩展程序,任何人都可以利用手机拍摄的视频,生成高保真动作数据。


该扩展程序可作为 Move.ai 动作资产数据库的插件。基于此扩展程序,用户只需点击一下页面就可将相关数据导入 NVIDIA Omniverse,并且能轻松地将所生成的动画重定位于角色之上,并将其与 Autodesk Maya 中的装备或游戏引擎(如 UE 虚幻引擎和 Unity)中的场景相连接。


Move.ai 合作关系和交付主管 Niall Hendry 表示:“我们相信,NVIDIA Omniverse 正在开拓一条通往‘创建广阔虚拟世界’的道路。人体动作对于数字体验和虚拟环境的开发和落地而言至关重要。”


Move.ai 与 Omniverse 相连接后,其动作数据可通过一系列软件生态系统实现共享,可帮助该公司开拓新受众。该扩展程序还支持用户无需为每个实例构建对应插件,即可与其他软件实例交叉连接。例如,Omniverse 用户可以将基于 Move.ai 生成的动画,应用于其他扩展程序(如 in3D 等)所生成的角色之上。


Move.ai 扩展程序的构建过程


为了构建该扩展程序,Move.ai 的开发人员 Denis Cera,使用了 Omniverse Kit 中基于 Python 的 SDK,并参考了创建 Omniverse 扩展程序的视频教程以及 Omniverse Kit 文档。


为创建用户界面(UI),Cera 添加了一个 [VGrid] 至 [ScrollingFrame] 中,并利用图像预览对动画进行了填充。此外,他还为每张图片创建了一个按钮,用户只需点击按钮就可将其导入相应的动画。


在创建用户界面后,Cera 还给按钮配置了参数各异的不同函数。具体方法如下:



```python

button = ui.Button(
text="Import motion",
name=motion["title"],
alignment=ui.Alignment.RIGHT,
width=0,
height=0,
asset_path=self.asset_path,
clicked_fn=partial(
download_motion,
Path(self.asset_field.model.get_value_as_string()),
motion["title"],
)
```


用户界面中的每个按钮都有相应的函数,并且该函数还有对应的一组参数,如下载路径、动画名称等。因此,用户可以点击不同的按钮来执行不同的操作或完成不同的动作。


Omniverse 平台基于通用场景描述(USD)构建,吸纳了其能在不同工具实现内容互换的特点,但 Move.ai 的 API 目前只支持用户访问 FBX(Filmbox)数据。幸运的是,Omniverse 拥有一个内置 converter,可将 `.fbx` 文件转换为 `.usd` 文件,用户还可以直接使用该 converter,或者直接导入 `.fbx` 文件至 Omniverse 中进行自动转换。


为将 `.fbx` 数据导入 Omniverse,Move.ai 的开发者使用了 `CreateReferenceCommand` 来直接引用 `.usd` 格式的 `.fbx` 文件,该文件可在其 `
moveai.assets.extension.utils.import_file_to_scene()` 函数中找到:


```python
def import_file_to_scene(usd_path: Path):
stage = omni.usd.get_context().get_stage()
if not stage:
return

name = usd_path.stem
prim_path = omni.usd.get_stage_next_free_path(stage, "/" + name, True)

omni.kit.commands.execute(
"CreateReferenceCommand", path_to=prim_path, asset_path=str(usd_path), usd_context=omni.usd.get_context()
)
```


用户可利用 `
moveai.assets.extension.utils.convert_asset_to_usd()` 函数,将文件直接转换为 `.usd` 格式。


Hendry 表示:“最终,USD 将会成为元宇宙应用的行业标准。与 NVIDIA 合作,可帮助快速实现我们与 USD 交换范式的整合。”


任何人都可以在 GitHub 上使用 Move.ai 扩展程序的源代码(详情请见:
https://github.com/move-ai/omniverse-public-asset-library
)。


实现高质量动作数据访问的自主化


Move.ai 旨在降低高保真动作捕捉和动画数据的使用门槛。基于 Omniverse,用户只需轻松点击一下,就能访问 Move.ai 的高质量动作数据库。


Move.ai 与 Omniverse 相连有助于其授权团队自发地在创意社区发布免费动画的 Motion Packs,可赋能用户在其项目中轻松使用动作数据。未来,用户还能将其自有数据导入 Omniverse。


Move.ai 的手机应用程序将于今年 3 月上架,届时任何人都可以下载使用,您还可以在“www.move.ai”上报名参加该应用的公测。如需下载该 Omniverse 扩展程序,请参见:
https://docs.move.ai/nvidia-omniverse-extension


如需进一步了解“如何构建 Omniverse 应用、扩展程序和微服务”,您可以注册 NVIDIA GTC 大会(人工智能和元宇宙时代的开发者大会),并观看大会期间的 Omniverse 分会。Move.ai 将与众多的初创企业及行业的领导者一起共同推动元宇宙的发展,并且该公司将于 GTC 大会进行相关展示。


Move.ai 是 NVIDIA 初创加速计划成员,该计划旨在为全球 13000 多家尖端初创企业提供支持,企业可访问以下链接申请成为其中的一员。


您可以访问 Omniverse 资源中心的文档和教程,了解开发者如何基于 Omniverse 平台构建基于 USD 的应用和扩展程序。

The End