Hi,
I have some USD assets using point instancer. I found out if I have some extra transforms on the point instancer group or its parent group, the rendered result would be wrong, while it is correct as shown in the viewport.
Below I have a USD sample to illuminate the problem.
boxes.usda:
#usda 1.0
def PointInstancer "PointInstancer"
{
point3f[] positions = [(1, 0, -1), (1, 0, 1), (-1, 0, -1), (-1, 0, 1)]
int[] protoIndices = [0, 0, 0, 0]
rel prototypes = </Box>
float3 xformOp:rotateXYZ = (0, 45, 0)
uniform token[] xformOpOrder = ["xformOp:rotateXYZ"]
}
over Mesh "Box"
{
uniform bool doubleSided = 1
float3[] extent = [(-1, -1, -1), (1, 1, 1)]
int[] faceVertexCounts = [4, 4, 4, 4, 4, 4]
int[] faceVertexIndices = [0, 1, 3, 2, 2, 3, 5, 4, 4, 5, 7, 6, 6, 7, 1, 0, 1, 7, 5, 3, 6, 0, 2, 4]
point3f[] points = [(-1, -1, 1), (1, -1, 1), (-1, 1, 1), (1, 1, 1), (-1, 1, -1), (1, 1, -1), (-1, -1, -1), (1, -1, -1)]
}
The rendered result vs the viewport is shown above and in the attachment. I think it seems that the instances still inherit the transform of the prototype while it should not.
Thank you so much for your time!
Regards,
Zimu