[WIP] Los Angeles - Early Rolling Stock

General discussions

Moderator: senjer

User avatar
Sgt_DeBones
Posts: 888
Joined: 05 Apr 2019, 15:23
Location: Los Angeles, California, USA

Re: [WIP] Los Angeles - Nippon Sharyo P865 & P2020 Metro/LRV

Post by Sgt_DeBones »

In this post, I'll explain the light configuration. This is important.
blue_light_anim.gif
blue_light_anim.gif (95.83 KiB) Viewed 6489 times
Headlight
<Top lights>
[M|R] [Scrollsign] [R|M]
<Bottom lights>
[D][T|M*] + [M*|T][D]

M = Marker/Tail lights
R = Service/Running lights
D = Ditchlights (headlights that can pulse, not important for the current state of the simulator)
T = Turn signals
* = Braking lights
SoCal Railway Museum - Metro Sheep
SoCal Railway Museum - Metro Sheep
maxresdefault (1).jpg (198.41 KiB) Viewed 6489 times
The top marker and running lights flash only if there's a fault with the train.
Light Rail rapid transit (Tram-train) > Metro
Beta 4 & Transport Fever 3 HYPE
NJTFAN1235!
Posts: 704
Joined: 16 Apr 2023, 15:30

Re: [WIP] Los Angeles - Nippon Sharyo P865 & P2020 Metro/LRV

Post by NJTFAN1235! »

Hey, SEPTA Buses have that exact light on top whenever there's a problem. But it changes the sign to call police or such.
User avatar
Sgt_DeBones
Posts: 888
Joined: 05 Apr 2019, 15:23
Location: Los Angeles, California, USA

Re: [WIP] Los Angeles - Nippon Sharyo P865 & P2020 Metro/LRV

Post by Sgt_DeBones »

That's different, the result of pushing the panic button in the event of a crime or medical emergency. The purpose of these service lights are to indicate a mechanical or technical failure with the train. It is a requirement that any commercial vehicle, whether bus, light rail or truck, must have service lights in the States. Likely the same with Canada and Mexico too.
Last edited by Sgt_DeBones on 11 Jun 2025, 04:45, edited 1 time in total.
Light Rail rapid transit (Tram-train) > Metro
Beta 4 & Transport Fever 3 HYPE
NJTFAN1235!
Posts: 704
Joined: 16 Apr 2023, 15:30

Re: [WIP] Los Angeles - Nippon Sharyo P865 & P2020 Metro/LRV

Post by NJTFAN1235! »

Good point.
User avatar
Sgt_DeBones
Posts: 888
Joined: 05 Apr 2019, 15:23
Location: Los Angeles, California, USA

Re: [WIP] Los Angeles - Nippon Sharyo P865 & P2020 Metro/LRV

Post by Sgt_DeBones »

Update on this and my own models:
I have found an appropriate converter for .FBX files to be integrated into .XML so development can move forward. My catenary poles and only needs UV mapping and textures while the Nippon Sharyo LRV's might need details adjusted with the modeling for optimized performance. Standby for future updates.
Light Rail rapid transit (Tram-train) > Metro
Beta 4 & Transport Fever 3 HYPE
User avatar
Sjoerd
Posts: 5778
Joined: 26 Dec 2014, 21:14
Location: Alphen aan den Rijn

Re: [WIP] Los Angeles - Nippon Sharyo P865 & P2020 Metro/LRV

Post by Sjoerd »

For reference; my workflow for creating new objects and trains:
  • I first create the object in Sketchup. In case of a train, as a final step before moving on, I save each component which has to be able to move relative to other components as a separate object. So car body / bogie / wheels /doors / couplers / etc. all saved as separate objects.
  • Export each of the to .obj format.
  • I open Milkshape 3D. I import the obj-files.
  • In Milkshape, I finalize texture references, and set each component correctly relative to the x/y/z axis, important for the animating later.
  • I export the files as DirectX *.x-files.
  • I now create XML files, which the simulator (more specifically a program called MeshTool) will use to create the final objects in *.msh format.
  • XML files are created to put all the msh-files together to form a functioning train.
As an example; the XML file for the Dobutsuen station building looks like this:

Code: Select all

<mesh type="object">
 <name>Japan Dobutsuen-eki</name>
 <category>Monorail</category>
 
 <picking>Monorail/Meshes/objecten/source/Japan_Dobutsuen-eki.x</picking>

 <level>
  <file>Monorail/Meshes/objecten/source/Japan_Dobutsuen-eki.x</file>
  <level>1</level>
  <drawdis>1000</drawdis>
 </level>

</mesh>
The XML file for one of the driver side doors on the MRM100 train looks like this:

Code: Select all

<mesh animations="Animations/MRM100_CabDeuren.xml">

 <material name="MRM100_Train1.png" pack="Monorail" file="MRM100_1991.png"/>
 <material name="Glas.png" pack="Monorail" file="Glas.jpg" alpha="13"/>

 <group name="Deurpartij" type="2" id="0" default="0">
  <submesh name="DeurA" id="0">
   <mesh name="DeurA" animIndex0="0">
    <level>
     <file>Monorail/Meshes/MRM100/source/MRM100_CabDeurA_RP.x</file>
     <level>2</level>
     <drawdis>1000</drawdis>
    </level>
   </mesh>
  </submesh>
 </group>
 
</mesh>
And the animation XML file mentioned:

Code: Select all

<animating>
 <name>MRM100_CabDeuren</name>
 <description>MRM100_CabDeuren</description>
 
 <!-- Bone structure -->
 <meshtree>
  <mesh id="0" name="Links"  pop="0" push="1" px="0" py="0" pz="0"/>
  <mesh id="1" name="Rechts" pop="1" push="0" px="0" py="0" pz="0"/>
 </meshtree>
 
 <!-- States -->
 <states>
  <state id="0" name="Dicht" animation="0"/>
  <state id="1" name="Open"  animation="3"/>
 </states>
 
 <!-- Animations -->
 <animations>
  <animation id="0" state="0" name="Dicht" framerate="0" frameaccel="0" nextanimation="0" nextkey="0">
   <keys>
    <key>
     <mesh id="0">
      <rotation y="0"/>
     </mesh>
     <mesh id="1">
      <rotation y="0"/>
     </mesh>
    </key>
   </keys>
   <statechanges>
    <statechange state="1" start="0" end="0" nextanimation="1" nextkey="0"/>
   </statechanges>
  </animation>
  <animation id="1" state="1" name="Openen" framerate=".6" frameaccel="0" nextanimation="2" nextkey="0">
   <keys>
    <key>
     <mesh id="0">
      <rotation y="0"/>
     </mesh>
     <mesh id="1">
      <rotation y="0"/>
     </mesh>
    </key>
    <key>
     <mesh id="0">
      <rotation y="-80"/> 
     </mesh>
     <mesh id="1">
      <rotation y="80"/> 
     </mesh>
    </key>
   </keys>
  </animation>
  <animation id="2" state="1" name="Open" framerate="0" frameaccel="0" nextanimation="2" nextkey="0">
   <keys>
    <key>
     <mesh id="0">
      <rotation y="-80"/> 
     </mesh>
     <mesh id="1">
      <rotation y="80"/> 
     </mesh>
    </key>
   </keys>
   <statechanges>
    <statechange state="0" start="0" end="0" nextanimation="3" nextkey="0"/>
   </statechanges>
  </animation>

  <animation id="3" state="0" name="Sluiten" framerate=".6" frameaccel="0.0" nextanimation="0" nextkey="0">
   <keys>
    <key>
     <mesh id="0">
      <rotation y="-80"/> 
     </mesh>
     <mesh id="1">
      <rotation y="80"/> 
     </mesh>
    </key>
    <key>
     <mesh id="0">
      <rotation y="0"/>
     </mesh>
     <mesh id="1">
      <rotation y="0"/>
     </mesh>
    </key>
   </keys>
  </animation>
 </animations>
</animating>
So if you'd want my help at some point, you'd have to deliver the files in obj format for import in Milkshape 3D. Perhaps it might also accept FBX as an import file format, but I've never tried that before.
CEO of the Rijndam Electrical Transport company :D
User avatar
Sgt_DeBones
Posts: 888
Joined: 05 Apr 2019, 15:23
Location: Los Angeles, California, USA

Re: [WIP] Los Angeles - Nippon Sharyo P865 & P2020 Metro/LRV

Post by Sgt_DeBones »

Oh, so texturing is done in Milkshape? Alright, so then using blender for my objects then sending them off will be a breeze. I'm having a hard time figuring out how to paint in an older version of Blender but I'll figure it out eventually.

As for the P865/P2020, the original models are going to be highly detailed that might cause performance issues if in masses, i.e. a yard. Those models might be use elsewhere and will be for Beta 4.

(And a correction. They are more similar to the S3 than the SG2)
Last edited by Sgt_DeBones on 23 Nov 2025, 19:53, edited 1 time in total.
Light Rail rapid transit (Tram-train) > Metro
Beta 4 & Transport Fever 3 HYPE
User avatar
Sgt_DeBones
Posts: 888
Joined: 05 Apr 2019, 15:23
Location: Los Angeles, California, USA

Re: [WIP] Los Angeles - Nippon Sharyo P865 & P2020 Metro/LRV AND Breda A650 Metro

Post by Sgt_DeBones »

Update: This topics will now be simplified.
🚨 A new challenger approaches 🚨
Breda A650 WIP
Breda A650 WIP
Facebook_creation_39DA80ED-8CDB-4A2C-B0C4-E21423C3D038.jpeg (60 KiB) Viewed 910 times
Light Rail rapid transit (Tram-train) > Metro
Beta 4 & Transport Fever 3 HYPE
User avatar
Sgt_DeBones
Posts: 888
Joined: 05 Apr 2019, 15:23
Location: Los Angeles, California, USA

Re: [WIP] Los Angeles - Early Rolling Stock

Post by Sgt_DeBones »

Minor update: Like with my statement over in the Object Dimensions topic, these vehicles will also be shifting engines for Beta 4 entirely.
Light Rail rapid transit (Tram-train) > Metro
Beta 4 & Transport Fever 3 HYPE
Isaacp14
Posts: 118
Joined: 10 Feb 2018, 06:49
Contact:

Re: [WIP] Los Angeles - Nippon Sharyo P865 & P2020 Metro/LRV

Post by Isaacp14 »

Sjoerd wrote: 15 Sep 2025, 10:26 For reference; my workflow for creating new objects and trains:
  • I first create the object in Sketchup. In case of a train, as a final step before moving on, I save each component which has to be able to move relative to other components as a separate object. So car body / bogie / wheels /doors / couplers / etc. all saved as separate objects.
  • Export each of the to .obj format.
  • I open Milkshape 3D. I import the obj-files.
  • In Milkshape, I finalize texture references, and set each component correctly relative to the x/y/z axis, important for the animating later.
  • I export the files as DirectX *.x-files.
  • I now create XML files, which the simulator (more specifically a program called MeshTool) will use to create the final objects in *.msh format.
  • XML files are created to put all the msh-files together to form a functioning train.
As an example; the XML file for the Dobutsuen station building looks like this:

Code: Select all

<mesh type="object">
 <name>Japan Dobutsuen-eki</name>
 <category>Monorail</category>
 
 <picking>Monorail/Meshes/objecten/source/Japan_Dobutsuen-eki.x</picking>

 <level>
  <file>Monorail/Meshes/objecten/source/Japan_Dobutsuen-eki.x</file>
  <level>1</level>
  <drawdis>1000</drawdis>
 </level>

</mesh>
The XML file for one of the driver side doors on the MRM100 train looks like this:

Code: Select all

<mesh animations="Animations/MRM100_CabDeuren.xml">

 <material name="MRM100_Train1.png" pack="Monorail" file="MRM100_1991.png"/>
 <material name="Glas.png" pack="Monorail" file="Glas.jpg" alpha="13"/>

 <group name="Deurpartij" type="2" id="0" default="0">
  <submesh name="DeurA" id="0">
   <mesh name="DeurA" animIndex0="0">
    <level>
     <file>Monorail/Meshes/MRM100/source/MRM100_CabDeurA_RP.x</file>
     <level>2</level>
     <drawdis>1000</drawdis>
    </level>
   </mesh>
  </submesh>
 </group>
 
</mesh>
And the animation XML file mentioned:

Code: Select all

<animating>
 <name>MRM100_CabDeuren</name>
 <description>MRM100_CabDeuren</description>
 
 <!-- Bone structure -->
 <meshtree>
  <mesh id="0" name="Links"  pop="0" push="1" px="0" py="0" pz="0"/>
  <mesh id="1" name="Rechts" pop="1" push="0" px="0" py="0" pz="0"/>
 </meshtree>
 
 <!-- States -->
 <states>
  <state id="0" name="Dicht" animation="0"/>
  <state id="1" name="Open"  animation="3"/>
 </states>
 
 <!-- Animations -->
 <animations>
  <animation id="0" state="0" name="Dicht" framerate="0" frameaccel="0" nextanimation="0" nextkey="0">
   <keys>
    <key>
     <mesh id="0">
      <rotation y="0"/>
     </mesh>
     <mesh id="1">
      <rotation y="0"/>
     </mesh>
    </key>
   </keys>
   <statechanges>
    <statechange state="1" start="0" end="0" nextanimation="1" nextkey="0"/>
   </statechanges>
  </animation>
  <animation id="1" state="1" name="Openen" framerate=".6" frameaccel="0" nextanimation="2" nextkey="0">
   <keys>
    <key>
     <mesh id="0">
      <rotation y="0"/>
     </mesh>
     <mesh id="1">
      <rotation y="0"/>
     </mesh>
    </key>
    <key>
     <mesh id="0">
      <rotation y="-80"/> 
     </mesh>
     <mesh id="1">
      <rotation y="80"/> 
     </mesh>
    </key>
   </keys>
  </animation>
  <animation id="2" state="1" name="Open" framerate="0" frameaccel="0" nextanimation="2" nextkey="0">
   <keys>
    <key>
     <mesh id="0">
      <rotation y="-80"/> 
     </mesh>
     <mesh id="1">
      <rotation y="80"/> 
     </mesh>
    </key>
   </keys>
   <statechanges>
    <statechange state="0" start="0" end="0" nextanimation="3" nextkey="0"/>
   </statechanges>
  </animation>

  <animation id="3" state="0" name="Sluiten" framerate=".6" frameaccel="0.0" nextanimation="0" nextkey="0">
   <keys>
    <key>
     <mesh id="0">
      <rotation y="-80"/> 
     </mesh>
     <mesh id="1">
      <rotation y="80"/> 
     </mesh>
    </key>
    <key>
     <mesh id="0">
      <rotation y="0"/>
     </mesh>
     <mesh id="1">
      <rotation y="0"/>
     </mesh>
    </key>
   </keys>
  </animation>
 </animations>
</animating>
So if you'd want my help at some point, you'd have to deliver the files in obj format for import in Milkshape 3D. Perhaps it might also accept FBX as an import file format, but I've never tried that before.
Is this a recipe to make any train for the Metro Simulator Beta?
Post Reply