ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

Omniverse解构

2022-01-28 11:34:26  阅读:62  来源: 互联网

标签:插件 USD 解构 UI 应用 Nucleus Omniverse


 

一切从通用格式开始

Omniverse 中资产的主要表示方式采用 Pixar 的开源通用场景描述 (USD) 表示法。USD 不仅仅是一种文件格式,也是一种丰富的场景表示,可利用 API 支持复杂的属性继承、实例化、分层、延迟加载以及其他各类关键特性。Omniverse 使用 USD,通过 Nucleus DB 服务实现资产交换。

 

这一切的核心是 Omniverse Nucleus

Omniverse Nucleus 提供一组基本服务,使各种客户端应用、渲染器和微服务能够共享和修改虚拟世界的表示。

Nucleus 在发布/订阅模式下运行。根据访问控制,Omniverse 客户端可以将对数字资产和虚拟世界的修改发布到 Nucleus 数据库 (DB),或订阅这些更改。更改在互联的应用之间实时传输。数字资产包括几何图形、灯光、材质、纹理,以及描述虚拟世界及其演变的其他数据。

 

 

Connector 为各类应用打开互连门户

Omniverse Connect 库以插件的形式分布,使客户端应用能够连接到 Nucleus,以及发布和订阅单个资产和整个世界。

完成必要的同步后,DCC 插件将使用 Omniverse Connect 库应用从外部接收的更新,并在必要时发布内部生成的更改。

当应用更改场景的 USD 表示时,Omniverse Connect 会跟踪自上次发布活动后的所有本地更改。当应用发出请求后,Omniverse Connect 库将针对每个差异构建一个独立文件,并将其发布到 Nucleus,然后转发给所有订阅者。

 

 

Omniverse 流程

在左侧,我们可以看到许多热门 DCC 应用,以及使用 Kit 为 Omniverse 专门创建的新应用。这些应用都能导出 USD 文件格式,并支持 MDL 材质。得益于 Omniverse Connector 插件助力创建的 Omniverse 门户,这些应用可实现与 Nucleus 数据库的连接。

利用 Omniverse Kit 创建您自己的应用

Kit 并非单体应用,而是由一些扩展程序组成,这些扩展程序可作为构建块以多种方式组装,进而助力创建不同类型的应用。由于均采用 Python 编写,所有 UI 元素、工作流程和一般性功能具有很高的可定制性。

Omniverse Kit 是一个用于构建原生 Omniverse 应用和微服务的工具包,基于基础框架而构建,该框架可通过一组轻量级扩展程序提供各类功能。这些独立扩展程序是用 Python 或 C++ 语言编写的插件。

经过设计,Kit 成为了一个灵活且可扩展的应用和微服务开发平台。它可在无外设模式下,或通过 UI 创建微服务。UI 应用可完全使用 UI 引擎编写,从而获得完全的可定制性。

如需获得更出色的性能或访问某些 C++ API,则可以在这些扩展程序中添加较低级别的 C++ 插件,并且也可将这些插件通过绑定连接到 UI。这些扩展程序包括它们单独运行所需的图标、图像和配置

 

标签:插件,USD,解构,UI,应用,Nucleus,Omniverse
来源: https://www.cnblogs.com/wynnja/p/15852249.html

专注分享技术,共同学习,共同进步。侵权联系[admin#icode9.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有