Custom Dashboards

From Rigs of Rods Wiki

Jump to:navigation, search

Example Custom Dashboard

  • Requirements:
    • understand blender or any other 3d modeling program
    • be able to convert between .mesh.xml and .mesh


  1. download the archive, it contains all files you will need: Dashtest.zip
  2. create a normal 3d model of what it should look like. In this example i chose this:
    • basic 3d model
  3. then texture it like normal and get it to work ingame with the texture first.
  4. when this is working, add two simple faces (two triangles) to the mesh, that form a plane:
    • basic 3d model
    • the material of this two faces should be 'renderdash'
    • the texture coordinates must fit! The dashboard is rendered at the following position:
      • basic 3d model
    • Use the following image to line up the individual gauges in the cluster:
      • basic 3d model
    • The faces should form a submesh in your model like this: (attention to the correct texcoords!) (or use others, to use parts of the dashboard)
		<submesh material="renderdash" usesharedvertices="false">
			<faces count="2">
				<face v1="0" v2="1" v3="3"/>
				<face v1="1" v2="2" v3="3"/>
			</faces>
			<geometry vertexcount="4">
				<vertexbuffer positions="true" normals="true" texture_coords="1" texture_coord_dimensions_0="2">
					<vertex>
						<position x="-0.174131" y="-0.002985" z="0.007485"/>
						<normal x="0.000000" y="-1.000000" z="-0.000000"/>
						<texcoord u="0.000000" v="0.500000"/>
					</vertex>
					<vertex>
						<position x="-0.174131" y="-0.002985" z="-0.186658"/>
						<normal x="0.000000" y="-1.000000" z="-0.000000"/>
						<texcoord u="0.000000" v="1.000000"/>
					</vertex>
					<vertex>
						<position x="0.174131" y="-0.002985" z="-0.186658"/>
						<normal x="0.000000" y="-1.000000" z="-0.000000"/>
						<texcoord u="0.500000" v="1.000000"/>
					</vertex>
					<vertex>
						<position x="0.174131" y="-0.002985" z="0.007485"/>
						<normal x="0.000000" y="-1.000000" z="-0.000000"/>
						<texcoord u="0.500000" v="0.500000"/>
					</vertex>
				</vertexbuffer>
			</geometry>
		</submesh>
  • export both model separately and merge their submeshs together in one file in the .xml.
  • convert the .mesh.xml to .mesh and you should be done :)