学习在UE中通过Omniverse实现对USD文件的Live-Sync(实时同步编辑)

目标

前一篇 学习了Omniverse的一些基础概念。本篇在了解这些概念的基础上,我想体验下Omniverse的一些具体的能力,特别是 Live-Sync (实时同步) 相关的能力。

本篇实践了使用Omniverse的力量在UE中建立USD文件的 Live-Sync 编辑。由于相关的知识我是从零开始的,所以我也顺带记录上一些之前并不知道的内容。

主要参考资料:

Exploring Creative Workflows with Omniverse and the Unreal Engine Connector - YouTube

OmniLive --- Omniverse Extensions latest documentation

0. 环境准备

Omniverse Launcher

从官网下载 Omniverse Launcher:https://www.nvidia.com/en-in/omniverse/download/

关于 Omniverse Launcher 界面上各分页的具体介绍,可参阅:https://docs.omniverse.nvidia.com/launcher/latest/workstation-launcher.html

简单来说,有三部分最需要关注:

  • EXCHANGE:可以在这里下载应用、链接器、扩展 、等等。
  • LIBRARY:浏览当前已安装的应用
  • NUCLEUS:Nucleus服务器相关操作。

USD Composer (Omniverse Create)

(根据这里的官方文档所说,Omniverse Create 已经废弃并由 USD Composer 取代。所以很多教程中所使用的 Create 应该指的是现在的 USD Composer

可在 Omniverse Launcher 的 EXCHANGE 页面搜索并下载 USD Composer:

(不知是我网络问题还是显示问题,经常下载一会儿后就卡住了,我只能关掉Launcher再重新打开才能看到进度条前进。。。另外,最后还遇到个问题,见附录)

USD Composer 是使用 NVIDIA Omniverse™ Kit 开发的。具体介绍可参阅官方文档:https://docs.omniverse.nvidia.com/composer/latest/index.html

现在可以简单将其视为是个可以预览/编辑USD文件的编辑器。

安装好后,可以在LIBRARY分页找到它并启动。

虚幻引擎的 Omniverse Connector 插件

同样,在 EXCHANGE 页面可以搜索到不同UE版本对应的Connector插件:

可能因为我是源码版的引擎,这里安装时并没有找到引擎,所以提示让我自己选择引擎插件目录位置。

当放入插件目录后,进行代码编译后。就可以看到这个插件了,同时也能在关卡编辑器中看到这个小图标:

1. 创建本地Nucleus服务

Live-Sync 需要连接到Nucleus服务,所以如果还没有服务的话,需要创建一个。

在 Omniverse Launcher 的 NUCLEUS 分页中,可以创建一个本地服务:

跟随指引填写必要的信息,创建完后,应该会显示:

2. UE连接Nucleus服务

点击 Add Server:

建立与本地服务即localhost的连接

随后可以看到:

3. UE导出关卡为USD

如果想直接在UE关卡中启动 live-sync,那么将会收到提示:

为了能使用 live-sync,可以将当前关卡导出为USD

导出为USD后,可以在UE中打开它:

4. USD Composer 连接 Nucleus服务,打开场景

在 USD Composer 中,建立与本地服务即localhost的连接:

可以找到之前导出的USD场景,打开它:

5. 建立 live-sync !

现在万事俱备,可以开始 live-sync 了。

关于 OmniLive 的具体细节,可以参考官方文档。简单来说,需要 Live Session 来建立联系。因此,首先要创建一个 session。

我选择在 USD Composer 中创建,点击右上角 Create Session:

为session起一个名字,这里我叫 "yaksue_session"

随后将可以看到一个新的 session layer:


另一端,UE里点击 Live Session:

选择刚才创建的 "yaksue_session":


现在,live-sync 已经建立,可以体验了:

其实在编辑结束后,还有一些问题比如Merge,但由于牵扯到Live-Sync一些更底层的结构,我目前还无法简单讲明白。具体可以参考官方文档:Live Session Management:Exit a Live session

附录:安装 USD Composer 时卡在 Installing omni.create.warmup.bat

下载完后,卡在这里:

这里也有人问到同样的问题,并表示用管理员权限打开可以解决:
Create install "stuck" on omni.create.warmup.bat - Apps / USD Composer (Create) - NVIDIA Developer Forums

我尝试用管理员权限后确实可以解决:

相关推荐
幻狐boke4 天前
【mod分享】极品飞车9仿虚幻引擎模组,支持光追,高清纹理材质,体验一会虚幻引擎风格的极品9
游戏·游戏引擎·虚幻
妙为6 天前
unreal engine5动画重定向
游戏引擎·虚幻·unreal engine5·动画重定向
未来牛马之星9 天前
学习虚幻C++开发日志——基础案例(持续更新中)
学习·游戏引擎·虚幻
灵境引路人9 天前
【虚幻引擎UE】UE5 音频共振特效制作
ue5·音视频·虚幻
北冥没有鱼啊15 天前
ue5 扇形射线检测和鼠标拖拽物体
游戏·ue5·ue4·游戏开发·虚幻
青年夏日科技工作者21 天前
虚幻 UE5.3 Windows打包像素流部署
ue5·游戏引擎·虚幻
[小瓜]21 天前
虚幻引擎GAS入门学习笔记(一)
笔记·学习·ue5·虚幻
电子云与长程纠缠25 天前
UE5 使用Animation Budget Allocator优化角色动画性能
学习·游戏·ue5·虚幻
电子云与长程纠缠1 个月前
UE5 C++ 通过绑定编辑器事件实现控制柄顶点编辑
开发语言·c++·ue5·编辑器·虚幻
[小瓜]1 个月前
虚幻引擎GAS入门学习笔记(二)
笔记·学习·虚幻