3DStoSMF Model COnverter v.1.0 (c) 2000 Thomas B. Beard
for 4x4 Evolution

  This is by no means a complete how-to on 4x4evo truck creation. It simply
  describes the process of exporting a model from .3DS to the .SMF format.

  I'll try to put together some documentation on textures, opacity maps and
  the .TRK file later, unless someone beats me to it (I hope) :D


Usage:

  3DStoSMF is a standalone win32 application, simply run the program,
  select your .3DS file and click 'Go'. To select the .3DS file, you
  can browse for it with the '...' button or drag and drop the file
  on to the 3DStoSMF window.

  Some 3D mesh programs generate .3DS files with inverted faces, you
  can correct this by using the 'Flip faces' checkbox.

  you can optionally run 3DStoSMF from the command line if you want to
  batch process models, the parameters are:

  3DStoSMF <full path to .3DS file> [-flip]

  The -flip option is the same as checking the 'Flip faces' box.


Requirements

  Every part of your model should be a tri-mesh.

  Every face (triangle) of your model MUST be texture mapped (UV Map).

Textures

  The entire model should be mapped using a single bitmap. The bitmap can
  be up to 512x512 pixels so you should have plenty of room for detail.

Model detail

  Most of the stock trucks in 4x4evo have around 2000 to 3000 polygons, so
  try to keep in that range. Each truck has a low detail model as well
  that should have around 400 to 500 polygons.

Model components

  Your model should consist of multiple objects, each named appropriately.
  4x4evo will look for specific names when it reads your model so make sure
  everything is named properly.

  Here is a list of Object names 4x4evo recognizes:

  OPAQUE 
  OPAQUEL 
  TRANSP 
  TRANSPE 
  TRANSPI 
  TRANSPL 
  ANTENNA 
  AXLEF 
  AXLER *
  BEDCOVR 
  BODY *
  BUGSHLD 
  BUMPERF *
  BUMPERR *
  BUSHBAR *
  CLADFR 
  CLADLT 
  CLADRR 
  CLADRT
  COCKPIT *
  DRIVER 
  FFLARES 
  FOGB1 
  FOGB2 
  FOGB3 
  FOGB4 
  FOGR1 
  FOGR2 
  FOGR3 
  FOGR4 
  GLASSE *
  GLASSI *
  HELMET 
  HSCOOP 
  LIGHTBC *
  LIGHTBL *
  LIGHTBR *
  LIGHTFL *
  LIGHTFR *
  LIGHTHL *
  LIGHTHR *
  LIGHTRL *
  LIGHTRR *
  LPLATE 
  MIRRORL *
  MIRRORR *
  MUDFLPS *
  RFRACK *
  ROLLBR1 
  ROLLBR2 
  SKID 
  SNORKEL 
  SPARE 
  SPARE2 
  STEPS *
  SUPPORT 
  UNDBODY *
  VISOR 
  WINCH 
  WIPERLT *
  WIPERRR *
  WIPERRT *
  XHAUST 
  TIRE 
  WHEEL


  The '*' denotes object names that are acceptable to use on custom trucks.
  When creating the low detail model, simply append an 'L' to the end of
  the object name. eg: the high detail 'BODY' would be called 'BODYL'
  on the low detail model.

Scale and position

  Truck models are roughly 0.457 inches per .3DS unit. So a truck with a
  length of 178in. (Xterra) should be about 390 units long. The placements
  of the truck model should be centered on the Z and X axis, and sit on top
  of the XY plane. The front of the truck should point in the +Y direction,
  the top of the truck is in the +Z direction.

Part properties

  There are a variety of optional lighting properties you can set on a part.
  Currently 3DStoSMF only supports transparent and environment mapped parts.
  To flag a part as being transparent append an '_T' to the object name,
  Environment mapped parts should use an '_E'. EG:
  BODY_E    - environment mapped body (shiny)
  GLASSE_T  - transparent windshield
  By default all of the 'LIGHT' objects are transparent type objects.

Mesh smoothing

  All faces in your model that share vertices will automatically be smoothed
  when rendered in-game. If you want to keep sharp corners and ridges, you will
  need to split your mesh at the seam.

Texture vertex notes

  4x4evo models have one texture vertex for each vertex of the model as opposed
  to a texture vertex set for each face of the model. All faces on your model
  with shared vertices should also have the same UV coordinates for those shared
  vertices. Otherwise you will need to split your model at the texture seam just
  as you would for a mesh smoothing seam.

Odd parts

  Wheels, the driver and most suspension work are not needed in the model or the
  models texture. They will be placed programmaticaly in-game from the settings
  in the .TRK file.

Getting your custom truck in the game

  You will need to create at least nine files for your custom truck, twelve more
  if you want custom wheels. If the custom truck is named 'wranglr' the
  files and directories would look something like:

  MODELS\wranglr.SMF    - The high poly model
  ART\wranglr.RAW       - The high poly texture (512x512)
  ART\wranglr.OPA       - The high poly opacity map (512x512)
  ART\wranglr.ACT       - The high poly palette (256 color)

  MODELS\wranglr0.SMF   - The low poly model
  ART\wranglr0.RAW      - The low poly texture (256x256)
  ART\wranglr0.OPA      - The low poly opacity map (256x256)
  ART\wranglr0.ACT      - The low poly palette (256 color)

  TRUCK\wranglr.TRK     - The truck properties file

  and optional wheels:

  MODELS\wrtire08L.SMF  - 8 sided tire model (Left)
  MODELS\wrtire08R.SMF  - 8 sided tire model (Right)
  MODELS\wrtire12L.SMF  - 12 sided tire model (Left)
  MODELS\wrtire12R.SMF  - 12 sided tire model (Right)
  MODELS\wrtire16L.SMF  - 16 sided tire model (Left)
  MODELS\wrtire16R.SMF  - 16 sided tire model (Right)
  ART\wrtire08.RAW      - The 8 sided texture (64x64)
  ART\wrtire12.RAW      - The 12 sided texture (128x128)
  ART\wrtire16.RAW      - The 16 sided texture (128x128)
  ART\wrtire08.ACT      - The 8 sided palette
  ART\wrtire12.ACT      - The 12 sided palette
  ART\wrtire16.ACT      - The 16 sided palette


Examples

  To get you started I have included an low-poly example of a jeep with texture
  and opacity maps. It's not much to look at but you can get an idea of the
  model scale, position and texture settings.
