mastering polymaster

Upload: ahmed-riyadh

Post on 04-Apr-2018

223 views

Category:

Documents


0 download

TRANSCRIPT

  • 7/30/2019 Mastering Polymaster

    1/37

    Mastering Polymaster

    by Matt Austin

    member of team-ALCO

    Overview

    Polymaster is a very useful utility for modifying shapes made using Train Sim Modeler (TSM). Just as

    MSTS-Bin has given new life to MSTS, Polymaster gives new life to TSM and allows more detailed TSM-

    built models to run in MSTS.

    The three main abilities of Polymaster on TSM models are to:

    1. fix the TSM transparency problem;2. add levels of detail to models; and3. allow the model to be loaded in stages in MSTS through the use of subobjects.

    We look at these three Polymaster abilities, and how to apply them to your TSM model.

    Return to top of page

    TSM Alpha Transparency Problem

    Often when testing TSM-built models in MSTS, we notice that when we look through the vehicle's

    windows, there is a lack of detail showing through the windows on the other side, as shown here. Note

    that the bottom part of the tree is not visible through the cab windows:

    http://msts.steam4me.net/tutorials/master_polymaster.htmlhttp://msts.steam4me.net/tutorials/master_polymaster.htmlhttp://msts.steam4me.net/tutorials/master_polymaster.html
  • 7/30/2019 Mastering Polymaster

    2/37

    This takes place when we use alpha material for windows, to allow tinted glass. Problem is, as seen in

    the example above, if you wanted tinted glass, there was no way to see most of the detail on the other

    side. Before Polymaster, there were several ways of getting around this problem. The first way was to

    make the tinting so dark that it was hard to see any detail through the interior window. This is darkening

    the alpha. This would mean that lack of detail wasn't noticed, as shown below:

  • 7/30/2019 Mastering Polymaster

    3/37

    The second way to get around the TSM alpha transparency problem was to replace all alpha

    transparencies (Alpha material in TSM) with clear transparencies (Trans material in TSM). This is

    removing the alpha. This would mean that there was no tinting and the window was completely clear.

    Detail could be seen but it was as if there was no glass in the windows, as windows on rail vehicles are

    seldom clean enough to be completely clear.

  • 7/30/2019 Mastering Polymaster

    4/37

    Neither of these approaches really fixed the problem, and it was only with Polymaster that a solution

    could be found and applied.

    Preparation Of The Model In TSM To Fix The Alpha Transparency Problem

    In order for the Polymaster transparency fix to be applied, the model must first be prepared in TSM. As

    the problem concerns the windows, we have to look at inward-facing transparencies (windows) and

    outward-facing transparencies. We split all windows (and other surfaces - walls, floor, roof) into exterior

    (polys facing out, windows looking in) and interior (polys facing in, windows looking out).

    As an example, here we see a screenshot of a model in TSM.

    The exterior transparencies of this model (polys facing out, windows looking in) are shown here:

  • 7/30/2019 Mastering Polymaster

    5/37

    The interior transparencies (polys facing in, windows looking out) are shown here:

    The solid internal detail of the model (such as seats and lights ) is shown here with the interior

    transparencies. The solid interior details are shown with the interior transparencies because these need

    to be sorted later in Polymaster, and are grouped together:

  • 7/30/2019 Mastering Polymaster

    6/37

    What we need to do, is set up the parent hierarchy, naming pattern and part materials of the model in

    TSM. This means that we can then use Polymaster to sort the order in which these parts are loaded in

    MSTS and remove the alpha transparency problem.

    We start by creating a small part and name this Alphamain. This can be a single-poly part, and it can be

    hidden somewhere in the frame where it won't be seen. This part is parented to main and the material

    used is AphaNorm as shown when F2 is selected for Alphamain:

  • 7/30/2019 Mastering Polymaster

    7/37

    This is the part that all transparencies will be parented to. Here we find a problem. Anyone working with

    textures in MSTS soon learns that if 8-bit alpha textures are used, the quality of the textures is

    degraded. So, if we use tinted windows, the surrounding texture will not have the depth of colour and

    detail that clear window textures will have. So, if we want tinted windows, the surrounding body detail

    will not be as crisp as if we have clear windows.

    One way to get around this is to use separate glass panels for the exterior windows. We can either have

    tinted rectangular panels which precisely cover every window, or we can have a tinted strip which sits

    just inside the windows. I choose the strips rather than having a tinted panel for each window. Shown in

    TSM, it looks like this:

  • 7/30/2019 Mastering Polymaster

    8/37

    In order to show where it goes, it is shown laid over the interior details of the model:

    A simple way to lay out the exterior glass panel is to position it slightly inboard of the outside walls,

    doors and windows. This means that it will be seen through the windows, but it will not show on top of

    solid external parts, such as walls and solid doors.

    The exterior glass panel is parented to Alphamain and the material used is Alphanorm+ as shown:

  • 7/30/2019 Mastering Polymaster

    9/37

    Having this glass panel means that If we do this, then the outside walls of the vehicle can have fully

    transparent windows (rather than tinted) to allow the textures to have more detail. The part will be

    parented to Main with the material being TransNorm:

  • 7/30/2019 Mastering Polymaster

    10/37

    Now that we have the outside windows covered, we move to the transparencies and detail on the inside

    of the car. I usually don't use alpha textures with tinted windows for the inside windows as this reduces

    the texture detail. I find that if the outside windows are tinted, we don't need to tint the inside ones, as

    the effect of a darker interior is done by the outside glass section. The interior transparencies (such as

    inside walls) are parented to Alphamain, and the material is AlphaHlfBrt- as shown:

  • 7/30/2019 Mastering Polymaster

    11/37

    Please Note: The use of AlphaHlfBrt for the interior transparencies and other internal details is because

    this model is of a passenger car with an interior which is lit up at night. If building a vehicle which has an

    interior that is not lit at night (such as a sheep wagon), then the material would be AlphaNorm-. On the

    Tait cars, I've had materials using HlfBrt for the passenger saloon but Norm for the driver and guard's

    compartment. This is because they're not lit at night. The important thing is to use Alpha+ for the

    outward facing but inward looking glass strip and Alpha- for the interior parts. This is necessary for the

    fix to work. Using HlfBrt material parts for the interior results in the car's interior being dimly lit up at

    night as shown (note the driver's cab is in not lit):

  • 7/30/2019 Mastering Polymaster

    12/37

    The internal details (that are dimly lit at night) such as ceiling, floor, seats, lights, luggage racks, etc are

    parented to Main and their material is SolidHlfBrt.

    So, we've covered all of the parts that need to be sorted and given correct alpha materials to fix the

    alpha transparency problem. A simple diagram is included to show how windows and interior detailneeds to be arranged:

  • 7/30/2019 Mastering Polymaster

    13/37

    Please note that in the above diagram, the spaces between the exterior and interior sides, roof and floor

    sections, (with the glass panel in between) has been increased for clarity. They can be quite close, only a

    point or so apart.

    Checklist for this section

    Have I created an Alphamain part, which is parented toMain?

    Have I created an external glass part? Have I given all the external glass part and internal

    transparencies the Alphamain parent and the correct alpha+or alpha- material?

    Have I parented all solid internal detail to Main? Have I given all solid internal detail the correct material, be

    it half bright(HlfBrt) or normal (Norm), depending on

    whether we want the car to be it up at night?

  • 7/30/2019 Mastering Polymaster

    14/37

    Return to top of page

    Levels Of Detail

    Levels Of Detail (or LODs) enable MSTS to process the model better. It allows varying amounts of detail

    to be shown at various distances. As an example, up to 140 metres away, we want all detail to be visible.

    From 140 to 250 metres, we can lose small detail such as whistles, downpipes, handrails, springs and

    such detail which wouldn't be visible more than 100 metres away. From 250 to 800 metres, we can lose

    details such as buffers, couplers and other larger detail. From 800 to 2000 metres we can lose details

    such as underfloor boxes, pantographs and larger details. From 2000 metres, we can have a simple box.

    Doing this means that the MSTS graphics engine doesn't have to carry out the calculations necessary to

    render full detail at greater distances. At these distances, we wouldn't see such smaller detail and it is a

    waste for MSTS to be carrying out unneeded calculations. For long trains comprised of highly-detailed

    vehicles, this can be a great help for slower machines.

    Preparation Of The Model In TSM To Set Levels Of Detail In Polymaster.

    We now have everything prepared in TSM to fix the alpha transparency problem. We can move on to

    the second lot of preparation; to set levels of detail.

    Here we have to use an interesting TSM feature; dummy animation.

    When TSM converts a file to an MSTS .s shape file, any non-animated parts are merged into the main

    part. This makes it less complicated, but if there are parts which we want to remain separate in

    Polymaster, we need to give them a dummy animation. This means that TSM won't merge such parts

    into the main part and we can deal with them separately from the main. For example, if we're going tomake the couplers disappear at 80 metres, we need to give it a dummy animation. This is because it

    doesn't have an actual animation; not needing to be animated in MSTS.

    To begin setting up parts to stop them being merged into the main shape, we select F2 Part Properties in

    each part.

    http://msts.steam4me.net/tutorials/master_polymaster.htmlhttp://msts.steam4me.net/tutorials/master_polymaster.htmlhttp://msts.steam4me.net/tutorials/master_polymaster.html
  • 7/30/2019 Mastering Polymaster

    15/37

    Select the Animation button in the bottom right to get the Part Animation window:

  • 7/30/2019 Mastering Polymaster

    16/37

    In the bottom half of this window, select the Add Rotation button to bring up the Rotation window:

  • 7/30/2019 Mastering Polymaster

    17/37

    Here we want to add a frame of rotation, but as it is a dummy, we want a frame of rotation that doesn't

    actually move. Click OK to add a rotation frame and it returns to the Part Animation window.

  • 7/30/2019 Mastering Polymaster

    18/37

    Select Add Rotation again and put a 1 in the frame box:

  • 7/30/2019 Mastering Polymaster

    19/37

    Then press enter again to see the Part Animation window:

  • 7/30/2019 Mastering Polymaster

    20/37

    Repeat this process seven times, numbering the frames from 2 to 8

  • 7/30/2019 Mastering Polymaster

    21/37

    At this stage, click Save, and save the file as Dummy.rot for future use. Then when you add a dummy

    rotation to another part, you can load the Dummy.rot file instead of having to add each frame of

    rotation.

    Please note that this is a file to allow rotation, but as all the figures are zeros, there is no actual rotation.

    As explained earlier, it is to stop TSM from merging this part into the main part of the shape file.

    Please Note - all of the parts that are part of the TSM alpha transparency problem must have dummy

    rotation animations added to them so they don't get merged into the main shape. The glass section,

    inside and outside transparencies, and any interior detail, all must have dummy rotation animationsadded. This is important to solve the TSM alpha transparency problem in Polymaster.

  • 7/30/2019 Mastering Polymaster

    22/37

    Checklist for this section

    Have I worked out which parts need to be separate so theycan be hidden at greater distances?

    Have I added a dummy rotation file to each of these non-moving parts?

    Have I added dummy rotation animations to all interior andexterior transparencies and all internal details?

    Return to top of page

    Subobjects

    Subobjects are simply levels in which the MSTS graphics engine loads each shape. The more complicated

    a model is, the more likely that it will eventually be too complicated to load in MSTS, resulting in the

    UID2000 error. When this takes place, it shows that MSTS cannot load the complicated shape.

    Polymaster's Subobject capability allows the MSTS graphics engine to load the model in stages rather

    than all at once.

    Preparation of the model in TSM to set Subobjects in Polymaster.

    This is covered by the work which was done for in TMS to prepare the shape for LODs. Not much is

    needed as the work done to give parts dummy animation will also prepare the parts to be allocated as

    subobjects.

    Checklist for this section

    Are there any other large parts which I'd like to load afterthe main part?

    Have I added a dummy rotation file to each of these non-moving parts?

    Return to top of page

    http://msts.steam4me.net/tutorials/master_polymaster.htmlhttp://msts.steam4me.net/tutorials/master_polymaster.htmlhttp://msts.steam4me.net/tutorials/master_polymaster.htmlhttp://msts.steam4me.net/tutorials/master_polymaster.htmlhttp://msts.steam4me.net/tutorials/master_polymaster.htmlhttp://msts.steam4me.net/tutorials/master_polymaster.html
  • 7/30/2019 Mastering Polymaster

    23/37

    Installing And Setting Up Polymaster

    We've already prepared our model in TSM and converted it to an .s shape file. Having done this, we

    need to use Polymaster to modify the shape for MSTS.

    Polymaster can be downloaded fromhttp://www.thopil.de/. The page is in German, but this isn't a

    problem. Select Polymaster from the menu on the left side of the screen, ....

    .... scroll down (1) and click the download link (2) at the bottom of the Polymaster page:

    http://www.thopil.de/http://www.thopil.de/http://www.thopil.de/http://www.thopil.de/
  • 7/30/2019 Mastering Polymaster

    24/37

    Once installed on your computer, run the program, which looks like this:

  • 7/30/2019 Mastering Polymaster

    25/37

    We have a problem. As the default language of the program is German, it won't mean much to non-

    German speakers. Click the Einstellungen/Settings tab in the top left corner.

  • 7/30/2019 Mastering Polymaster

    26/37

    Once in the Settings tab, select the pulldown menu under "Sprache" and select English. Much better.

    Don't go back to the Splitting tab just yet. You'll notice the text is all in English now.

  • 7/30/2019 Mastering Polymaster

    27/37

    As shown above, choose 4 LODs and enter your chosen distance in metres. I use the above settings, but

    you may wish to vary them slightly. This sets up Polymaster for all subsequent shape work.

    Return to top of page

    Setting LODs In Polymaster

    Return to the Splitting tab and it all makes much more sense. We're going to uncompress and open the

    shape in Polymaster, so we can carry out the Polymaster steps. We do this as shown below:

    http://msts.steam4me.net/tutorials/master_polymaster.htmlhttp://msts.steam4me.net/tutorials/master_polymaster.htmlhttp://msts.steam4me.net/tutorials/master_polymaster.html
  • 7/30/2019 Mastering Polymaster

    28/37

    Once the file has been uncompressed and opened, the window looks like this:

  • 7/30/2019 Mastering Polymaster

    29/37

    The left hand side is where the LODs and subobjects are allocated. We'll do what needs to be done here

    before looking at the rest. Note that there are four columns of figures, L1 to L4. These are the LOD

    columns, and here we select at which level we want each part to display. To refresh our memory; L1 is 0

    to 140 metres, L2 is 140 to 800 metres, L3 is 800 to 2000 metres and L4 is over 2000 metres.

    We notice that all the figures are ones. The 1 means that this part is visible at the column LOD distance.

    If we want a part to be visible at L1 but invisible at all other levels, we enter 999 into the field. The 999

    makes the part invisible at this distance. As an example, we might want brake hoses to be visible up to

    140 metres away then invisible after that. We leave the 1 in the first field and enter 999 into the L2, L3

    and L4 columns. We may want the roof ventilators to be visible up to 800 metres.

  • 7/30/2019 Mastering Polymaster

    30/37

    In that case, we leave the 1 in the L1 and L2 fields, and enter 999 in the L3 and L4 fields. And so on for all

    parts.

    The LOD grid which is below the Subobject grid in the centre-right of the window shows how many faces

    are displayed at each level. Careful choice in applying LODs can see quite a reduction of faces shown at

    longer distances.

    The following is an example of LODs allocated. Notice that different parts are invisible at different LODs;

    Setting up the details in the Elements and Subobject grids in Polymaster

    To set the subobjects in Polymaster, we start by looking at the L1 column. These are all 1s, showing that

    all parts are visible up to 140 metres. We need to consider two things about the MSTS graphics engine.

    The first thing is that no more than 14000 vertices can be loaded at once. If we look to the right of the

    Elements graph, there is a small grid called Subobjects. The Vert column shows the total number of

    vertices of the model. This graph is related to the L1 column in the Elements grid.

    My personal preference is for three levels of objects/subobjects. The first level is comprised of any Main

    parts. The second level is comprised of bogies, wheelsets and other underfloor detail. The third level is

    comprised of all the parts involved with the interior and exterior transparencies.

  • 7/30/2019 Mastering Polymaster

    31/37

    I choose to set the third level first. Any of the parts that we've looked at as part of the TSM alpha

    transparency object are given a 3 in the L1 column. This includes the Alphamain part and any parts

    parented to Alphamain. It also includes any interior detail such as lights, seats, luggage racks, internal

    handrails, bulkheads and cab details. So, simply put, we make sure that all apha transparencies, inside

    windows and inside detail will be loaded last. This is important to solve the TSM alpha transparency

    error.

    Note - If we're using a glass section for alpha on the windows facing out, we don't set the vehicle sides

    to 3 in the L1 column. It's best left as 1 in the L1 column.

    Once we've set all of those parts to 3 in the L1 column, we can set all bogie and underfloor detail to 2 in

    the L1 column. I usually then split any remaining parts evenly between 1 and 2 in the L1 column. In the

    Subobjects grid, we see the total vertices of each subobject level. As the note next to it says, the number

    of vertices per subobject should not exceed 14000.

    After this is done, we have to get the Subobject grid to sort all parts into the subobjects. We do this by

    entering a lower-case x in the second and third lines as shown below. Be sure to scroll right and enter an

    x in the L1 to L4 boxes for Subobjects 2 and 3. Don't enter an x into any of the top line boxes, as this isthe level to which the 2 and 3 levels must be subobjected:

  • 7/30/2019 Mastering Polymaster

    32/37

    Checklist for this section

    Have I set all necessary transparencies and interior detail as3 in the L1 column?

    Have I evenly distributed the rest of the parts between 1and 2 in the L1 column?

    Have I made sure that no single level of subobjects exceeds14000 vertices?

    Return to top of page

    Removing Unneeded Dummy Rotation Animations In Polymaster

    We've seen earlier that the purpose of adding dummy rotations to parts in TSM is to stop them from

    being merged into the main shape, so LODs and subobjects can be applied. As such, once these steps

    have been done, there is no need for them to keep the unnecessary animations in MSTS. We remove

    them quite simply, as they show up in the Matrices box, in the bottom centre-right of the window. If we

    scroll down through the matrices, we see that some of them have a lower-case x in the Anim column:

    http://msts.steam4me.net/tutorials/master_polymaster.htmlhttp://msts.steam4me.net/tutorials/master_polymaster.htmlhttp://msts.steam4me.net/tutorials/master_polymaster.html
  • 7/30/2019 Mastering Polymaster

    33/37

    To remove these dummy animations, we simply delete the x from each box in the Anim column. Once

    we've deleted every x here, we click the Delete Needless Anim button to the right. That removes the

    dummy animations which are no longer required.

    Checklist for this section

    Have I deleted every x from the Anim column in theMatrices grid?

    Have I clicked the Delete Needless Anim button?

    Return to top of page

    Finishing Off All Necessary Work In Polymaster

    We're getting close now.

    We notice on the lower right hand side of the box, we have a number of buttons:

    http://msts.steam4me.net/tutorials/master_polymaster.htmlhttp://msts.steam4me.net/tutorials/master_polymaster.htmlhttp://msts.steam4me.net/tutorials/master_polymaster.html
  • 7/30/2019 Mastering Polymaster

    34/37

    These buttons complete the actions that Polymaster does to improve the shape file. We've already

    clicked the Delete Needless Anim button and we now click the others as needed.

    First we click the Make LODs/Subobjects button. This sorts the Levels Of Detail and the Subobjects.

    Next we click the Weld Together Points button and Weld Together Normals button. These two buttons

    show another unexpected bonus of Polymaster. As indicated, these two buttons merge any identical

    points and normals, and thus neaten up the shape. These two buttons come up with a confirm message,to which we click Yes/Ja.

    Then comes the biggie. We click the Correct TSM Mat. Error button. This sorts the transparency issue

    and fixes it so we can see the interior detail and details through the windows on the other side of the

    vehicle.

  • 7/30/2019 Mastering Polymaster

    35/37

    We shouldn't need to click the Undo File Changes button unless we've clicked one of these buttons

    before we've entered the details in the Elements or other grids.

    We then save the file, which usually takes a few seconds. Once it is saved, the red text in the Save and

    Save As buttons goes black. After this we compress the file, using the Compress/Decompress .s button

    above.

    Checklist for this section

    Have I clicked the appropriate buttons to complete thePolymaster stages?

    Have I saved and compressed the file?

    Return to top of page

    Conclusion

    Now we're done. Test the shape in MSTS and see the difference:

    http://msts.steam4me.net/tutorials/master_polymaster.htmlhttp://msts.steam4me.net/tutorials/master_polymaster.htmlhttp://msts.steam4me.net/tutorials/master_polymaster.html
  • 7/30/2019 Mastering Polymaster

    36/37

    Trees and other details can be seen and the interior of the car is darker through the windows. What

    can't be seen is the fact that the model loads quicker, frame rates rise and the sim generally performs

    better.

    Polymaster is a terrific little program, quick to learn and of great benefit to anyone making complicated

    models in TSM for MSTS.

  • 7/30/2019 Mastering Polymaster

    37/37