pioneerspacesim/pioneer — Issue #813: Updated model flavour/material system
Author: Luomu
Created: 2011-11-20 17:04:36+00:00
State: open

Inspired by chats about ship colours (some want dark&silver, I would prefer more lively colours to contrast the blackness of space) and calls for model quality...

Think how often you can paint and customize the look of your cars in racing games. So I propose a system that can support a nice variety of paint schemes without requiring duplicate models. The player would be allowed to choose the paint scheme + colours at a shipyard, NPC ships would use preset patterns (recognizable ones for each faction!).

Explanation of the techniques with images here: http://luomu.github.com/pioneer/shiplooks/

Interactive WebGL demo here: http://luomu.github.com/pioneer/shippainter/index.html (colours here are presets, but in game they would be picked by separate sliders). Up to date Firefox or Chrome required.

It is currently possible to achieve a degree of colour control with the current system (splitting up geometry and dynamic material args), but this system allows better variety.

We could also add decal (squad, faction logos) support in-engine, it might be possible to do similar things with modelling+lua tricks, but it's better to support this "officially". Again would be selectable for player at a shipyard, presets for NPCs. It would be even possible to support player-supplied decals.

Technically, there is nothing requiring removing existing functionality from the model system (material args for example). However, I am concerned about achieving same level of quality and appearance for all models. More limitations and requirements can help achieve that. So, let's say for Pioneer as a game models *must* support all features, for Pioneer as a modding platform you can do whatever you want.

Requirements for modellers would be:
- do your models with this colour system in mind: use a mostly grayscale texture for your model, so it can be correctly tinted by the colour system.
- supply at least one pattern with your model
- supply a specular map
- supply a glow map, if appropriate
- set the decal projector in ship config (Theoretically. Depends if/how it's implemented).