# 3D Models

As of version 1.9.6, Tacview contains more than 500 models representing varied aircrafts, weapons and ground units. You will see aircrafts from the P‑51 to the Su‑34, helicopters, heavy bombers, and transporters including the famous E-3 AWACS. There are also ground vehicles and weapons like tanks, missiles, and trucks.

See our [Github repository](https://github.com/Vyrtuoz/Tacview/tree/master/3D%20Models/Data/Meshes) for a complete listing of the 3D models that we can make available to the public.

When Tacview does not contain the exact 3D model, it attempts to display a similar model. If you notice that a really inappropriate model is being displayed, please let us know by sending an `ACMI` file to <support@tacview.net>.

If you have a 3D model that you would like to have added to Tacview, your donation is very welcome! Ensure your model meets the [3D model requirements](#3d-model-requirements). Send your model to <support@tacview.net> with a relevant `ACMI` file if applicable.

Alternatively, you can add new 3D models to Tacview or replacing existing ones on your own end for your use only.

First, have ready a 3D model which meets the [3d model requirements](#3d-model-requirements). How to create or convert 3D models to meet these requirements is beyond the scope of this documentation.

Here is an example 3D model: [f-5.obj](https://ln5.sync.com/dl/fd011c910/6rs5pjsg-vcfi338v-8v63dzqc-wbyxgd4r).

Place your 3d model in the folder `%ProgramData%\Tacview\Data\Meshes\` or `%APPDATA%\Tacview\Data\Meshes\`

![3D Models - Folder](https://681332907-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FZ9tiJ3xbT7zyJ4FlZiMM%2Fuploads%2Fgit-blob-62e61230a8d59ad8980e4a9b3e30bcb525a3b29e%2F3d-objects-folder.png?alt=media)

Then create an standalone `XML` file with a unique name similar to the below example and place it in the folder `%ProgramData%\Tacview\Data\Database\Default Properties\` or `%APPDATA%\Tacview\Data\Database\Default Properties\`. See the [database documentation](https://raia-software-inc.gitbook.io/tacview/customization/database) for more information about this type of `XML` file.

```xml
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<DefaultPropertiesCollection LoadingOrder="1.0">
	<DefaultProperties Id="FixedWing.F-5" Base="FixedWing.Fighter.Jet">
		<Criteria>
			<Name>F-5</Name>
			<Name>F-5 Freedom Fighter</Name>
			<Name>Northrop F-5</Name>
		</Criteria>
		<Properties>
			<ShortName>F-5</ShortName>
			<LongName>F-5 Freedom Fighter</LongName>
			<FullName>Northrop F-5 Freedom Fighter</FullName>
			<Shape>F-5.obj</Shape>
		</Properties>
	</DefaultProperties>
</DefaultPropertiesCollection>
```

### 3D Model Requirements

* The model should be in [Wavefront OBJ file format](https://en.wikipedia.org/wiki/Wavefront_.obj_file).
* The amount of triangles should be kept relatively low to guarantee good performance (typically less than 4000 triangles per model).
* The filename is case sensitive.
* It is recommended that the filename is the short [ICAO](https://www.icao.int/publications/doc-8643-aircraft-type-designators) / [NATO](https://en.wikipedia.org/wiki/NATO_reporting_name) code of your aircraft (e.g.: `f-16.obj`, `Su-27.obj`, `f-15d.obj`, `c-152.obj`).
* The folder name is case sensitive, it is important to not forget to capitalize its words such as: `\Data\Meshes\`
* The model scale is in meters.
* The orientation has to be: `-Z Forward`, `Y Up`.
* The model center has to be the center of mass of the aircraft or ship. For ground vehicles, the center has to be the middle of the vehicle at the ground level (bottom of the wheels).
* You may wish to remove any propellers from your model and replace them with the transparent propeller models that we have made available on our [GitHub](https://github.com/Vyrtuoz/Tacview/tree/master/3D%20Models/Data/Meshes). Choose between `Core.Rotor.XY.obj`, `Core.Rotor.XZ.obj` and `Core.Rotor.YZ.obj`, place them on your model and scale them accordingly.

Also, keep in mind the following limitations:

* Quads are not supported (only the first half of each is going to be displayed).
* To ensure consistent rendering quality, normals are ignored and recalculated by Tacview.
* For readability reasons, materials are ignored. Your model is not going to be textured.
