学习在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

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

相关推荐
charon87785 天前
虚幻引擎 | (类恐鬼症)玩家和NPC语音聊天(中)
游戏引擎·虚幻
北冥没有鱼啊7 天前
UE5 贝塞尔曲线导弹
游戏·ue5·游戏引擎·ue4·虚幻
北冥没有鱼啊7 天前
ue5 伤害插件
游戏·ue5·ue4·游戏开发·虚幻
EdSheeran乀8 天前
虚幻中的c++(持续更新)
开发语言·c++·ue5·游戏引擎·ue4·虚幻
qwq!68 天前
虚幻5|使用F插值到,击打敌人使UI血条缓慢缩减|小知识(3)
c++·笔记·ue5·游戏引擎·虚幻
北冥没有鱼啊10 天前
ue5 AI追角色后失去目标解决办法
游戏·ue5·游戏引擎·ue4·虚幻
花生糖@11 天前
使用批处理脚本自动化启动Unreal Engine项目
运维·游戏·自动化·虚幻·bat
charon877813 天前
虚幻引擎VR游戏开发03| 键位映射
游戏引擎·vr·虚幻
吉凶以情迁15 天前
unreal engine骨骼绑定重定向实现自定义人物替换游戏中小白人,但是用小白人或者某超人现有的移动等功能再次折腾笔记...
笔记·游戏·游戏引擎·虚幻·骨骼绑定
charon877816 天前
虚幻引擎VR游戏开发02 | 性能优化设置
游戏·游戏引擎·vr·游戏开发·虚幻·技术美术