I wrote a bit about 3D cab/external model integration in another thread. I figured I'd expand on it a bit here.
Here's the secret sauce to making a locomotive compatible with a 3D cab, whether it's your own cab or a hypothetical future one. The problem with using a standalone 3D cab model is any locomotive you build, unless it's one of those Soviet or British units with a flat face and no nose, is going to have parts of the body visible out the cab windows, even an F-unit will have the nose visible. Think of all the rails, stanchions, and grabs you can see from the cab. You could include all this stuff in your cab, but then you need a separate cab for each and every individual locomotive that's the same but for the textures. This is, in a word, a really dumb way to do things.
The thing is that Open Rails has, for quite some time, supported visibility parameters for freight shapes that allow you to control when a model is visible. This means that, if you design your locomotive right, you can include everything that will be visible from the cab in the freight shape. This, obviously, excludes anything animated, but most of the animated parts aren't going to be visible from the cab anyway. You can then build a single 3D cab model, place it in a common folder, edit the shape file to hard-code the texture paths, and use a single cab for many locomotives. Here's a quick-and-dirty sketch of a GMD1 that shows how a model should be set up:
TheSecretSauce.jpg
Notice that anything that might interfere with the 3D cab goes in the main model, along with the animated parts (note that I animate my numberboards, bell clappers, and cab windows on my current models, so they're included here in this drawing). The main thing you don't want in your freight shape is the external model's cab interior. This is going to step on your 3D cab, so obviously it should go in the main model where it won't be visible from interior views.
Now, look at the freight shape. Notice that anything visible from the cab interior (I included the cab exterior shell because this often interfaces with the interior in a way where the edges of things like gaskets and window ledges will be visible from the windows) is in this model. For this model, you set the visibility parameters such that the model is visible in both interior and exterior views. Here's an example from the 70-tonner:
Notice these models all have their visibility set to outside and cab3D. These will show up in the 3D cab.
Here's another note. Let's say you wanted to use the same cab model for the interior and exterior cab, as opposed to what I do, which is make a low-resolution version of the 3D cab for the external model. Obviously, you're not going to be able to animate things like speedometers or control consoles. So, what you could do is place those parts in the main shape, and have the cab walls and static objects like seats in the freight shape. Then, the 3D cab could just include the animated controls, wipers, consoles, and such. The TS CP SD40-2s are *almost* set up in a way that I could have built a functional console and used the secondary shape for the rest of the visible model... but they put the console in the freight shape along with the cab walls! *sigh*
Here's the secret sauce to making a locomotive compatible with a 3D cab, whether it's your own cab or a hypothetical future one. The problem with using a standalone 3D cab model is any locomotive you build, unless it's one of those Soviet or British units with a flat face and no nose, is going to have parts of the body visible out the cab windows, even an F-unit will have the nose visible. Think of all the rails, stanchions, and grabs you can see from the cab. You could include all this stuff in your cab, but then you need a separate cab for each and every individual locomotive that's the same but for the textures. This is, in a word, a really dumb way to do things.
The thing is that Open Rails has, for quite some time, supported visibility parameters for freight shapes that allow you to control when a model is visible. This means that, if you design your locomotive right, you can include everything that will be visible from the cab in the freight shape. This, obviously, excludes anything animated, but most of the animated parts aren't going to be visible from the cab anyway. You can then build a single 3D cab model, place it in a common folder, edit the shape file to hard-code the texture paths, and use a single cab for many locomotives. Here's a quick-and-dirty sketch of a GMD1 that shows how a model should be set up:
TheSecretSauce.jpg
Notice that anything that might interfere with the 3D cab goes in the main model, along with the animated parts (note that I animate my numberboards, bell clappers, and cab windows on my current models, so they're included here in this drawing). The main thing you don't want in your freight shape is the external model's cab interior. This is going to step on your 3D cab, so obviously it should go in the main model where it won't be visible from interior views.
Now, look at the freight shape. Notice that anything visible from the cab interior (I included the cab exterior shell because this often interfaces with the interior in a way where the edges of things like gaskets and window ledges will be visible from the windows) is in this model. For this model, you set the visibility parameters such that the model is visible in both interior and exterior views. Here's an example from the 70-tonner:
Code:
ORTSFreightAnims (
MSTSFreightAnimEnabled ( 0 )
FreightAnimStatic (
Shape( ../NAVS_COMMON/GE_70T/GE_70T_Carbody_1.s )
Visibility ( "Outside,Cab3D" )
Offset( 0.000, 0.000, 0.000 )
FreightWeight( 0lb )
)
FreightAnimStatic (
Shape( ../NAVS_COMMON/GE_70T/GE_70T_Figures_1.s )
Visibility ( "Outside" )
Offset( 0.000, 0.000, 0.000 )
FreightWeight( 0lb )
)
FreightAnimStatic (
Shape( ../NAVS_COMMON/GE_70T/Horn_Single_Chime_1.s )
Visibility ( "Outside,Cab3D" )
Offset( 0.000, 4.140, 3.264 )
FreightWeight( 0lb )
)
FreightAnimStatic (
Shape( ../NAVS_COMMON/GE_70T/Decals/GE_70T_Decal_1.s )
Visibility ( "Outside,Cab3D" )
Offset( 0.000, 0.000, 0.000 )
FreightWeight( 0lb )
)
)
Here's another note. Let's say you wanted to use the same cab model for the interior and exterior cab, as opposed to what I do, which is make a low-resolution version of the 3D cab for the external model. Obviously, you're not going to be able to animate things like speedometers or control consoles. So, what you could do is place those parts in the main shape, and have the cab walls and static objects like seats in the freight shape. Then, the 3D cab could just include the animated controls, wipers, consoles, and such. The TS CP SD40-2s are *almost* set up in a way that I could have built a functional console and used the secondary shape for the rest of the visible model... but they put the console in the freight shape along with the cab walls! *sigh*





Comment