1. This site uses cookies. By continuing to use this site, you are agreeing to our use of cookies. Learn More.

Large Track in newer Max versions...

Discussion in 'Bob's Track Builder' started by sevware, May 15, 2011.

  1. OK... Thanks to Mianiak, Kyle, Woochoo and all who answered questions about this...

    I finally got all 32 miles of track, terrain, and the butt-loads of other objects comprising my track into 3dsMax. It took about 40 hours.

    Since my track is ~10 times longer than most (~ twice as long as Nordschleife), I'm having to be creative to make it manageable. [Trying to even move the viewport 'camera' is sometimes not possible with everything displayed.]

    So this morning, I continue compartmentalizing things....

    --"Layers" for Track, Terrain, Structures, Vegetation, Walls, People, etc....(for quick visibility setting)
    --"Groups" for grouping of small pieces....(managability)
    -- "Containers" (new to Max 2010), as my track is split into 26 sections...(for SPEED)...

    From what I read, and the little bit of testing I've done, "Containers" are cool...

    I'll be keeping my track in 26 sections that are ~ a mile long (as I had it in BTB). Each section will be in a container. These containers (and every object in them) can be UNLOADED from the scene... while you are working on it.

    So... If you have a huge model like mine, it becomes difficult to even move it on the screen, and everything in MAX bogs down. Even when you "Hide" everything but a mile or so of track, terrain, plants, walls, & buildings, you are still "lugging around" this huge model in memory, so everything you do is slowed down. [Even "Save" is particularly painful.... ~20 loooong seconds]

    With 'containers', you can unload everything you aren't working on in the scene to files .. NNNN.maxc One per container (track section), which then live on the disk. In the Max help files, containers are also shown to be usefull in collaborative work (for obvious reasons).

    Also, with only a single container open (when track is saved and shut down Max), my track loads about 25 Times Faster (accordingly... 'save' is also that much quicker..). [So far, I have only tested this with 2 containers... one huge, one small... but will make the rest of them today.]

    Appearently, there is a container setting (Override Object Properties or something like that) which allows you to -- for instance -- have only one (track section) container of many open, and use the "Layers" to make visible what (of the single track section) you want displayed (ie.. Track, Terrain, etc..). So, even though most of the objects in those Layers are in containers that are not even loaded into memory, you can still use "Layers" to control the visibility of the container(s) you have open.

    I'll start dividing the track up in this manner today, and let you know how it goes.

    Finally... a precise toolset to work with.... (!) ..

    Thanks again for all the help getting it into Max....
  2. You learn something new every day. I learned about layers the other day but I didn't know about containers.
    Thank you for sharing this and thank you for putting effort into giving back to the people who gave to you. I read this thread and my face lit up. :D

    I have been running into the same problems myself with the scene lagging, the max file is around 150mb and taking ~20 sec's to save , then auto backup always kicks in when in I'm the middle of moving something! Not to mention hitting 3gb of ram usage and having an instant shutdown without being able to save my work (which is why I have auto backup turned on)

    I'll start using containers now and see how things go. :thumbsup:


    [ED] btw, you don't really have to import the whole project to max with the gmt importer, you can break off a piece of each material and import that, save the scene, then export the whole track from simed as 3ds (or out of btb as .x), import 3ds in max and merge into the scene, you will have all the gmat materials there already, all you have to do is quickly go through and check/set the material id's and apply the multimaterial to them. It takes a bit of time, but it's a lot faster than waiting for the gmt importer to work.
    You might also need to check that all the poly's are welded, sometimes 3ds can break apart every single poly. Also when you/if you weld, be careful, you can cause strife with uv's and max can crash (it usually flashes the viewport like it's missing a beat as a warning before it crashes). Always check tools>channel info to see if you have dead verts, if you do, then in verts submode, 'remove unused map verts'
    Also Note the alpha channel there too if you have blended textures from btb. It should have the same amount of verts as the mesh.

    Oh and one more thing,,
    http://www.scriptspot.com/3ds-max/scripts/detriangulator this will come in handy for you, but make sure you save your project before you use it on large objects.
  3. Thanks for the Detriangulator script... from what I've seen, it will be handy.

    My filesize is at least a couple times larger that yours, and takes about the same loading time.

    If you don't have a solid state drive and can afford one, you could speed up these (especially) massive amounts of random access'.

    About Auto-Save..... I was about ready to scream last night every time it kicked in... (possible foul language usage, as well)...

    Hopefully, once I get all containerized, Auto-Save will go back to being something I don't even notice again.
  4. Mianiak, thanks for the scritpt :)
    For Max versions up to 2009 there is another great script - PolyBoost ( http://polyboost.com ). Works on editable poly (as it's name). Among other usefull features it offers quadrify tool - very fast and accurate. The one thing to mention is that if you want to Unwrap UVW's and map using copy/paste technique - the mapping will be broken (if you didn't map before), so it has to be done before quadifying.
    If you want go back to triangles, convert the object to Editable Patch and then to Editable Poly/Mesh. Unwrap UWV will work properly after this (not sure 100% though).
  5. Couple things I found out while playing with Containers for track sectioning:

    [I Just started playing with containers, so this is more of a 'what worked for me'.]

    Big track, built in BTB where the track and terrain were sectioned into (roughly) mile lengths around the circuit.

    When imported into Max, I separated everything into layers (Track, Terrain, Vegitation, Buildings, Signs, Walls etc..) to use as visibility 'on / off' switches, via the "Hide" switch on each Layer.

    Also in Max, I made Groups containing every object in each track section (eg.. Groups for TrkSec1, TrkSec2... or whatever you want to name them). So, for instance my max 'group' TrkSec1 contained all the track, terrain, walls, signs, and buildings -- every object in that section of track. This was just to be able to select track sections easier in max when containering below.

    --Before you make a container, make sure you have set your active layer in "Layers" set to the default layer.
    [In an early test, I ended up with my track section 1 container inside my vegetation Layer... This might be what the help file warns about when they warn of "Interdependencies" (?)]

    --Also... at least on my track under xp in max... It would lock up the program (Max.. not responding) if I tried to "Unload" a Container from memory when it was "Open". So.. I had to always "Close" the container before I would "Unload" it from the scene.

    So... then... once I had everything setup as described above, I 'container' up my track sections.

    In Max 2010 or above:

    1. "Hide" everything except the contents of the track section you want to put in a container.

    2. "Select" everything you want in the container.

    3. Click "Tools>Containers>Create Container from Selection.

    4. Go to the upper right of max, and make sure the "Modify" pannel is displayed.

    5. Just below the modify panel selector, it should now say 'ContainerXX' (where XX is how many of these you have done). Rename it to your track section's name.... or whatever you want.

    6. Move down to the container's "Local Content" rollout, and click "Save".

    7. If this is the first time you have saved this container, a dialog box comes up asking you what to call it, and where to put it. I used the appended name it gave me, but saved it in the directory that my max track file was in.

    8. Still on the right side of max, in the "Manage Container" rollout, make sure there is a check mark in "Auto Update on Close".

    9. Still in "Manage Container" rollout, click "Close" to close the container you just made. You will know when it is closed when the
    hourglass stops AND when the close button changes it's name to 'open'.

    10. Now, click the "Unload" button, and your new container has just been removed from the screen (and memory!).

    11. This is where I went up to the upper LEFT of max and click the floppy icon to save the whole track file.

    At this point, if you have more track sections to do, just un-hide the next track section, and continue with step #2 above...BUT.. Make sure when you are selecting the items that you want to put in the container... that you don't mistakenly also select the little box icon of any containers you have already created.... They are all parked over near the origin (0,0,0). I don't know what happens if you try to nest containers.

    If you have finished, and are like me... there's something you forgot to put in a track section somwhere. Damn. No prob though. Max "Help" will tell you several ways. Just remember you have to "Load" and then "Open" a container before working on it or putting anything new in it.

    I found that clicking "Open" or "Close" takes longer (hourglass). Clicking "Unload" was pretty quick, but not as quick as "Load".

    And as I said above, my system locks up if I try to "Unload" a container without first clicking "Close" to close it.
    [Don't engrave this in stone though... because max seems to allow you to unload without closing... the unload button is not grayed out when the container is open.. (?)]

    Update: I did some tests with smaller max track files (again, 26 containers worth), and as suspected, they can be "Unload"ed while they are "Open". So.... 300 mb max file crashed durring unloading while open..... 100mb max file did not.
    Either way... viewport mobility, load / save time, and general operational stability is better when I am working with only 1/25th of my track loaded in memory... so long as I stuck to my 'found' rules.
  6. About containers, make sure to remove the object from the container before you try to export it, otherwise it will end up somewhere else on the map and cause you to get angry wondering why it just! wont! work! :D

    I think it had something to do with the centre of the object had taken on the centre of the container.