The Driver Syndicate/Vehicles/Creating Vehicle Models

From Equilibrium Engine Wiki
Revision as of 15:08, 1 February 2023 by Sherbetjutsu (talk | contribs)
Jump to navigation Jump to search

The Driver Syndicate vehicles are utilizing many of EGF features such as phyiscs model, skinning, animations, body groups and LODs.


Allignment

Car model allignment.png

When adding a car, make sure that it's pointing towards the Y.

Cars in the Driver Syndicate are roughly 1:1 in meters.

By default, exporting FBX will not apply the model's Transform, Rotation and Scale.

Popup headlights are a separate model within the same .blend file.

Textures

A .mat file tells the game what the names of the textures are for a model to use.

A .mat file also tells the game whether a texture should have a reflection, glow, be transparent etc.

When exporting to FBX, the name of the .mat files that the game looks for are given by the material names in Blender.

glass and lplates are used for vehicles' windows and license plate textures.

Materials/textures that are unique to the vehicle can have any name, but should be named after the vehicle, and not be the same as any other materials/textures.

Material names that a vehicle named Vette could use.

Damage Model Overview

Damage zones

Damage model is very similar to the Driver 1 and Driver 2 and utilizes separate model file with pre-defined damaged shape.

Vertices are assigned to the specific damage zones and this allows blending of individual parts between clean undamaged shape to the damaged shape.

For vehicle to support damage model, it needs to be set up in specific way but it is pretty similar to the regular skinning setup as it utilizes Shape Key and Armature

Vehicles in game identifying damage zones in a directional manner and consist of 7 zones:

  1. front.left
  2. front.right
  3. side.left
  4. side.right
  5. back.left
  6. back.right
  7. top.roof (optional)

Each of the zones is meant to be damaged individually but there 4 more zones for car windows that are depending on zones above:

  1. window.front - affected by front.left and front.right
  2. window.back - affected by back.left and back.right
  3. window.left - affected by side.left
  4. window.right - affected by side.right

Each of the windows will appear damaged depending on the damage levels of zones they are affected by.

For example, if front.left or front.right getting damaged more than 75%, it will take damaged appearance.

Armature

An armature with all available bone names, along with a random "Bone" bone, headlight bones can be omitted for cars without popup headlights.

An Armature must be added for a vehicle to have cosmetic damage.

Vehicles also need to have an Armature modifier that points to the armature.

Copying the Vette's or the Carla's armature, and pasting that into your model's scene works too.

Modifier to make a car work with the armature.


Rigging

Almost acceptable rigging behaviour.

A car must have vertex weight groups that correspond with the names of the bones from the armature.

Areas of the vehicle can be assigned to vertex groups either by highlighting them in Edit Mode and clicking Assign, by using Weight Painting, or with a combination of the two.

Weight groups should be assigned in the correct area for each bone.

The center for the front and back of the car should be assigned for the front and back bones.

Popup headlights do not get assigned to the front bones, they get assigned to headlight.left and headlight.right

A shape key, generally named Base or Basis, is used as the regular, undamaged shape of the car.

A damage shape key named Damage is used for the damage of Driver Syndicate vehicles.

Usual ways of creating a Damage shape key are:

  • Moving the front and back bumpers towards the center of the car
  • Flaring out the quarter panels
  • Moving the center rows of the hood and trunk up

That's a lot of Shape Key

LOD Models

The Vette and its low poly counterpart.

A low LOD (Level of Detail) model is used for vehicles that are far away from the player to increase game performance.
A vehicle's low LOD model should follow the general shape of the vehicle.
The low LOD should also have the main vehicle model's texture and a similar UV mapping.
When the low LOD swaps in, details such as the wheels and driver for a car disappear. Because of this, it's a good idea to have a low poly stand-in for the wheels.
If there are bodygroups that are noticeable from a distance, they can have a low LOD model separate from the main low LOD.

Physics Models

Car physmodel top.png

A physics model is the model of a car that collides with objects in the world.
The physics model is the general shape of the car.
The physics model is generally a little bit shorter than the front and back bumper.
The front and back of the physics model comes up at the bottom to help cars land smoothly.
If a car has a particularly low front or back end, the physics model can come higher to make collisions more regular.
A physics model shouldn't wrap around smaller details such as spoilers and mirrors.
Car physmodel side.png

Exporting to .fbx

Clicking on File > Export > FBX.

FBX is the superior way to export a car to the program that exports cars to the Driver Syndicate.

Reasons to use FBX over .esm:

  1. Works in newer versions of Blender

Blender's default settings for exporting to fbx usually work well enough, this will put every model into one .fbx file.

Default settings usually work well enough.

Exporting to .egf

.egf is the file format of 3D models for the Driver Syndicate.
A .esc script can be edited in text editors such as Notepad
EGFMan reads a .esc script to do the following:

  1. Read the .fbx file
  2. Turn a model inside the .fbx into a .egf
  3. Turn a model inside the .fbx into the lo poly model for a .egf
  4. Turn a model inside the .fbx into a .pod (physics model)
  5. Turn a model inside the .fbx into a bodygroup (things like spoilers, roofs on convertibles, so they can be turned on and off)
  6. Turn a model with a shapekey (damage) inside the .fbx into a .egf

a diagram of a bunch of incoherent arrows connecting seemingly random bits of text that might tell you what points to what if you squint hard enough.

Once a .esc file is created, EGFMan can be used to compile this script, and create .EGF files for the game
Car egfman1.png Car egfman2.png Wow Soapy, 0 faces!? Your optimization skills are demonic