学习 NVIDIA Omniverse 的最基础概念

2023-12-11 14:13

本文主要是介绍学习 NVIDIA Omniverse 的最基础概念,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

无用的前言

近两年关于 Omniverse 的宣传一直很多,可我一直没去了解,连它是个啥都不知道。最近正好有契机需要了解它,于是我今天抽时间看了些它的官方介绍,并按照自己的理解梳理在这里。

官方资料索引

Omniverse 官网主页:https://www.nvidia.com/en-us/omniverse/
Omniverse 文档主页:https://docs.omniverse.nvidia.com/
B站 NVIDIA 官方账号发布的 Omniverse平台概述(中文):Omniverse平台概述 - 第1部分:Omniverse系列简介_哔哩哔哩_bilibili
通用场景描述(OpenUSD)- 四大超强功能开启体验之旅_哔哩哔哩_bilibili

(其实,我认为官方的资料已经够好。或许自己去看官方资料,比看我这里的梳理会更有帮助)

Omniverse是什么?它想要帮助我们什么?

主页上是这样概括的:
在这里插入图片描述
在这里插入图片描述
也就是说:Omniverse 是一个平台,它可以连接/开发基于USD的3D应用/工作流。
接着,它从 “创作者” 与 “开发者” 的角度说明了它如何提供帮助

对于创作者

官方这样概括:
在这里插入图片描述
在这里插入图片描述
也就是说:Omniverse 将作为一个中心连接已有的3D应用/工作流,让创作者能以实时同步的方式进行创作,而这也借助了USD的力量。

对于开发者

官方这样概括:
在这里插入图片描述
也就是说:它让开发者可以用相对少的代码开发自定义的扩展、工具、可加速你3D工作流的微服务等等。
官方文档:开发者指南概述 中指出,开发者可以开发:

  • 扩展:能增强应用程序能力与行为的扩展。
  • 应用程序:为特定领域和工作流程量身定制的应用程序。
  • 服务: 高度定制的USD工作流中的一些后台(无界面的)处理。
  • 连接器:作为将第三方应用程序连接到 Omniverse 的“桥梁”。

Omniverse的组成部分

官方文档:平台总览中指出Omniverse有下面五个核心的组成部分:
在这里插入图片描述
Omniverse平台概述 - 第2部分:Omniverse平台结构_哔哩哔哩_bilibili 中对各部分也进行了介绍,此3分钟的视频对于入门者而言非常有帮助。

此外还有两个额外的组成部分:Omniverse 启动器,Omniverse 插件。

下面逐个梳理各个组成部分的基础概念。

1★. Nucleus :中央数据库

在这里插入图片描述

正如其名字所提示那样,它算是 Omniverse 的核心。
官方介绍中说:你可以将 Nucleus 视为可存储3D内容的私有云。

Nucleus 提供了:

  • 用户身份认证
  • 协作服务
  • 数据存储

Nucleus 有两种方式建立:

  • 企业 Nucleus 服务器:在本地或云服务提供商进行企业部署。
  • 工作站:提供了一套全面的服务来评估和使用 Nucleus,适用于那些想要在本地尝试 Omniverse 并与其他用户协作的用户,支持最多 2 位用户的个人或团队。

2★. Kit :开发者工具包

在这里插入图片描述
算是 Omniverse 上所有应用的支柱。

它是开发者面对的SDK,它提供了:

  • 开发者框架
  • 可以构建特定于工作流的应用程序
  • 很高的扩展性

官方文档指出了 Kit 的几个主要组成部分:

  • USD/Hydra
  • Omniverse 客户端库:Omniverse 客户端在加载和保存资源(例如 USD、MDL 和纹理)时用来与 Omniverse 服务器以及本地文件系统进行通信的库
  • Carbonite:Carbonite SDK 提供所有 Omniverse 应用程序的核心功能
  • Omniverse RTX 渲染器
  • 脚本Kit附带一个版本的 python (当前为 3.7),你可以在基于Kit的应用程序中运行任意 python 脚本,可以执行多种功能)
  • UI工具包

3★. Connect:连接其他应用的桥梁

在这里插入图片描述
Omniverse Connect 将其他应用连接到Omniverse上,目前很多应用已经连接:
在这里插入图片描述
开发者也可以使用SDK创建定制的连接器。

其实对于创作者,实际接触到的主要就是 Nucleus、连接器、其他应用 这三部分
在这里插入图片描述
在这里插入图片描述

4. RTX 渲染器

基于 NVIDIA RTX™ 的高级多 GPU 渲染器,支持实时光线追踪和路径追踪渲染。

5. 仿真模拟

一套功能强大的工具和 SDK,基于物理准确性来模拟世界。

6*. 启动器

用于下载、安装和更新 Omniverse 应用程序、扩展程序和连接器的本机客户端。

可以在官网上下载

7*. 扩展插件

基于 Omniverse Kit 的插件。开发人员使用扩展插件来创建、修改、扩展他们的工具和工作流,以此来提高工作效率。

这篇关于学习 NVIDIA Omniverse 的最基础概念的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/480977

相关文章

Java利用Spire.Doc for Java实现在模板的基础上创建Word文档

《Java利用Spire.DocforJava实现在模板的基础上创建Word文档》在日常开发中,我们经常需要根据特定数据动态生成Word文档,本文将深入探讨如何利用强大的Java库Spire.Do... 目录1. Spire.Doc for Java 库介绍与安装特点与优势Maven 依赖配置2. 通过替换

Nginx概念、架构、配置与虚拟主机实战操作指南

《Nginx概念、架构、配置与虚拟主机实战操作指南》Nginx是一个高性能的HTTP服务器、反向代理服务器、负载均衡器和IMAP/POP3/SMTP代理服务器,它支持高并发连接,资源占用低,功能全面且... 目录Nginx 深度解析:概念、架构、配置与虚拟主机实战一、Nginx 的概念二、Nginx 的特点

JavaScript装饰器从基础到实战教程

《JavaScript装饰器从基础到实战教程》装饰器是js中一种声明式语法特性,用于在不修改原始代码的情况下,动态扩展类、方法、属性或参数的行为,本文将从基础概念入手,逐步讲解装饰器的类型、用法、进阶... 目录一、装饰器基础概念1.1 什么是装饰器?1.2 装饰器的语法1.3 装饰器的执行时机二、装饰器的

Java JAR 启动内存参数配置指南(从基础设置到性能优化)

《JavaJAR启动内存参数配置指南(从基础设置到性能优化)》在启动Java可执行JAR文件时,合理配置JVM内存参数是保障应用稳定性和性能的关键,本文将系统讲解如何通过命令行参数、环境变量等方式... 目录一、核心内存参数详解1.1 堆内存配置1.2 元空间配置(MetASPace)1.3 线程栈配置1.

Java AOP面向切面编程的概念和实现方式

《JavaAOP面向切面编程的概念和实现方式》AOP是面向切面编程,通过动态代理将横切关注点(如日志、事务)与核心业务逻辑分离,提升代码复用性和可维护性,本文给大家介绍JavaAOP面向切面编程的概... 目录一、AOP 是什么?二、AOP 的核心概念与实现方式核心概念实现方式三、Spring AOP 的关

从基础到高级详解Go语言中错误处理的实践指南

《从基础到高级详解Go语言中错误处理的实践指南》Go语言采用了一种独特而明确的错误处理哲学,与其他主流编程语言形成鲜明对比,本文将为大家详细介绍Go语言中错误处理详细方法,希望对大家有所帮助... 目录1 Go 错误处理哲学与核心机制1.1 错误接口设计1.2 错误与异常的区别2 错误创建与检查2.1 基础

Spring的基础事务注解@Transactional作用解读

《Spring的基础事务注解@Transactional作用解读》文章介绍了Spring框架中的事务管理,核心注解@Transactional用于声明事务,支持传播机制、隔离级别等配置,结合@Tran... 目录一、事务管理基础1.1 Spring事务的核心注解1.2 注解属性详解1.3 实现原理二、事务事

Java Instrumentation从概念到基本用法详解

《JavaInstrumentation从概念到基本用法详解》JavaInstrumentation是java.lang.instrument包提供的API,允许开发者在类被JVM加载时对其进行修改... 目录一、什么是 Java Instrumentation主要用途二、核心概念1. Java Agent

Java中最全最基础的IO流概述和简介案例分析

《Java中最全最基础的IO流概述和简介案例分析》JavaIO流用于程序与外部设备的数据交互,分为字节流(InputStream/OutputStream)和字符流(Reader/Writer),处理... 目录IO流简介IO是什么应用场景IO流的分类流的超类类型字节文件流应用简介核心API文件输出流应用文

Kotlin 协程之Channel的概念和基本使用详解

《Kotlin协程之Channel的概念和基本使用详解》文章介绍协程在复杂场景中使用Channel进行数据传递与控制,涵盖创建参数、缓冲策略、操作方式及异常处理,适用于持续数据流、多协程协作等,需注... 目录前言launch / async 适合的场景Channel 的概念和基本使用概念Channel 的