🔖
NPR Wiki
  • NPR tricks
  • Content Guide
  • Outline
    • Black outline
    • Inverse Hull Method
    • Variable Line Thickness On Inverse Hulls
    • Freestyle Mastery (WIP)
  • Shaders
    • Normal Spherizing using Abnormal
    • Manga shader collection
    • The most basic NPR shaders
    • Basic Matcap
    • Maintain falloff with different light hue
    • Reflective Textures
  • Color
    • Display the same color as picked
    • Isolate materials from world color
  • Normal editing
    • Normal Basics
    • Fixing dress edges shading
    • Fixing breast shading
  • Grease Pencil
    • Prevent GP Strokes From Clipping into a mesh
  • PIXEL ART
    • Pixel Art Basics
  • Modeling
    • Detailed curve hair
  • External Links
    • BlenderNPR
    • BEER/Malt wiki
    • Abnormal add-on wiki
Powered by GitBook
On this page
  • Reflection Mapped Textures
  • Reflective Shader->RGB
  • The Final Material

Was this helpful?

  1. Shaders

Reflective Textures

How to use reflections and reflection mapping to add view-dependent effects to materials

PreviousMaintain falloff with different light hueNextDisplay the same color as picked

Last updated 2 years ago

Was this helpful?

Most NPR materials use diffuse, non-reflective shaders for the basis of effects like cel shading. However, using either reflection texture coordinates or plugging a reflective shader (eg glossy/glass shader) into the Shader->RGB node, you can get textures that shift around in a metallic or glasslike way. This NPR technique was popularized by the anime Land of the Lustrous, and some examples of their advanced NPR crystals .

The rest of this page will demonstrate how to create the above material in Blender Eevee. However, both reflection mapping and shader->RGB conversion can be done in a number of other render engines so this technique is by no means exclusive.

Reflection Mapped Textures

Reflective Shader->RGB

The Final Material

Adding these two effects together and then giving them some color, here is what we get:

A final note about reflections is that they look quite different when the base mesh is changed, so try swapping out meshes and see what happens!

Mapping textures to reflections in Blender is very simple: plug a texture coordinate node's 'Reflection' output into the coordinate input of a texture. Only two nodes, and it's already quite an interesting effect. When using reflection coordinates, it's best to use either procedurally generated textures like the voronoi here, or to use tiling image textures. Otherwise seams at the edges of textures will be obvious.

The other method to get reflective NPR is to use the 'Shader to RGB' node. The benefit of this technique is that the rest of the scene will affect the reflections, whether it's lights, HDRIs, or other objects. The brightest parts of the metal shader are isolated, which happens to be where it's reflecting the bright parts of the HDRI. These make for interesting highlights!

can be seen here
The final result
Converting it to grayscale simplifies things so that it can be used in a larger effect.
You already knew it was going to look like this though
Nodes
Same Suzanne but with flat shading
Same Suzanne but with chunky geometry!