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
http://graphics.pixar.com/usd/docs/attachments/368705904/565776846.png

可以使用View ‣ Complexity 菜单项来细化几何图形,或者使用热键来增加或减少细化。Ctrl-+Ctrl--

http://graphics.pixar.com/usd/docs/attachments/368705904/568921522.png

还可以通过按下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 文件,那么usdcatusdedit在它上面的工作方式是一样的。

#usda 1.0 
def Xform "hello"
{    
    def Sphere "world"    
    {    
    }
}

原文链接:Hello World - Creating Your First USD Stage