一、初识 Omniverse 与 Isaac Sim:平台概述、核心概念
大家好,我是你们的讲师。今天咱们正式进入《Isaac Sim Omniverse 环境配置与项目资源管理》的第一章。
说实话,我第一次接触 Omniverse 的时候,也被它那套「万物皆 USD」的理念震了一下。你想想看,一个平台能把 3D 设计、仿真、AI 训练全串起来,这在以前几乎不敢想。但上手之后你会发现,它的核心逻辑其实很清晰。
这一章,我们就从零开始,把 Omniverse 和 Isaac Sim 到底是什么、怎么装、怎么用,捋一遍。
1.1 平台概述:Omniverse 是什么?Isaac Sim 又是什么?
先给个简单的定义。
NVIDIA Omniverse,说白了就是一个用于 3D 协作和数字孪生的平台。它基于 Pixar 的 USD(通用场景描述)和 NVIDIA 的 RTX 技术,让不同软件、不同团队能在同一个虚拟空间里实时协作。
Isaac Sim 则是基于 Omniverse 构建的机器人仿真应用。它专门为机器人开发设计,提供了物理引擎、传感器仿真、ROS/ROS2 集成等能力。
一句话总结:
- Omniverse = 3D 协作平台 + 数字孪生底座
- Isaac Sim = 跑在 Omniverse 上的机器人仿真器
我在项目中遇到过不少新人,上来就问「我是不是装了 Isaac Sim 就不用装 Omniverse 了?」——不行。Isaac Sim 是 Omniverse 的一个「App」,就像 Chrome 浏览器里的一个网页。你得先有浏览器(Omniverse),才能打开网页(Isaac Sim)。
1.2 核心概念:USD、Stage、Layer
这三个概念,是整个平台的基石。不理解它们,后面寸步难行。
1.2.1 USD(通用场景描述)
USD 最初是 Pixar 为动画电影设计的,用来描述 3D 场景的数据格式。NVIDIA 把它拿过来,扩展成了 Omniverse 的「通用语言」。
你可以把 USD 想象成 3D 世界的 JSON。它不只是一个文件格式,更是一套数据组织框架。它支持:
- 非破坏性编辑:通过 Layer 叠加修改,不破坏原始数据
- 场景图:用树状结构组织所有物体、材质、灯光
- 引用与实例化:一个模型可以被多处引用,节省内存
我的习惯: 每次新建项目,我都会先建一个干净的 USD 文件作为「基底层」,所有修改都在上层做。这样万一改坏了,直接删掉上层就行,基底永远干净。
1.2.2 Stage(舞台)
Stage 就是 USD 场景在内存中的运行时实例。你打开一个 .usd 文件,Omniverse 就会把它加载成一个 Stage。
Stage 包含:
- 所有物体的层级关系(Prim 树)
- 每个物体的属性(位置、旋转、缩放、材质等)
- 时间轴(用于动画和仿真)
1.2.3 Layer(层)
Layer 是 USD 最强大的特性之一。它允许你把场景的修改「分层」存储。
举个例子:
- Layer 0(基底):工厂的静态结构(墙壁、地板、机器底座)
- Layer 1:机器人的位置和关节状态
- Layer 2:当前仿真中的动态物体(零件、工具)
每一层都可以独立开关、独立保存。这在团队协作中特别有用——你改你的机器人,我改我的环境,互不干扰。
我曾经踩过的坑: 有一次我直接在基底 Layer 上修改了机器人的位置,结果同事同步后,他的机器人也飞了。后来我养成了习惯:永远在 Session Layer 或 User Layer 上做临时修改,确认无误后再合并到基底。
下面这张图,展示了 USD 的 Layer 叠加机制:
1.3 安装与启动
安装过程其实不复杂,但有几个关键点需要注意。
1.3.1 系统要求
| 组件 | 最低配置 | 推荐配置 |
|---|---|---|
| GPU | NVIDIA RTX 3060 | NVIDIA RTX 4090 / A6000 |
| 显存 | 8 GB | 24 GB+ |
| 内存 | 32 GB | 64 GB |
| 存储 | 50 GB SSD | 200 GB NVMe SSD |
| 操作系统 | Windows 10/11 或 Ubuntu 20.04/22.04 | Ubuntu 22.04 |
注意: 如果你用笔记本的 RTX 3050/4050,显存只有 4-6 GB,跑 Isaac Sim 会非常吃力。我建议至少 8 GB 显存起步,否则物理仿真一开,直接卡成幻灯片。
1.3.2 安装步骤
- 注册 NVIDIA 开发者账号:访问 developer.nvidia.com,注册并登录。
- 下载 Omniverse Launcher:这是 Omniverse 的「应用商店」,所有组件都从这里装。
- 安装 Nucleus:Nucleus 是 Omniverse 的「文件服务器」,用于存储和共享 USD 文件。本地开发可以装 Local Nucleus。
- 安装 Isaac Sim:在 Launcher 的 Exchange 页面找到 Isaac Sim,点击 Install。
- 启动:安装完成后,在 Launcher 的 Library 页面点击 Launch。
我的建议: 第一次启动 Isaac Sim 时,它会下载一些额外的缓存文件。这个过程可能持续 10-20 分钟,别急,去泡杯咖啡。
1.4 界面布局与基本操作
Isaac Sim 启动后,你会看到一个类似 3D 建模软件的界面。别慌,核心区域就几个。
1.4.1 界面分区
- Viewport(视口):中间最大的区域,显示 3D 场景。你可以用鼠标拖拽旋转、缩放、平移。
- Stage Tree(场景树):左侧面板,显示所有物体的层级关系。选中一个物体,右侧属性面板会同步更新。
- Property Panel(属性面板):右侧面板,显示选中物体的 Transform、材质、物理属性等。
- Toolbar(工具栏):顶部,包含选择、移动、旋转、缩放等工具。
- Console(控制台):底部,显示 Python 脚本输出和错误信息。
1.4.2 基本操作
| 操作 | 鼠标/键盘 | 说明 |
|---|---|---|
| 旋转视角 | Alt + 左键拖拽 | 围绕场景中心旋转 |
| 平移视角 | Alt + 中键拖拽 | 上下左右平移 |
| 缩放视角 | Alt + 右键拖拽 或 滚轮 | 拉近拉远 |
| 选中物体 | 左键单击 | 在视口或场景树中均可 |
| 移动物体 | 按 W 进入移动模式 | 拖拽箭头沿轴移动 |
| 旋转物体 | 按 E 进入旋转模式 | 拖拽圆环绕轴旋转 |
| 缩放物体 | 按 R 进入缩放模式 | 拖拽方块均匀缩放 |
快速上手练习:
- 在 Stage Tree 中右键 → Create → Mesh → Cube,创建一个立方体。
- 选中立方体,在 Property Panel 中修改它的位置(Translate X/Y/Z)和颜色(Material → Base Color)。
- 按 Ctrl+S 保存场景为 .usd 文件。
嗯,到这里,第一章的核心内容就差不多了。你掌握了 Omniverse 和 Isaac Sim 的定位,理解了 USD、Stage、Layer 这三个核心概念,也知道了怎么安装和操作界面。
这些基础打牢了,后面讲项目资源管理、多机器人仿真、传感器集成的时候,你才不会懵。