10 Artstyle
Sara Gerretsen edited this page 2026-01-27 16:47:44 +00:00

3D Model Workflow

To work within the project's artstyle, there's two programs, and three types of files. Blender is used to author the game's meshes and their accompanying textures. Once imported in godot, the import settings are authored using a combination of scripting and manual adjustment.

Blender

Most models will only have a mesh, the game's style requires very little detail, but specific circumstances may require textures to be used.

In blender, godot's naming conventions should be followed, so all things that are imported as nodes should be CamelCase. All objects imported as resources should be snake_case.

Meshes

There are some basic rules that always need to be followed when authoring meshes, specifically:

  • All meshes are "smooth" shaded. The outline shader does not handle flat shading. To achieve an angled look, hand-drawn lines can be added in texture.
  • Space can be left between submeshes to allow the outline shader to fill in the gaps. Enabling clear separation between parts of a model that is otherwise difficult to create due to the unshaded look.

Materials

Creating a new material means setting four parameters to these exact values and not using any PBR settings:

  • IOR : 1.0
  • Metalic : 0.0
  • Roughness : 1.0
  • Specular > IOR Level : 0.0

This ensures that the material is consistent with other parts of the scene. No deviation from this is allowed. The effects these settings are for should be achieved in other ways.

Textures

Irregularities in a model's surface can be simulated by using minimal line-work or airbrushing on textures as well. Though this should be used sparingly to avoid breaking from the game's style.

Where possible, "in-lines" should be added using vertex colours rather than textures.

Godot

Import Script

Once imported into godot, a model has to be assigned the res://assets/style/model_importer.gd script as it's import script.

The script will use node import flags to adjust which outline material to use. Available options are:

  • -nooutline disable outline.
  • -detailoutline use an outline material with a Proximity fade version of the primary outline material.
  • -thinoutline use a combination of a thin outline, and the detail outline to provide details with thinner outlines, while also having a thicker object outline.

These flags can be added to any object in blender. (e.g: 'Torso-thinoutline' in the character model)

Scene

Godot makes it slightly challenging to disable all lighting.

To begin, don't add a directional light. The primary thing to do is to add a world environment that uses ambient light to provide all lighting. If that's still showing directional lighting, remember to disable the preview light in the viewport.

To hide some of the imperfections of textures and the outline shader, enable a small near-DOF at 1.0m and 0.15 in the Camera Attributes.

Set the background mode of the environment to "Keep" and add a sky-sphere, instead of relying on another skybox strategy.

Remember to set Ambient Light mode to "Color". And set the colour to something close to white; set the energy to something that works for the scene in question.