Which of the following are valid principles of asset structure? Choose three.
Which of the following are valid reasons for choosing to use or develop a standalone converter instead of an importer/exporter for a digital content creation (DCC) application? Choose two.
As part of a data exchange workflow, you have exported the following file from your DCC tool, and notice that the displayed extents box of the sphere is too large:
#usda 1.0
(
defaultPrim = "Model1"
)
def Sphere "MySphere"
{
double radius = 0.5
float3[] extent = [(-3.0, -3.0, -3.0), (3.0, 3.0, 3.0)]
}
Your tool, and also the final consumer of the scene data, would like best-fit correct extents. Which of the following could the export process do to address this problem for any exported boundable prim?
Why is extract, transform, load (ETL) a useful design pattern for USD data exchange? Choose two.
Review the following code for creating 1000 sphere instances. When this code is executed, why will the authored prims not yield any instancing efficiencies?
for i in range(1000):
xform = UsdGeom.Xform.Define(stage, f"/test_{i}")
sphere_path = xform.GetPath().AppendPath("sphere")
UsdGeom.Sphere.Define(stage, sphere_path)
xform.GetPrim().SetInstanceable(True)
xform.AddTranslateOp().Set((i * 2, 0, 0))
Another department at your company has provided layer1.usda that has a Sphere Gprim with animated timeValues that translate the sphere along the Y-axis:
#usda 1.0
(
endTimeCode = 60
startTimeCode = 1
)
def Xform "Asset"
{
def Sphere "Sphere"
{
double3 xformOp:translate.timeSamples = {
1: (0, 5.0, 0)
30: (0, -5.0, 0)
60: (0, 5.0, 0)
}
uniform token[] xformOpOrder = ["xformOp:translate"]
}
}
You’ve been given rootLayer.usda that references Sphere from layer1.usda as follows:
#usda 1.0
(
endTimeCode = 60
startTimeCode = 1
)
def Xform "World"
{
def Sphere "Sphere" (
prepend references = @./layer1.usda@ < /Asset/Sphere >
)
{
}
}
For testing purposes, you want to check what Sphere would look like if it was at (0, -5.0, 0) at timeCode = 45. Which of the following changes in rootLayer.usda would place Sphere at -5.0 in the Y-axis at timeCode 45? Note that it is okay if the position of Sphere at other timeCodes is changed. Choose two.
In OpenUSD, which USDA snippet correctly uses a payload to reference an external asset while allowing deferred loading?
What fundamental data type in USD is most suitable for representing texture files?
Suppose you had the following layer:
#usda 1.0
(
defaultPrim = "ParentXform"
)
def Xform "ParentXform"
{
def Mesh "ChildMesh"
{
}
}
If you wanted to add a property to "ParentXform" such that it would automatically propagate to "ChildMesh" without having to add the same property to "ChildMesh", which of the following changes to "ParentXform" would make this work?
You are a developer creating an OpenUSD exporter for an application that also supports import of USD assets. To enable collaborative workflows, you're adding an “export as overrides†option.
Which approach correctly describes which structure your exporter should generate?
You and your colleague open the same USD layer but one of you observes missing geometry. What could be the reason why?
When prioritizing ease of interchange and reducing dependencies between different applications in a pipeline, why might codeless schemas, schemas defined purely in .usda files, be preferred over codeful schemas, schemas with generated classes using usdGenSchema?
If you have a Usd.Prim object named my_prim and you want to specifically retrieve an attribute named "size", which method would you typically use?
In the context of UsdGeomMesh, which statement is true about mesh normals?
When developing a custom USD schema, what statements are true regarding API schemas versus typed schemas? Choose two.
Which of the following are immutable once a USD Stage has been opened? Choose two.
Considering the following scene description:
def "ParkingLot"
{
def "Car_1" (
instanceable = true
references = @Car.usd@
)
{
}
def "Car_2" (
instanceable = true
references = @Car.usd@
)
{
}
}
Disabling the instanceable metadata on the prim at path /ParkingLot/Car_2 by setting it to false has the following effects: Choose two.