一、平台教程

omniverse是一个开放式架构平台,它从Kit模块之上都是用插件方式构建出来的,包含extensions、apps和microservices。其次,它的extension和app默认都是开源的(Python)。

1.1 Kit教程

Kit是omniverse create和 omniverse view的开发平台,换句话说这两个应用是用Kit开发出来的。

  • USD:皮克斯的统一场景描述文件格式(universal scene description),USD官方文档
  • PhysX:开源物理模拟器

Kit官方文档

1.2 Extension教程

什么是omniverse extension,它本质就是带有一个extension.toml文件的文件夹。

1.2.1 单文件夹扩展

[extensions-folder]
└── omni.appwindow
    │──bin
    │  └───windows-x86_64
    │      └───debug
    │          └─── omni.appwindow.plugin.dll
    │───config
    │   └─── extension.toml
    └───omni
        └───appwindow
            │─── _appwindow.cp36-win_amd64.pyd
            └─── __init__.py

1.2.2 单文件Extension

文件夹中只有一个配置文件,没有任何代码。

[extensions-folder]
└── omni.exp.hello.kit

当我们创建一个app的时候,就会用到它。这个配置文件的名字就是extension ID。

1.2.3 Extension 详细教程

[core]

[package]

omniverse会按顺序加载多个python模块,多个模块的语法是用两层中括号:“[[]]”

[[python.module]]
name = "omni.hello"

[[python.module]]
name = "omni.calculator"
path = "."
public = true

[dependencies]

[python]

[native]

[settings]

[[env]]

[fswatcher]

[[test]]

二、Linux环境安装

因为Isaac Sim只支持Linux环境,因此需要在Linux环境中安装omniverse。

2.1 网络配置

omniverse只给 *.nvidia.com 域名做了全球网络加速,而它的资源都放在AWS Cloud(美国)上。omniverse是插件形式的软件包集合,它的所有模块都是以扩展的形式在线下载的,因此网络速度十分重要。

打开文件/etc/systemd/resolved.conf

DNS=114.114.114.114

使用中国电信的DNS而不是google或者微软的DNS。它会把*.nvidia.com 域名解析到香港,可以到几MB/s的下载速度。

2.2 代理配置

omniverse-launcher 虽然提供了 –proxy-server ip:port 配置,但是需要优质的https代理(众所周知https代理是要配置证书的,搭建和维护都很麻烦)。

http proxy有问题,因为https有不同协议,用http proxy转https proxy 市面上的软件支持并不完美。(omniverse内部使用了electron,有些网络命令字会报错)。

http proxy转socks5 proxy在omniverse中也会出现网络错误,例如:

bad response. the server or forwarder response doesn't look like http

因此,我使用了proxychains-ng: 安装文档

分类: OMNIVERSE