These changes were authored by Michael B Johnson (drwave). The default Blender USD export currently produces files that trigger errors in the usdchecker that ships with USD 22.11. The changes are: - Set the defaultPrim if no defaultPrim is set. This sets it to the first prim in the hierarchy which matches the behaviour of Pixar's referencing (where referencing a USD layer without a defaultPrim will pick the first prim) as well as matches the logic in Pixar's Maya USD exporter code. - Applies the MaterialBindingAPI to prims with material binding attributes. This is a relatively new requirement for USD as it will help for efficiency with upcoming changes to Hydra. - Removes the preview scope in the USD shader hierarchy, because it is no longer valid for shaders to have any non-container ancestors in their hierarchy up until the enclosing Material prim. Reviewed by: Michael Kowalski Differential Revision: https://developer.blender.org/D17041