Art is not simply dropped in. A model is registered, with its materials
described, and the game then resolves it by name. Registration is where most art
problems live.
Registering a model
<model name="Ark" source="ark.fbx" format="Standard" collision-source="ark_collision.fbx"
group="Vessels" rotation="0 0 0" scale="0.7559546">
<mesh id="0" format="Standard"
texture="ark.jpg" texture-specular="ark_spec.jpg"
texture-normal="ark_norm.jpg" texture-emissive="ark_light.jpg"
texture-arm="ark_arm.jpg" blending="Color"
metalness="0" roughness="1" emissive-intensity="1" />
</model>
The record names the file, a scale, a rotation correction, and one entry per mesh
describing that mesh's material. name is how everything else refers to it.
FBX and glTF/GLB are both supported. Scale is almost always needed — modelling
tools and the game do not agree on units, and the scale figures in real content are
arbitrary numbers found by eye.
The format chooses the shading model:
- Basic — unlit. For anything that should not respond to light:
projectiles, effects, glowing elements.
- Phong — classic specular shading, driven by specular and normal
maps. Most of the older fleet.
- Standard — physically based, with metalness and roughness. What
to use for new work.
Texture slots are diffuse, specular, normal, emissive, and a packed
ambient‑occlusion / roughness / metalness map. Emissive is what makes a ship's
windows and running lights read at distance, and it does more for a model's presence
in space than any other single map.
blending selects how the mesh composites — Color for
ordinary solids, Additive for anything that should glow through what is
behind it.
Collision
A separate collision-source mesh is worth providing for anything large.
Collision against full display geometry is expensive, and a simplified hull is both
faster and better behaved.
Shaders and effects
A model or mesh can name an effect, which selects a shader beyond the
standard material path — the base game registers effects for model shading, unlit
surfaces, running lights, particles and planets. Shaders are registered by name in the
same way models are, so a module can add its own or replace an existing one.
Traps
glTF brings its own materials; FBX does not. Which side owns the
material differs by format, and this is the first thing to check when a model imports
looking nothing like it did in your modelling tool.
glTF needs flipped texture orientation. A glTF model whose textures
are loaded with the wrong vertical orientation renders with black normal maps — the
symptom is a model that looks flat and dead rather than obviously broken.
Cloned models share materials. Changing a material at runtime
affects every instance, and texture caching is keyed on load settings, so a change
that appears to work on one ship can silently apply to all of them.
Do not assume a path exists. Assets resolve through the merged
index of every active module, so a texture your module references may be coming from
somewhere else entirely — and a path that works on your machine may not exist for
someone with a different module set. See Modules for the resolution order.
Previewing
The Models editor and the Gallery station both let you look at registered art
without launching a mission. Use them: the loop of registering, looking, and adjusting
scale and materials is much faster there than in the game.