Instancing Payloads

Hi,

I am getting started in developing for USD by building my own asset processing and render pipeline. I am creating a python script that will compose a USD stage from payloads of other USD crates.

If I load the same payload (AddPayload method) into multiple prims, will USD load it into memory every time or will it treat it more like an instance?

Thanks.

To answer my own question as best I understand, all I have to do is flag the each prim as instanceable (SetInstanceable(True)) and then the USD stage will automatically optimize it. I don’t need create my own prototype and then reference that.

Yes correct. If you make any reference or payload an “instanceable”, it should not increase the GPU vram load with each additional copy. In theory it is infinite. But if that asset has physics or animation on it, there will be a large CPU increase, which is partially processed on the cpu.

This topic was automatically closed 14 days after the last reply. New replies are no longer allowed.