Jump to content

3DS Max Containers


Recommended Posts

Anybody else used them?

 

Having got myself thoroughly confused with the containers help file, I decided to jump in at the deep end and use them in a live project regardless.

 

Never again. It seems to me some absolute fundamentals are missing, making them more/less unusable, primarily I was going to be using them to reference in houses on to a site, and any changes made will carry through, etc.

 

Due to it being a medium/large project the viewport started getting a bit laggy so I thought I'd do what any discerning 3D person would do and hide the containers. Low and behold the container object was hidden, but none of the geometry contained within it, rendering it utterly useless for viewport performance gains.

 

I was also astonished at how laggy the viewport had become too, so looked into the max help again and found out that you can't instance containers (though i'd been doing this all along) - so presumably the same geometry was constantly being re-loaded time and time again, including I assume at rendertime.

 

Just wondering if anybody else had the same problems? I won't be using them again until some fundamentals are fixed.

Link to comment
Share on other sites

I didnt see any advantage over groups / xrefs / proxies. Just a confusing set of protocols to learn with no benefit.

My preferred method of keeping separate files is Vray Proxy. Its not automated, but I just have different stuff in different files which I clone/collapse and save out to a proxy file which loads into my master scene. Ive never managed to get X-Refs to play nice with DR and all my plugins at the same time so I dont really use that either.

Link to comment
Share on other sites

I'll second proxies, I once did a project which consisted of 6 house types which were cloned around a large site, all up around 100 houses. I built each house in its own file , collapsed and proxied the house. If there were any changes to the house then I'd just remake the proxie with the changes and the master file would update automatically.

 

Just remember to keep an collapsed version as well

 

jhv

Link to comment
Share on other sites

containers are another 3dsmax feature that is actually a SCAM.

 

id avoid them for another few years at least.

We basically do what Tommy does - the simplest tried and trusted solutions are more often than not the best ones.

Link to comment
Share on other sites

So how do you guys deal with materials on your houses then? Presumably you have to go round the entire building setting material ID's before collapsing it all?

 

I had thought about doing it before with the VRay proxy, but it seemed such a lot of effort going round every item in the scene and setting its mat ID and creating a multi-sub material. Exporting to a VRmesh is the easy part!

Link to comment
Share on other sites

depends how close it is in the shot - if its an aerial them just an object ID for each building

if its closer and you need mat id put them on before you collapse it. not generally more than 4-5 materials per house?

 

i rarely would have an mat id or object id for every single thing - but im not sure what you do in post with them?

ID tools is a good script though for making assigning and clearing ID's

 

i should mention that i wouldnt go to vray proxy until you really need to - instances and instance replace are good.

Link to comment
Share on other sites

depends how close it is in the shot - if its an aerial them just an object ID for each building

if its closer and you need mat id put them on before you collapse it. not generally more than 4-5 materials per house?

 

i rarely would have an mat id or object id for every single thing - but im not sure what you do in post with them?

ID tools is a good script though for making assigning and clearing ID's

 

Well the houses are photo-real, fully detailed. This isn't for some all-encompassing aerial shot, it is going to be for fairly close up shots and I'm guessing there are around 8 to 10 materials per house (bricks, cladding, timber, window frames, glass, internal walls, flashing/copings).

 

[edit] We might have our wires crossed here between object and material ID's. I'm wondering how you go about assigning material ID's so that when exported to a vrmesh you can apply the correct material to items within the vrmesh.

Edited by Macker
Link to comment
Share on other sites

When you export a vrmesh doesn't it create a multisub material automatically?

 

My preferred way is xref scenes for houses. You can then disable, or turn to box, or hide the xref for viewport speed.

 

If you have several max files, all xreffed to a main max file, you can use xref materials to centralise your materials, so all changes to materials are copied to all house types.

Link to comment
Share on other sites

When you export a vrmesh doesn't it create a multisub material automatically?

 

It didn't used to, but perhaps it does in new versions? I've not had to export to a vrmesh for a little while now. As for your second suggestion; that's been my workflow for a while now, I just thought I'd give containers a go - they really do suck.

Link to comment
Share on other sites

The Vray proxy keeps any and all material ID's you assign to the original mesh. Just collapse the house down to one mesh, assign IDs and proxy that thing out. The proxy doesn't replace the mesh, it just references it. It's a close cousin, but more socially stable, than an xref.

 

We've always done a proxy system and a universal material ID so any of the house multi-subs can be used on any house. Say, all brick is ID #1, trims are ID#2 and so on. Even with a full model of a house you shouldn't have more than 15 material IDs needed.

Link to comment
Share on other sites

Your multi sub-object material is created automatically when you collapse the house to a single mesh. Then you make a copy of the file (to preserve a collapsed mesh) or a local copy of the house and convert this copy to vrmesh. Your materials will be there and will be editable directly form the proxy.

 

I had a similar experience a couple or years back: in my case I had to use Containers to group assortments of houses of the same model, but in three different levels:

 

Level 1 - house proxyfied.

Level 2 - group of the proxy house, proxified plantscape option x at the front with Autograss (which cannot be turned to proxy).

Level 3 - container for circa 25 house groups of the same model with different plantscapes and grass types.

 

Then I repeated the above process with the other 5 house models and did other containers for the overall plantscape, etc.

In the end it turned out well; unloading the containers did wonders for viewport performance and I only loaded them at render time; still it was very complicated to keep track and control over. And loading a container for test purposes could be time consuming, so I'd definitely would avoid them whenever possible in the future.

Edited by salvador
Link to comment
Share on other sites

  • 8 years later...

Hi all.

I'm revisiting this thread after nearly a decade because after a chunk of R and D to figure out how to have one max file for house types and one scene file for landscape, we ended up using containers. Workflow as follows (If anyone is still interested);

Step 1: All houses in one file. This allows easier access and interchangability between plots and instanced objects such as windows, doors and materials.

Step 2: Save Selected each house type. In windows rename each "HouseType#.max' to 'HouseType#.maxc' (This turns a max file into a container)

Step 3: In your master scene, create container helpers and inherit the maxc files.

Step 4: You will likely need to affect the pivot point on the helper once inherited, depending on the house type's relationship to 0,0,0 in the house types scene. I like to put it on the front left corner.

Step 5: Instance and position as needed. 

No containers are used in the housetypes scene. This means materials and instances are retained. (Creating a container from objects destroys instances)

If revisions are made to house types, simply repeat the save selected / rename process in the house types scene. The container immediately flags 'update'. Select and update all containers.

Generally, as with everything in max, less objects are better. The override display properties / use bounding box feature is helpful to keep the viewport stable.

We're testing them on a site at the moment and we like the results. No proxying, no separate scenes for plots, no problem.... yet ?

Edited by Peter Mitchell
Link to comment
Share on other sites

  • 3 weeks later...

Interesting methodology to get around materials and instances being split. I used containers a bit on project recently, no multiple instances in the destination file but the aim was to have parity over a number of different scenes. It broke down a little in the heat of the rush to deadline but largely worked well to keep things light and organised, the problem I had was the load/unload times as my SSD was a little slow. With the NVMe I have now it might be better.

 

One thing we used to do when I did a lot of site plans like that was use Vray proxies with materials IDs, one for brick one for roof tile etc etc. Then in your destination scene you turn off 'Propagate materials to instances' and assign a multi-sub material with the correct combination of materials to each one. This worked well when we had say 10 housetypes and 5 material combinations. 

 

Edit: I see that was said already 10 years ago by Scott!

Edited by Tom Bussey
Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
 Share

×
×
  • Create New...