Community
Arnold for 3ds Max
Rendering with Arnold in 3ds Max using the MaxtoA plug-in.
cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

Standin: Efficiency as "standalone" assets

12 REPLIES 12
Reply
Message 1 of 13
Andrew_Wilkins1
452 Views, 12 Replies

Standin: Efficiency as "standalone" assets

Good day,

Regarding standin computation efficiency as a general scene asset type.
It's my understanding that due to the "procedural" nature of standins referencing the same cache file—you really start to win out in terms of rendering when the assets are "bulk scattered / set dressed"

#1: In the scenario where most assets are either unique / standalone and aren't "bulk duplicated" do you still gain anything in terms of rendering? Other than a more "workable" scene.
ie. its more efficient to access and load .ASS files than local geo (maya references, alembic etc.)


#2: Then in a scenario where you want to utilize adaptive subdivision and frustum culling to automatically reduce asset complexity and ram usage based on the shot camera—where you would need to use "Maya References/Alembic" for example to utilize those features.

When do you start winning out when using Standins instead? (Thereby disabling adaptive subdiv and frustum culling) Is there a certain threshold?
ie. "I'm not having a large amount of duplicates, don't use standins." VS "I'm duplicating assets 10-50+ times, use standins."

I know there is a lot of factors to take into consideration, but I'd like to make the best scene assembly type decisions for exterior vs interior environments.


All the best,
Andrew

12 REPLIES 12
Message 2 of 13
brurpo
in reply to: Andrew_Wilkins1

Maybe a developer will be able to answer this more thoroughly, but I use standins as asset management a lot, not only because I think its efficient both at viewport and render, but because it can be used at multiple softwares, retaining shaders and textures.

About your #1 question, you still have gains by using standins, not at render time I think, but at translation time. Having your asset as an .ass means your object is arealdy translated.

#2 You can still use adaptive subdivision and frustrum culling using standins, and also control them post export:

4156-aistandin.jpg

Also, you can set a shape as a procedural in an objects shape node.

4157-stdn1.jpg

This has two advantages, you can have a very low poly version of your model, so you have a better understanding of its placement than you could with the default standin if your mesh is very high poly, like a tree for example.

Also, you can do pretty much anything you do with maya meshes this way, like using mash to distribute them:

4158-stdn2.jpg

Message 3 of 13
Andrew_Wilkins1
in reply to: brurpo

Thanks so much for your input Bruno.

I'm planning to do some render testing, it's also my understanding that the file format should be more efficient.

FYI (Unless somethings changed)
https://answers.arnoldrenderer.com/questions/13407/adaptive-subdivision-on-object-space.html?childTo...

Unfortunately, Frustum Culling doesn't work on Standins and Adpative Subdiv on Object works, but you'll need to adjust the adaptive error to work for all possible instances.

When set to Raster you'll get pretty random topology changes across all instances (FG and BG) which would be undesirable.

Message 4 of 13
brurpo
in reply to: Andrew_Wilkins1

You are welcome!

Yes, if they are instances, they will share the same shape. But how would you make any kind of instances adaptively subdvide based on distance? As they will always share the same shape, regardless of whether they are standins or not.

Message 5 of 13
Andrew_Wilkins1
in reply to: brurpo

Yeah 😕
It would almost need to read the ass files and then as a secondary calculation at render time do per "instance" adaptive subdivision/culling. Which may just defeat the point of the Standins in the first place....or add too much "overhead" ^-^

My question I think still stands though...in certain situations maybe it's better to have adaptive subdiv/culling on—rather than "standalone" instances?

Message 6 of 13
brurpo
in reply to: Andrew_Wilkins1

I don't think so IMHO. If you are using adaptive subdiv/culling, you are not using instances, because if you are, they share the same shape and wont have different subdivisions for example. You can, for the same effect, export those objects as standins, turn on subdiv or culling using arnold procedurals, and just duplicate them instead of instantiate. You wont have instances, but you will skip the translation of those standins, whereas if you are directly doing that in maya, you will have to translate all those copies to arnold renderer, and that takes pre-computation time.

Message 7 of 13
brurpo
in reply to: Andrew_Wilkins1

Another thing you could do, which is not adaptive per se, but its close, and you will have less pre-computation time because you will not be subdividing things in runtime, albeit taking more work time. So its something you will have to measure per project.

You can take those objects and make LODs, like 3 or 4 for example, maybe even using maya decimation.

Make a LOD-0 as the highest subdivision that you will use and export it as a standin. Then make incrementally lower subdiv for LOD-1 to LOD-3, or as much as you need to avoid popping in the render.

Message 8 of 13
brurpo
in reply to: brurpo

You can then distribute those standins in your scene as normal, after doing it, create a mash network out of all of them, and on distribute options set initial state.

If you have more than one type of object, its ideal that you make one mash for each type.

On mash repro, remove all objects but one.

Then on LOD add each of the LODs you created and configure the distance.

The longer the distance, the higher the LOD. You will have the benefits of lower subdiv in objects far away, keep them as instances, but you will have a bit more work, so, as I said, you will have to measure the benefits.

Message 9 of 13
brurpo
in reply to: Andrew_Wilkins1

BTW, this gave me an idea about a particle instancer LOD script, I will try to make one.

Message 10 of 13

Haha awesome!
Btw, I'm kind of lumping "Standins/Instances/Procedurals" into a similar category.
I generally steer clear of actual Maya instances in general.

Interesting you mentioned the LOD approach, as it's one that we're most likely going to take, reducing subdiv iterations and maybe sometimes mesh reduction on base mesh geometry and/or more simple shader networks.

I guess I was hoping LOD meshes could be prevented—if the renderer could handle at least the basic drop in subdiv iterations. I thought Operators could help, but of course that changes all the standins of the same asset type.

Message 11 of 13
brurpo
in reply to: Andrew_Wilkins1

Hey! Ive made a particle instancer lod that works with standins or almost anything really. Its not quite what you want, but it may work with some workarounds and may be useful.

The windows video capture does not show maya`s floating windows >.<

You can either convert existing meshes or use maya particles (lod distance was not working with nparticles, the expression was not updating and inaccessible, I have an older maya version here at home, I will try with the newer at work, it seems like a bug, classic particles work).

video example

I can send it to you if you want, but there are still some problems to work on.

Message 12 of 13
Andrew_Wilkins1
in reply to: brurpo

Hey man! Wow that's very cool! I'm not very clued up on maya particles tbh.

Will let you know, we're going to be working on this in the next few months and main concern is just integrating into pipeline and having workable tools to efficiently handle large amounts of standins with LODs (on a shot level).

Message 13 of 13
brurpo
in reply to: Andrew_Wilkins1

Thanks!! Sure thing!

Usually, for a Very large number of assets, with or without lod, with or without standins, is using xgen, even though Its not Very user friendly, and gives, almost always, some pretty intense headaches at render time.

Can't find what you're looking for? Ask the community or share your knowledge.

Post to forums  

Autodesk Design & Make Report