Difference between revisions of "Car graphics"

From VDrift
Jump to: navigation, search
Line 29: Line 29:
 
todo
 
todo
 
====Car Skins====
 
====Car Skins====
The diffuse texture of the car [body] component can be swapped by the player against textures in <CARNAME>/skins directory.
+
The diffuse texture of the car [body] component can be swapped by the player against textures placed in <CARNAME>/skins directory.
 
[[Category:Cars]]
 
[[Category:Cars]]

Revision as of 08:01, 5 April 2013

Cars in VDrift are composed of multiple components. Their graphical representation consists of geometry(mesh), textures and a draw flag which denotes whether the object is to be handled as opaque, transparent or emissive. The setup is done in car parameters files <CARNAME>.car.

Geometry(meshes) can share textures. The number of meshes and textures should be kept low for performance reasons.

Example of a graphical component setup:

[some_car_part]
texture = diffuse.png, misc1.png, misc2.png  # (required) the first texture(diffuse.png) is required, additional textures(misc1.png, misc2.png)are optional
mesh = model.joe                             # (required) geometry (mesh)
position = 0.736, 1.14, -0.47                # (optional) relative mesh position
rotation = 0, 0, 30                          # (optional) relative mesh orientation 
scale = -1, 1, 1                             # (optional) mesh scale factor
color = 0.8, 0.1, 0.1                        # (optional) base diffuse color; blended with diffuse texture using alpha channel as mask
draw = transparent                           # (optional) draw flag: opaque, transparent, emissive; opaque is default

Geometry

Car geometry is stored in VDrift native JOE format. Import/export scripts for Blender are available here: https://github.com/VDrift/blender-scripts

Shared Geometry

todo

Generated Geometry

todo

Textures

VDrift supports multi-texturing for more realistic geometry surface graphics. Texture are RGBA images in PNG format. As of April 2013 DDS(DXT1-3) is also supported.

  • 1. Texture (required): Diffuse color (diffuse albedo or diffuse reflectance) in the RGB channels and Color Blending mask in the A channel.
  • 2. Texture (optional): Specular reflection (fresnel reflection coeff at 0 deg) in the RGB channels and Glossiness (surface roughness) in the A channel.
  • 3. Texture (optional): Normal map (tangent space normals) in the RGB channels.

Shared Textures

todo

Car Skins

The diffuse texture of the car [body] component can be swapped by the player against textures placed in <CARNAME>/skins directory.