Skip to content

Commit bbcc720

Browse files
committed
Example of using the UsdSemantics schema
1 parent e45ffe6 commit bbcc720

File tree

1 file changed

+164
-0
lines changed

1 file changed

+164
-0
lines changed
Lines changed: 164 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,164 @@
1+
#usda 1.0
2+
(
3+
doc = "This layer represents an example of using UsdSemantics"
4+
upAxis = "Y"
5+
startTimeCode = 0
6+
endTimeCode = 200
7+
)
8+
9+
def Xform "Booshelf" (
10+
apiSchemas = ["SemanticsLabelsAPI:category", "SemanticsLabelsAPI:style"]
11+
)
12+
{
13+
token[] semantics:labels:category = ["furniture", "cabinet"]
14+
token[] semantics:labels:style = ["modern", "chic"]
15+
double3 xformOp:translate = (0, 100.87384788680441, 0)
16+
uniform token[] xformOpOrder = ["xformOp:translate", "xformOp:rotateXYZ", "xformOp:scale"]
17+
18+
def Xform "Shelves" (
19+
apiSchemas = ["SemanticsLabelsAPI:category"]
20+
)
21+
{
22+
token[] semantics:labels:category = ["horizontal shelving"]
23+
double3 xformOp:translate = (113, 0, 0)
24+
uniform token[] xformOpOrder = ["xformOp:translate", "xformOp:rotateXYZ", "xformOp:scale"]
25+
26+
def Cube "shelf_geo_01" (
27+
apiSchemas = ["MaterialBindingAPI", "SemanticsLabelsAPI:state"]
28+
)
29+
{
30+
token[] semantics:labels:state.timeSamples = {
31+
0: ["empty"],
32+
50: ["partially full"],
33+
100: ["full"]
34+
}
35+
float3[] extent = [(-50, -50, -50), (50, 50, 50)]
36+
rel material:binding = </looks/wood> (
37+
bindMaterialAs = "weakerThanDescendants"
38+
)
39+
double size = 100
40+
double3 xformOp:scale = (0.9999999999999999, 0.0773693394230031, 0.7625704657327257)
41+
double3 xformOp:translate = (-113, 70.05470741643151, 0)
42+
uniform token[] xformOpOrder = ["xformOp:translate", "xformOp:rotateXYZ", "xformOp:scale"]
43+
}
44+
45+
def Cube "shelf_geo_02" (
46+
apiSchemas = ["MaterialBindingAPI", "SemanticsLabelsAPI:state"]
47+
)
48+
{
49+
token[] semantics:labels:state = ["partially full"]
50+
float3[] extent = [(-50, -50, -50), (50, 50, 50)]
51+
rel material:binding = </looks/wood> (
52+
bindMaterialAs = "weakerThanDescendants"
53+
)
54+
double size = 100
55+
double3 xformOp:scale = (0.9999999999999999, 0.0773693394230031, 0.7625704657327257)
56+
double3 xformOp:translate = (-113, 28.205436432969066, 0)
57+
uniform token[] xformOpOrder = ["xformOp:translate", "xformOp:rotateXYZ", "xformOp:scale"]
58+
}
59+
60+
def Cube "shelf_geo_03" (
61+
apiSchemas = ["MaterialBindingAPI", "SemanticsLabelsAPI:state"]
62+
)
63+
{
64+
token[] semantics:labels:state = ["full"]
65+
float3[] extent = [(-50, -50, -50), (50, 50, 50)]
66+
rel material:binding = </looks/wood> (
67+
bindMaterialAs = "weakerThanDescendants"
68+
)
69+
double size = 100
70+
double3 xformOp:scale = (0.9999999999999999, 0.0773693394230031, 0.7625704657327257)
71+
double3 xformOp:translate = (-113, -14.418843141218574, 0)
72+
uniform token[] xformOpOrder = ["xformOp:translate", "xformOp:rotateXYZ", "xformOp:scale"]
73+
}
74+
75+
def Cube "shelf_geo_04" (
76+
apiSchemas = ["MaterialBindingAPI"]
77+
)
78+
{
79+
float3[] extent = [(-50, -50, -50), (50, 50, 50)]
80+
rel material:binding = </looks/wood> (
81+
bindMaterialAs = "weakerThanDescendants"
82+
)
83+
double size = 100
84+
double3 xformOp:scale = (0.9999999999999999, 0.0773693394230031, 0.7625704657327257)
85+
double3 xformOp:translate = (-113, -57.934833429151425, 0)
86+
uniform token[] xformOpOrder = ["xformOp:translate", "xformOp:rotateXYZ", "xformOp:scale"]
87+
}
88+
89+
def Cube "shelf_geo_05" (
90+
apiSchemas = ["MaterialBindingAPI"]
91+
)
92+
{
93+
float3[] extent = [(-50, -50, -50), (50, 50, 50)]
94+
rel material:binding = </looks/wood> (
95+
bindMaterialAs = "weakerThanDescendants"
96+
)
97+
double size = 100
98+
double3 xformOp:scale = (0.9999999999999999, 0.0773693394230031, 0.7625704657327257)
99+
double3 xformOp:translate = (-113, -99.27174085182759, 0)
100+
uniform token[] xformOpOrder = ["xformOp:translate", "xformOp:rotateXYZ", "xformOp:scale"]
101+
}
102+
}
103+
104+
def Cube "bookshelf_geo" (
105+
apiSchemas = ["MaterialBindingAPI"]
106+
)
107+
{
108+
float3[] extent = [(-50, -50, -50), (50, 50, 50)]
109+
rel material:binding = </looks/wood> (
110+
bindMaterialAs = "weakerThanDescendants"
111+
)
112+
double size = 100
113+
double3 xformOp:scale = (1.0484495248498045, 1.991987664077115, 0.13958063483880567)
114+
uniform token[] xformOpOrder = ["xformOp:translate", "xformOp:rotateXYZ", "xformOp:scale"]
115+
}
116+
}
117+
118+
def Scope "looks"
119+
{
120+
def Material "wood" (
121+
apiSchemas = ["SemanticsLabelsAPI:material"]
122+
)
123+
{
124+
token[] semantics:labels:material = ["wood", "oak", "American White Oak"]
125+
token outputs:displacement.connect = </looks/wood/Shader.outputs:displacement>
126+
token outputs:surface.connect = </looks/wood/Shader.outputs:surface>
127+
128+
def Shader "Shader"
129+
{
130+
uniform token info:id = "UsdPreviewSurface"
131+
float inputs:clearcoat = 0
132+
float inputs:clearcoatRoughness = 0.01
133+
color3f inputs:diffuseColor = (0.5145, 0.3639, 0.229) (
134+
renderType = "color"
135+
)
136+
float inputs:displacement = 0
137+
color3f inputs:emissiveColor = (0, 0, 0) (
138+
renderType = "color"
139+
)
140+
float inputs:ior = 1.5
141+
float inputs:metallic = 0
142+
normal3f inputs:normal = (0, 0, 1)
143+
float inputs:occlusion = 1
144+
float inputs:opacity = 1
145+
float inputs:opacityThreshold = 0 (
146+
connectability = "interfaceOnly"
147+
)
148+
float inputs:roughness = 0.5
149+
color3f inputs:specularColor = (0, 0, 0) (
150+
renderType = "color"
151+
)
152+
int inputs:useSpecularWorkflow = 0 (
153+
connectability = "interfaceOnly"
154+
)
155+
token outputs:displacement (
156+
renderType = "material"
157+
)
158+
token outputs:surface (
159+
renderType = "material"
160+
)
161+
}
162+
}
163+
}
164+

0 commit comments

Comments
 (0)