all  /  full_assets  / Teapot  / geo  / UtahTeapot .usd

Teapot Model

Teapot Models with different Draw Modes File: DrawModes.usd

A model of the classic Utah Teapot, with other Teapot variations.

Details

The Teapot asset is a model, specifically a component. Among the other expected features of a component (such as a payload), it demonstrates properly configured draw modes. Also represented are geomsubsets, model and shading variants, and UsdPreviewSurface 2.4 materials.

Draw Mode provides a light-weight representation of models in a scene, while still providing useful information and context to the viewer. When lofted outside of a payload, draw mode can provide a rich representation for unloaded models.

The DrawModes.usd scene demonstrates all of the various draw mode options in the asset.

For technical details on draw mode, see the UsdGeomModelAPI documentation.

modelVariants

UtahTeapot FancyTeapot File: Teapot.usd

The modelVariant variant contains two options: Utah and Fancy. Each references its corresponding geometry layer stored in the geo folder.

When drawMode is set to “cards”, each model variant has one set of texture maps. these are all stored in the cards folder. Both “box” and “cross” options are demonstrated with all axes.

shadingVariants

Each model variant has its own set of shading variants. drawModeColor is setup to reflect the different shadingVariants.

All texture maps are stored in the textures folder.

Ideas for Future Contributions

  • Python script to produce and configure the images using usdrecord
  • Add fromTexture card mode example
  • 1- or 2-axis card examples
  • Create texture cards for every permutation of model and shading variants
  • Other examples of draw mode for assembly models
  • Provide richer examples of materials, perhaps using UsdMaterialX

Sources

The asset was produced by Chris Rydalch at SideFX Software, with feedback from the Houdini and USD communities.

The original Fancy Teapot data was part of the Tea Set created by James Ray Cook, Jurita Burger, and Rico Cilliers at PolyHaven. They generously made it available under a Public Domain - CC0 license.

License

Public Domain - CC0


Edit this page

UtahTeapot.usd

#usda 1.0
(
    defaultPrim = "UtahTeapot"
    framesPerSecond = 24
    metersPerUnit = 1
    timeCodesPerSecond = 24
    upAxis = "Y"
)

def Xform "UtahTeapot"
{
    def Mesh "Geometry"
    {
        float3[] extent = [(-0.1526284, -7.450581e-9, -0.262063), (0.1526284, 0.22956148, 0.2289426)... (truncated)]
        int[] faceVertexCounts = [4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, ... (truncated)]
        int[] faceVertexIndices = [0, 7, 8, 1, 1, 8, 9, 2, 2, 9, 10, 3, 3, 10, 11, 4, 4, 11, 12, 5, ... (truncated)]
        uniform token orientation = "rightHanded"
        point3f[] points = [(9.313226e-10, 0.17170696, -0.09539276), (-0.025614722, 0.17170696, -0.0... (truncated)]
            interpolation = "vertex"
        )
        float3[] primvars:rest = [(9.313226e-10, 0.17170696, -0.09539276), (-0.025614722, 0.17170696... (truncated)]
            interpolation = "vertex"
        )
        int[] primvars:rest:indices = None
        texCoord2f[] primvars:st = [(0.14187366, 0.30365044), (0.13930179, 0.29916012), (0.16199072,... (truncated)]
            interpolation = "faceVarying"
        )
        int[] primvars:st:indices = None
        uniform token subdivisionScheme = "catmullClark"

        def GeomSubset "Handle"
        {
            int[] indices = [840, 841, 842, 843, 844, 845, 846, 847, 848, 849, 850, 851, 852, 853, 8... (truncated)]
        }

        def GeomSubset "Spout"
        {
            int[] indices = [1032, 1033, 1034, 1035, 1036, 1037, 1038, 1039, 1040, 1041, 1042, 1043,... (truncated)]
        }

        def GeomSubset "Body"
        {
            int[] indices = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 2... (truncated)]
        }

        def GeomSubset "Lid"
        {
            int[] indices = [90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 1... (truncated)]
        }
    }
}