NSDT工具推荐: Three.js AI纹理开发包 - YOLO合成数据生成器 - GLTF/GLB在线编辑 - 3D模型格式在线转换 - 可编程3D场景编辑器 - REVIT导出3D模型插件 - 3D模型语义搜索引擎 - AI模型在线查看 - Three.js虚拟轴心开发包 - 3D模型在线减面 - STL模型在线切割 - 3D道路快速建模
本教程将介绍如何创建一个包含变换和球体的简单 USD 舞台。
1、USD Python开发
打开USD/extras/usd/tutorials/helloWorld/helloWorld.py以查看创建和导出舞台的 Python 脚本。它应该如下所示。
from pxr import Usd, UsdGeom
stage = Usd.Stage.CreateNew('HelloWorld.usda')
xformPrim = UsdGeom.Xform.Define(stage, '/hello')
spherePrim = UsdGeom.Sphere.Define(stage, '/hello/world')
stage.GetRootLayer().Save()
执行 Python 脚本以创建HelloWorld.usda。
$ python extras/usd/tutorials/helloWorld/helloWorld.py
2、可视化舞台
使用usdview可视化和检查阶段。
在usdview中打开stage:
$ usdview HelloWorld.usda
可以使用View ‣ Complexity 菜单项来细化几何图形,或者使用热键来增加或减少细化。Ctrl-+Ctrl--
还可以通过按下i或使用Window ‣ Interpreter菜单项来调出嵌入式 Python 解释器。这个解释器有一个内置的 API 对象usdviewApi,它包含一些有用的变量。一个是usdviewApi.prim,它指的是当前选定的 prim 集合中分层的第一个 prim。
通过在视口中单击球体或在左侧树视图中单击球体名称world来选择球体。然后尝试以下命令:
>>> usdviewApi.prim
Usd.Prim(</hello/world>)
>>> usdviewApi.prim.GetTypeName()
'Sphere'
>>> usdviewApi.prim.GetAttribute('radius').Get()
1.0
3、查看和编辑 USD 文件内容
导出的文件可以通过 usdcat 进行人工阅读,也可以通过usdedit进行文本编辑( 默认安装中都可以在USD_INSTALL_ROOT/bin中找到)。usdedit程序会将任何 .usd 文件以纯文本形式显示在您的EDITOR
无论其基础格式如何,并在编辑完成后将其保存为原始格式。有关详细信息,请参阅usdedit。
由于我们创建了一个扩展名为.usda的基于文本的 USD 文件,因此可以直接在文本编辑器中编辑此特定示例。如果我们创建了一个带有.usdc扩展名 的二进制 usd 文件,那么usdcat和usdedit在它上面的工作方式是一样的。
#usda 1.0
def Xform "hello"
{
def Sphere "world"
{
}
}