USD是指Pixar皮克斯动画公司制定的通用场景描述(Universal Scene Description,USD) 格式。
本文将从 USD概念、USD体系、USD简易教程、USD在UE中的应用、USD相关资源,这五个方面展开阐述。
USD的诞生是为了解决场景描述通用性的问题,所以,学好USD最重要的两点是:
- 理解USD构建场景的思路和体系结构
- 熟练使用USD提供的 API 以及 工具集
一、USD概念
1. 什么是USD?
USD,是指通用场景描述(Universal Scene Description),用于稳健而且可扩展地交换及增强任意3D场景,而这些场景可能包含众多基本资产。USD不仅提供多类工具集,可用于阅读、写作、编辑和快速预览3D几何图形和着色,还提供元素资产(例如模型)或动画的交换,是3D场景在不同创作工具之间相互交换的桥梁。
使用USD,就是为了提供一套针对3D数据的定义、包装、集成、编辑的统一语言。
针对几何相关的内容,USD提供了 UsdGeom 库。其定义了(OpenSubdiv适用的)网格体、变换、曲线、点、nurbs patches、穿插在几何体表面的各种属性、几何相关的扩展和集成、计算边界框等等。
针对着色,USD提供了 UsdShade 库。其定义了可以连接入网络、打包到可复用材质的基本着色节点,基于此特性,用户可以创建公共接口用于修改着色网络中的参数。它为几何体与材料的绑定提供了巨大的灵活性。
USD重新定义了模型(Model)和资产(Asset)的概念。为了更好地描述和管理较大的 Prims(USD中最基本的容器对象),用 Model 来表示某些特定的Prims。叶节点Model被称作Compoent。组成Model的Model被称作Group,而发布后的Group(一种Asset)被称作 Assembly。Asset 在USD中指底层的某个独一无二的外部资产文件,它也可以指代场景中的某个由一串字符标识的物件。同时 “asset” 也是USD中的一个基本类型,对应C++中的SdfAssetPath类。
USD不是一个应用,而是一个体系。它可以文件格式,可以是一系列工具,也可以是集成在其它任何应用中的插件。
2. USD的特点
-
支持不同文件格式
对应抽象类SdfFileFormat
二进制文件(.usdc)
文本文件(.usda)
压缩文件(.usdz) -
统一的API
C++
USD - C++API手册: https://graphics.pixar.com/usd/release/api/index.html
Python
USD - PythonAPI指南: https://developer.nvidia.cn/usd/apinotes
USD - Python调用示例:



-
丰富的工具集
usdedit
此工具将.usd文件转换成临时的.usda文件,并用编辑器打开它。编辑器是可选择的,通过环境变量EDITOR

USD(Universal Scene Description)是Pixar推出的3D场景描述格式,旨在解决场景描述的通用性问题。它提供了多样的API和工具集,支持文件格式如.usda、.usdc和.usdz。USD通过Layer、Prims和Attributes等构建场景,允许多人同时编辑,广泛应用于3D内容创作工具间的数据交换。在UE4中,USD支持导入和交互。NVIDIA Omniverse基于USD提供实时开发平台。
&spm=1001.2101.3001.5002&articleId=126453881&d=1&t=3&u=a164625ad98c484d92e0ffd8d8863d1d)
231

被折叠的 条评论
为什么被折叠?



