Omniverse 动捕扩展程序:只需手机即可完成高保真动作数据捕捉并导入 Omniverse 平台


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



图片



创建动画数据既费钱又耗时,但基于全新的 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



*本文转载自NVIDIA英伟达。
*与NVIDIA产品相关的图片或视频(完整或部分)的版权均归NVIDIA Corporation所有。



NVIDIA产品相关的图片或视频(完整或部分)的版权均归NVIDIA Corporation所有。