学习在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再重新打开才能看到进度条前进。。。另外,最后还遇到个问题,见附录)
学习在UE中通过Omniverse实现对USD文件的Live-Sync(实时同步编辑)_第1张图片
USD Composer 是使用 NVIDIA Omniverse™ Kit 开发的。具体介绍可参阅官方文档:https://docs.omniverse.nvidia.com/composer/latest/index.html。
现在可以简单将其视为是个可以预览/编辑USD文件的编辑器。

安装好后,可以在LIBRARY分页找到它并启动。
学习在UE中通过Omniverse实现对USD文件的Live-Sync(实时同步编辑)_第2张图片

虚幻引擎的 Omniverse Connector 插件

同样,在 EXCHANGE 页面可以搜索到不同UE版本对应的Connector插件:
学习在UE中通过Omniverse实现对USD文件的Live-Sync(实时同步编辑)_第3张图片
可能因为我是源码版的引擎,这里安装时并没有找到引擎,所以提示让我自己选择引擎插件目录位置。
学习在UE中通过Omniverse实现对USD文件的Live-Sync(实时同步编辑)_第4张图片
当放入插件目录后,进行代码编译后。就可以看到这个插件了,同时也能在关卡编辑器中看到这个小图标:
学习在UE中通过Omniverse实现对USD文件的Live-Sync(实时同步编辑)_第5张图片

1. 创建本地Nucleus服务

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

在 Omniverse Launcher 的 NUCLEUS 分页中,可以创建一个本地服务:
学习在UE中通过Omniverse实现对USD文件的Live-Sync(实时同步编辑)_第6张图片
跟随指引填写必要的信息,创建完后,应该会显示:
在这里插入图片描述

2. UE连接Nucleus服务

点击 Add Server:
在这里插入图片描述
建立与本地服务即localhost的连接
学习在UE中通过Omniverse实现对USD文件的Live-Sync(实时同步编辑)_第7张图片
随后可以看到:
学习在UE中通过Omniverse实现对USD文件的Live-Sync(实时同步编辑)_第8张图片

3. UE导出关卡为USD

如果想直接在UE关卡中启动 live-sync,那么将会收到提示:
学习在UE中通过Omniverse实现对USD文件的Live-Sync(实时同步编辑)_第9张图片
为了能使用 live-sync,可以将当前关卡导出为USD
学习在UE中通过Omniverse实现对USD文件的Live-Sync(实时同步编辑)_第10张图片
导出为USD后,可以在UE中打开它:
学习在UE中通过Omniverse实现对USD文件的Live-Sync(实时同步编辑)_第11张图片

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

在 USD Composer 中,建立与本地服务即localhost的连接:
学习在UE中通过Omniverse实现对USD文件的Live-Sync(实时同步编辑)_第12张图片
可以找到之前导出的USD场景,打开它:
学习在UE中通过Omniverse实现对USD文件的Live-Sync(实时同步编辑)_第13张图片

5. 建立 live-sync !

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

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

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

学习在UE中通过Omniverse实现对USD文件的Live-Sync(实时同步编辑)_第14张图片
为session起一个名字,这里我叫 “yaksue_session”
学习在UE中通过Omniverse实现对USD文件的Live-Sync(实时同步编辑)_第15张图片
随后将可以看到一个新的 session layer:
学习在UE中通过Omniverse实现对USD文件的Live-Sync(实时同步编辑)_第16张图片


另一端,UE里点击 Live Session:
在这里插入图片描述
选择刚才创建的 “yaksue_session”:
学习在UE中通过Omniverse实现对USD文件的Live-Sync(实时同步编辑)_第17张图片


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

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

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

下载完后,卡在这里:
在这里插入图片描述
这里也有人问到同样的问题,并表示用管理员权限打开可以解决:
Create install “stuck” on omni.create.warmup.bat - Apps / USD Composer (Create) - NVIDIA Developer Forums
我尝试用管理员权限后确实可以解决:
学习在UE中通过Omniverse实现对USD文件的Live-Sync(实时同步编辑)_第18张图片

你可能感兴趣的:(Omniverse,虚幻,omniverse)