I think low-poly, pixelated 3D models look cool. I grew up in the Nintendo 64 & PlayStation era, and find early 3D art charming. So when I'm making this kind of art in Blender, it can be a hassle to get a large number of textures displaying correctly. If you've tried to do this before, you may have noticed that Blender interpolates image textures by default, which is not the result we're looking for.

Fortunately, there is a simple solution to this problem: we can turn off interpolation for the image textures. This is also known as "sample closest texel", "nearest neighbor", or simply "closest" interpolation. This will ensure that the texture is sampled exactly as it is, without any interpolation or smoothing.

To change the texture interpolation setting for all materials in your project, you can use the following Python script:

import bpy

for mat in bpy.data.materials:
    if not mat.node_tree:
        continue
    for node in mat.node_tree.nodes:
        if node.type == 'TEX_IMAGE':
            node.interpolation = 'Closest'

Simply paste this Python code into a new text file in the Text Editor (The Scripting workspace / tab). It will set the texture interpolation settings to "Closest" for all materials in your project.

The script is useful when downloading and importing models from The Models Resource, a site "dedicated to the collection, archival, and appreciation of materials from video games." Depending on the model, it could be imported with many materials that will all need to have the texture interpolation turned off, and this script does that in one click.

Turning off interpolation is especially important for low-poly pixel art textures, as it preserves the pixelated look and ensures that the texture is displayed accurately. Interpolating small textures will make them appear blurry or distorted, which can ruin the aesthetic of the low-poly pixel art.

In summary, if you want to use pixel art for texturing your low-poly models in Blender, be sure to change the texture interpolation settings to "Closest" to ensure that the textures are displayed accurately. The Python script provided above can help you do this quickly, easily, and can be run at any time.

Have fun!