ICode9

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

Omniverse解构

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

标签:插件 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

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

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

ICode9版权所有