PixarAnimationStudios/OpenUSD

GitHub: PixarAnimationStudios/OpenUSD

皮克斯开源的高性能 3D 场景描述与数据交换系统,为图形应用提供可扩展的互操作标准。

Stars: 7146 | Forks: 1388

# 通用场景描述 Universal Scene Description (USD) 是一个高效、可扩展的系统,用于编写、读取和流式传输时间采样的场景描述,以便在图形应用程序之间进行 interchange。 欲了解更多详情,请访问网站[这里](http://openusd.org)。 ## 构建状态 | | 状态 | |:-------:|:---------:| | dev | [![BuildUSD](https://static.pigsec.cn/wp-content/uploads/repos/2026/03/366071ff1c215752.svg)](https://github.com/PixarAnimationStudios/OpenUSD/actions/workflows/buildusd.yml) | | release | [![BuildUSD](https://static.pigsec.cn/wp-content/uploads/repos/2026/03/0eb2e3d974215802.svg)](https://github.com/PixarAnimationStudios/OpenUSD/actions/workflows/buildusd.yml) | ## 更多文档 * [用户文档和教程](http://openusd.org/docs/index.html) * [API 文档](http://openusd.org/docs/api/index.html) * [高级构建配置](BUILDING.md) ## 获取帮助 需要帮助理解 USD 中的某些概念?请参阅 [Getting Help with USD](http://openusd.org/docs/Getting-Help-with-USD.html) 或访问我们的[论坛](https://groups.google.com/forum/#!forum/usd-interest)。 如果您遇到软件的未记录问题,请[提交 Bug](https://github.com/PixarAnimationStudios/OpenUSD/issues/new)。 如果您需要报告软件的安全问题,请查阅[安全政策](SECURITY.md)。 ## 支持的平台 USD 主要在 Linux 平台 (CentOS 7) 上开发,但在 macOS 和 Windows 上也能构建、测试和支持。 也可以构建可嵌入 iOS 和 visionOS 应用程序中的 USD 库。 此外,USD 可以构建为在 WebAssembly 虚拟机中运行,以便在 Web 或其他运行时环境(如 Node.js)中使用。 请参阅 [VERSIONS.md](VERSIONS.md) 以获取明确测试过的版本。 ## 依赖项 必需: - C/C++ 编译器 - [CMake](https://cmake.org/documentation/) - [Intel TBB](https://www.threadingbuildingblocks.org/) 有关版本信息,请参阅[第三方库和应用程序版本](VERSIONS.md)。 以下组件需要额外的依赖项。这些组件可以在构建时禁用。有关更多详细信息,请参阅[高级构建配置](BUILDING.md)。 **Imaging 和 USD Imaging** 必需: - [OpenSubdiv](https://github.com/PixarAnimationStudios/OpenSubdiv) 可选: - [OpenEXR](http://www.openexr.com) - [OpenImageIO](https://sites.google.com/site/openimageio/home) - [OpenColorIO](http://opencolorio.org/) - [OSL (OpenShadingLanguage)](https://github.com/imageworks/OpenShadingLanguage) - [Ptex](http://ptex.us/) **Python Bindings** 必需: - [Python](https://python.org) **usdview** 必需: - Python bindings - [PySide6](http://wiki.qt.io/PySide6) 或 [PySide2](http://wiki.qt.io/PySide2) - [PyOpenGL](https://pypi.python.org/pypi/PyOpenGL/) ## 获取和构建代码 构建 USD 最简单的方法是运行提供的 `build_usd.py` 脚本。该脚本将下载所需的依赖项,并将它们与 USD 一起在给定目录中构建和安装。 按照下面的说明运行具有默认行为的脚本,这将构建 USD 核心库、Imaging 和 USD Imaging 组件。 欲了解更多选项和文档,请使用 `--help` 参数运行脚本。 有关直接运行 cmake 的示例和附加文档,请参阅[高级构建配置](BUILDING.md)。 #### 1. 安装先决条件(所需版本请参阅 [依赖项](#dependencies)) - 必需: - C++ 编译器: - gcc - Xcode - Microsoft Visual Studio - CMake - 可选(可以通过向 `build_usd.py` 传递 `--no-python` 参数来忽略) - Python([bindings 和测试](BUILDING.md#python)所需) - PyOpenGL([usdview](BUILDING.md#usd-imaging)所需) - PySide6 或 PySide2([usdview](BUILDING.md#usd-imaging)所需) #### 2. 下载 USD 源代码 您可以从 [GitHub](https://www.github.com/PixarAnimationStudios/OpenUSD) 下载源代码存档,或使用 `git` 克隆仓库。 ``` > git clone https://github.com/PixarAnimationStudios/OpenUSD Cloning into 'OpenUSD'... ``` #### 3. 运行脚本 运行 build_usd.py 脚本以构建和安装 USD。请注意,构建脚本的结构考虑了 out-of-source 构建——将构建安装到克隆仓库的目录中是未经测试的。 ##### Linux: 例如,以下命令将下载、构建和安装 USD 的依赖项,然后将 USD 构建并安装到 `/path/to/my_usd_install_dir`。 ``` > python OpenUSD/build_scripts/build_usd.py /path/to/my_usd_install_dir ``` ##### macOS: 在终端中,运行 `xcode-select` 以确保已安装命令行开发人员工具。然后运行脚本。 例如,以下命令将下载、构建和安装 USD 的依赖项,然后将 USD 构建并安装到 `/path/to/my_usd_install_dir`。 ``` > python OpenUSD/build_scripts/build_usd.py /path/to/my_usd_install_dir ``` ##### iOS 和 visionOS: 当从 macOS 系统构建时,您可以针对基于 iOS 的平台进行 cross compile。 交叉编译构建仅限于构建可嵌入为目标平台构建的应用程序中的库。在嵌入 USD 时使用 monolithic build 可能会有所帮助(请参阅[高级构建配置](BUILDING.md))。 这些构建不支持 Python bindings 或命令行工具。 例如,以下命令将下载、构建和安装 USD 的依赖项,然后将针对 iOS 的 USD 构建并安装到 `/path/to/my_usd_install_dir`。 ``` > python OpenUSD/build_scripts/build_usd.py --build-target iOS --build-monolithic /path/to/my_usd_install_dir ``` 或者针对 visionOS: ``` > python OpenUSD/build_scripts/build_usd.py --build-target visionOS --build-monolithic /path/to/my_usd_install_dir ``` ##### Windows: 在 Windows 上,可以编译为 x64 或 ARM64。 **注意**:ARM64EC 目前不兼容。 **注意 2**:由于缺乏 PySide,目前 ARM64 上不支持 usdview 启动适用于您的 Visual Studio 版本的“x64 Native Tools Command Prompt”(或在适当情况下启动“ARM64 Native Tools Command Prompt”),并在打开的 shell 中运行脚本。确保使用适当版本的命令提示符(例如在 x64 上,使用 x64 版本,而不是 x86 版本)。 有关更多详细信息,请参阅 https://docs.microsoft.com/en-us/cpp/build/how-to-enable-a-64-bit-visual-cpp-toolset-on-the-command-line。 例如,以下命令将下载、构建和安装 USD 的依赖项,然后将 USD 构建并安装到 `C:\path\to\my_usd_install_dir`。 ``` C:\> python OpenUSD\build_scripts\build_usd.py "C:\path\to\my_usd_install_dir" ``` ##### WebAssembly: 可以使用 Linux、macOS 或 Windows 上的 Emscripten Compiler Toolchain 生成 WebAssembly (Wasm) 构建。在构建之前,请按照[下载和安装](https://emscripten.org/docs/getting_started/downloads.html)工具链的说明进行操作。 WebAssembly 构建将生成以 monolithic 模式构建的静态库。 不会为此目标构建命令行工具。 以下命令将下载依赖项并生成 32 位 Wasm 构建。 ``` > python OpenUSD/build_scripts/build_usd.py --build-target wasm /path/to/my_usd_wasm_build_dir ``` 或者对于 64 位 Wasm 构建: ``` > python OpenUSD/build_scripts/build_usd.py --build-target wasm64 /path/to/my_usd_wasm64_build_dir ``` #### 4. 试用 设置脚本完成时指定的环境变量,并使用示例资产启动 `usdview`。 ``` > usdview OpenUSD/extras/usd/tutorials/convertingLayerFormats/Sphere.usda ``` ## 贡献 如果您想为 USD 做出贡献(我们非常感谢您的帮助!),请参阅文档中的[贡献](http://openusd.org/docs/Contributing-to-USD.html)页面以获取更多信息。
标签:3D图形, 3D建模, Bash脚本, C++, CMake, iOS, OpenUSD, Pixar, Python, USD, VFX, visionOS, WebAssembly, 互操作性, 元数据, 动画, 场景描述, 工作流, 开源, 数字孪生, 数据交换, 数据擦除, 文件格式, 无后门, 时间采样, 渲染, 皮克斯, 视觉特效, 计算机图形学, 逆向工具, 通用场景描述