1676c06386e84bebf69a73e9ededd50a00ee87f9
During stage load we first look for Prototype prims which are used for instancing. However, if the instancer itself at the root of that Prototype hierarchy would later be excluded because of either purpose or visibility checks, the Prototypes would still be processed. These would correctly be imported but would end up orphaned because nothing would later add them to the view layer. Code expecting these objects to be found within the scene would then fail. In Animal Logic ALab this situation played out where there was a `/root/instancer` prim with purpose "render" and we proceeded to load the prims under the `/root/instancer/Prototypes/...` hierarchy. Since we were attempting to load just the "proxy" purpose, the `/root/instancer` was later excluded and the orphaning of those prototypes happened. The change here moves `collect_point_instancer_proto_paths` to a method of `USDStageReader` so it can now access `include_by_purpose` and `include_by_visibility`. And these are now used to prevent unnecessary Prototype loading. Pull Request: https://projects.blender.org/blender/blender/pulls/128564
…
Blender
Blender is the free and open source 3D creation suite. It supports the entirety of the 3D pipeline-modeling, rigging, animation, simulation, rendering, compositing, motion tracking and video editing.
Project Pages
Development
License
Blender as a whole is licensed under the GNU General Public License, Version 3. Individual files may have a different, but compatible license.
See blender.org/about/license for details.
Description
Languages
C++
78%
Python
14.9%
C
2.9%
GLSL
1.9%
CMake
1.2%
Other
0.9%
