Skip to content

Materials

KillzXGaming edited this page Sep 4, 2022 · 33 revisions

3DS materials are handled by a fixed pipeline (similar to Wii/Gamecube) instead of using fragment shaders.

The materials are built using combiners and stages which determine how to display the material.

image

This is the example of a very simple material. PixelL is shading/lighting. It multiplies by the texture to get a shaded output with texture.

This guide will be split into 5 parts.

  • Texture Maps (configures what textures to use)
  • Colors (configures emission, ambient and specular colors)
  • Render State (transparency toggling)
  • LUT editing (Lighting gradients that configure specular/fresnel lighting)
  • Combiner UI (combines everything together)

Texture Maps

image

Texture maps configure what texture to display on the material (when used in the combiner section).

Changing

To select or change the texture, you can click this button. It will give you a list of all current textures loaded.

image

Wrap Modes (Mirror, Repeat)

UV Config

image

Mapping Type - Controls how to display the texture onto the model. UV Coordinates is default. Projection map and other types can do more fancy effects but may not display in the 3D view currently.

UV Layer - Determines what UV layer to use. Some games use the second one for shadow maps so you can have one UV for base texture, second for shadows.

Transforming

image

Simply controls the scale, rotation and translation of the UVs. The transform method is based on different 3D programs.

Filtering

image

This mode is how the image should be displayed from a distance.

  • Linear : Blurry but looks more natural, less pixelated
  • Nearest : Pixel perfect. Ideal for sprites.

Make sure to use the mipmap option for min filter to use mipmaps.

  • Min LOD : The mip to display. This should be 0.
  • LOD Bias : Adjusts the level of detail changing from a distance. Negative can be sharper, positive can be more blurry.

Tex Coord IDs

image

Simply configures what set of texture coordinates to use. 0 1 2 0 uses the first 3 texture coordinates. Other types will share the second and third coordinate set to help save on performance. This shouldn't be requried to edit unless a texture doesn't use the normal 0 1 2 0 type and you need a unique third UV.

Tips

To see the image better, you can resize the window from the bottom.

image

Clone this wiki locally