Can Rhino export block instances in *.usdz format? If not, could this please be added?
I just searched online quickly and Blender has an experimental export option which apparently does that.
I put together a test file with the help of a few exported geometries and copilot helped me mix something together which doesn’t really work.
Is there anyone here who knows how to create a nested *.usda file?
#usda 1.0
(
doc = """Generated from Composed Stage of root layer"""
metersPerUnit = 0.001
upAxis = "Y"
)
def Xform "Rhino"
{
def Xform "Geometry"
{
def Mesh "square" (
apiSchemas = ["MaterialBindingAPI"]
)
{
uniform bool doubleSided = 1
float3[] extent = [(0, 0, 0), (1000, 0, 1000)]
int[] faceVertexCounts = [4]
int[] faceVertexIndices = [3, 1, 0, 2]
normal3f[] normals = [(0, 1, 0), (0, 1, 0), (0, 1, 0), (0, 1, 0)]
point3f[] points = [(326, 0, 452), (326, 0, 358), (420, 0, 452), (420, 0, 358)]
texCoord2f[] primvars:st1 = [(0, 0), (0, 1), (1, 0), (1, 1)] (
interpolation = "vertex"
)
}
}
def "Materials"
{
def Material "material1"
{
token outputs:surface.connect = </Rhino/Materials/material1/shader0.outputs:surface>
def Shader "shader0"
{
uniform token info:id = "UsdPreviewSurface"
float inputs:clearcoat = 0
color3f inputs:diffuseColor = (0, 1, 0)
color3f inputs:emissiveColor = (0, 0, 0)
float inputs:ior = 1.56
float inputs:metallic = 0
float inputs:opacity = 1
float inputs:roughness = 1
int inputs:useSpecularWorkflow = 0
token outputs:surface
}
}
def Material "material2"
{
token outputs:surface.connect = </Rhino/Materials/material2/shader0.outputs:surface>
def Shader "shader0"
{
uniform token info:id = "UsdPreviewSurface"
float inputs:clearcoat = 0
color3f inputs:diffuseColor = (0, 0, 1)
color3f inputs:emissiveColor = (0, 0, 0)
float inputs:ior = 1.56
float inputs:metallic = 0
float inputs:opacity = 1
float inputs:roughness = 1
int inputs:useSpecularWorkflow = 0
token outputs:surface
}
}
}
def Xform "Instances"
{
def Xform "Instance1"
{
rel references = </Geometry/square>
matrix4d xformOp:transform = ( (1, 0, 0, 0), (0, 1, 0, 0), (0, 0, 1, 0), (100, 0, 0, 1) )
rel material:binding = </Rhino/Materials/material1>
}
def Xform "Instance2"
{
rel references = </Geometry/square>
matrix4d xformOp:transform = ( (1, 0, 0, 0), (0, 1, 0, 0), (0, 0, 1, 0), (200, 100, 0, 1) )
rel material:binding = </Rhino/Materials/material2>
}
}
}
two_mesh_squares.usda (2.7 KB)
For this particular file, iRhino shows just the one shape defined in “Geometry”