File: DrawModes.usd
A model of the classic Utah Teapot, with other Teapot variations.
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.
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.
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.
usdrecord
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.
Public Domain - CC0
#usda 1.0
(
endTimeCode = 1
framesPerSecond = 24
metersPerUnit = 1
startTimeCode = 1
timeCodesPerSecond = 24
upAxis = "Y"
defaultPrim = "Teapot"
)
def DomeLight "MyCustomDomeLight"
{
float intensity = 500
color3f color = (1, 0, 0)
}
def PointLight "MyPointLight"
{
float intensity = 100.0
color3f color = (0, 1, 0)
float3 translate = (2, 2, 2)
}
def Xform "Teapot" (
assetInfo = {
dictionary credits = {
string FancyTeapot = "PolyHaven | Public Domain - CC0 | https://polyhaven.com/a/tea_set_01"
string UtahTeapot = "Public Domain - CC0"
}
asset identifier = @Teapot.usd@
string name = "Teapot"
string version = "1.0"
}
prepend payload = @./Teapot_Payload.usd@
variants = {
string modelVariant = "Utah"
}
prepend variantSets = "modelVariant"
)
{
variantSet "modelVariant" = {
"Fancy" (
prepend apiSchemas = ["GeomModelAPI"]
kind = "component"
) {
float3[] extentsHint = [(-0.1526284, -7.450581e-9, -0.262063), (0.1526284, 0.22956148, 0... (truncated)]
asset model:cardTextureXNeg = @./cards/Fancy/XNeg.png@
asset model:cardTextureXPos = @./cards/Fancy/XPos.png@
asset model:cardTextureYNeg = @./cards/Fancy/YNeg.png@
asset model:cardTextureYPos = @./cards/Fancy/YPos.png@
asset model:cardTextureZNeg = @./cards/Fancy/ZNeg.png@
asset model:cardTextureZPos = @./cards/Fancy/ZPos.png@
}
"Utah" (
prepend apiSchemas = ["GeomModelAPI"]
kind = "component"
) {
float3[] extentsHint = [(-0.1526284, -7.450581e-9, -0.262063), (0.1526284, 0.22956148, 0... (truncated)]
asset model:cardTextureXNeg = @./cards/Utah/XNeg.png@
asset model:cardTextureXPos = @./cards/Utah/XPos.png@
asset model:cardTextureYNeg = @./cards/Utah/YNeg.png@
asset model:cardTextureYPos = @./cards/Utah/YPos.png@
asset model:cardTextureZNeg = @./cards/Utah/ZNeg.png@
asset model:cardTextureZPos = @./cards/Utah/ZPos.png@
}
}
}