본문 바로가기
UE5/01.Fab_관련문서

[Fab] Character Toon Shader

by 도트월드 2026. 7. 11.

 

Fab Link : https://fab.com/s/01934b5062d4

 

* Preview : Toon Shader + Outline( Taper )

 

 

Preview : Toon Hair Shader + Outline( Taper )

 

 

 

 

Shader Configuration

-       Toon Material : General use for characters

-       Outline Material : Outline rendering ( Outline Taper, thickness )

-       Hair Material : Toon + Hair “Angel Ring” effect

 

Demo Level

 

Demo level path

-       Content\Character_Cartoon\Level

 

*  “Sample Material Instance” path

-       Toon Sample : Content\Character_Cartoon\MaterialInstance\Body

 

-       Toon Hair Sample : Content\Character_Cartoon\MaterialInstance\Hair

 

-       Outline Sample : Content\Character_Cartoon\MaterialInstance\Outline

 

*  Preparation for using Outline ( Taper )

 

 - To make the outline thinner using Unreal Engine’s mesh paint feature,

vertex color data is required for the specific areas.

- Apply the outline material instance to the Overlay Material of the mesh or skeletal mesh you wish to outline.

 

 

 

* Materal Parameters

-     M_Toon

 

00 _ Base & Mask Controls

This section manages the foundational textures, PBR maps, and emissive properties of the character mesh.

-      Base Maps & Lighting

  • Base_Tex / Base_Color: The main diffuse texture map and its tint color overlay.
  • Normal_Tex / Normal_Intensity: The normal map input and a multiplier to control the strength/depth of the surface details.
  • Anisotropy: Controls the directional stretching of highlights (Anisotropic reflection), particularly useful for metallic parts or specialized surfaces.

-      Emissive Settings

  • Emissive_Tex: The texture map used to define glowing areas.
  • Emissive_Channel: Selects the specific texture channel (Red, Green, Blue, or Alpha) to extract the emissive mask.
  • Emissive_Color: The core color of the glowing/emissive areas.
  • Emissive_Intensity: A multiplier that controls how bright the emissive areas glow.

-      Mask Controls

  • Metallic / Specular / Roughness: Base PBR sliders to control surface reflectivity and smoothness when no texture mask is assigned.
  • MSR_tex: A packed texture sampler mapping Metallic (Red Channel), Specular (Green Channel), and Roughness (Blue Channel) altogether for optimal performance.

 

01 _ Toon Shading (Cel Shading)

This group defines the multi-layered multi-band Cel-shading layout. By combining Intensity (brightness) and Offset (coverage area), you can customize the bands of light and shadow.

 

  • Band_HighLight_Intensity : Adjusts the brightness of the highest specular highlight band.
  • Band_HighLight_Offset : Shifts the boundary and expands/shrinks the coverage area of the highlight band.
  • Band_Light_Intensity : Controls the brightness of the primary lit area.
  • Band_Light_Offset : Shifts the boundary line where the primary light meets the mid-tones.
  • Band_Middle_Intensity : Adjusts the brightness of the mid-tone transition band (2nd shade layer).
  • Band_Middle_Offset : Moves the position and thickness of the mid-tone band.
  • Band_Shadow_Intensity : Controls the ambient/base brightness within the deepest shadow band.
  • Band_Shadow_Offset : Expands or shrinks the overall surface area that receives shadows.

 

  •  Shadow_Contrast : Controls the sharpness or softness of the transition line between light and shadow bands. Higher values create a crisp anime look.
  •  Shadow_Saturation : Adjusts the color saturation specifically within shaded areas to prevent muddy or gray tones.
  •  Shadow_Tint_Color : Applies a custom color overlay to the shadow region, perfect for stylized ambient color matching (e.g., stylized blue or purple shadows).

 

02 _ Rim Light

Controls the stylized silhouette-highlighting rim lighting effect, giving the character clear depth and separation from the background scenery.

 

  • Rim_Bias : Adjusts the overall distribution and position offset of the rim light along the mesh edges.
  • Rim Contrast : Controls the sharpness of the rim light boundary.
  • Rim_Color : The color applied to the stylized rim light effect.
  • Rim Intensity : Multiplier that dictates the brightness and glow intensity of the rim light.

 

03 _ Toon Global Settings

Global settings that dictate how the toon shader interacts with world lighting and environmental overrides.

 

  • Pixel_Normal_Rate : Blends between the mesh's vertex normals and pixel (texture) normals to smooth out or sharpen the stylized shading behavior.
  • Sky_Light_Influence : Controls how much the scene's ambient Sky Light affects the overall brightness and color of the toon shader.
  • FakeSunPosition / IsFakeSun_Rate : Overrides the world's actual Directional Light vector with a custom constant color/vector, allowing you to force stylized shadows regardless of the environment's actual light source position.

 

-     M_Toon_Hair

Explanation excluding parts that overlap with “M_Toon” Material

001 _ Hair Toon Shading

This group manages the foundational cel-shading look of the hair using Color Curve Atlases for multi-layered tone remapping.

 

  • Hair_Shading_Curve (Curve / Row Override) : The primary curve atlas used to remap the basic toon shadow and light boundaries on the hair.
  • Hair_Secondary_Shading_Curve (Curve / Row Override) : The secondary curve atlas used to define the 2nd shading layer (deep shadows or mid-tones) for added graphical depth.
  • Hair_Secondary_Shading_Rate : Controls the blending ratio and influence level of the secondary shading layer over the base shading.
  • Hair_Opacity : Adjusts the overall transparency or dithering opacity of the hair strands.

 002 _ Hair AngelRing

Controls the stylized anisotropic reflections, commonly known as the "Angel Ring" (halo highlight) that wraps around the hair mesh.

 

  • AngelRing_Ramp_Curve (Curve / Row Override) : Defines the shape, gradient profile, and sharpness of the anisotropic angel-ring highlight band.
  • AngelRing_Intensity : Adjusts the overall brightness and glowing strength of the angel-ring highlight.
  • AngelRing_Offset : Shifts the vertical position and thickness of the highlight along the hair strands.
  • AngelRing_Pow : A power multiplier that sharpens or broadens the highlight rings. Higher values compress the ring into a crisp line.
  • Camera_Angle_Sensitive : Controls how dynamically the highlight moves based on the view direction (Camera Vector). Adjusts the anisotropic view-dependent sensitivity.

 003 _ Hair Noise & Tiling

Manages the procedural hair strand details and variations by layers of high, low, and spotty noise masks.

 Textures & Scaling

  • Hair_Noise_Tex : The core noise texture utilized to generate procedural hair strands and distort highlight borders.
  • Noise_Tiling_U : Dictates the horizontal tiling frequency (controls the density and count of vertical hair strands).
  • Noise_Tiling_V : Dictates the vertical tiling frequency (stretches or compresses the noise patterns along the length of the hair).

 Multi-Layered Noise Settings

  • High_Noise_Contrast / High_Noise_Period : Controls the sharpness (Contrast) and frequency wavelength (Period) of the fine, detailed noise layer.
  • Low_Noise_Contrast / Low_Noise_Period : Controls the sharpness and frequency wavelength of the broader, background hair strand variance layer.
  • Spotty_Noise_Contrast / Spotty_Noise_Period : Adjusts the contrast and scale of irregular, patchy (spotty) variations to give the hair a more natural, non-repetitive anime aesthetic.

 

-     M_Outline

 

This group manages the core visual properties of the outline, including its global thickness and line color.

 

  • Outline_Thickness : Controls the global width and thickness of the ink lines wrapping around the character mesh.
  • Outline_Color : Defines the color of the outline. While black is standard for classic anime, you can use dark tones matching the character's palette for a modern, softer look.

 

Manages dynamic line weight attenuation (tapering). This allows lines to become thinner or fade out at complex mesh borders, vertex corners, or specific texture-masked regions to create a professional, hand-drawn look.

 

  • Use_Taper_Rate : Blends and dictates how strongly the tapering mask affects the outline. A value of 1.0 fully applies the thinning/tapering effect based on your mask data.
  • Outline_Taper_Thickness : Sets the minimum or alternate thickness threshold specifically within the tapered/thinned regions defined by the mask.
  • Taper_Channel (Component / Channel Override) : Selects the specific vertex channel (Red, Green, Blue, or Alpha) from your vertex color to drive the line-tapering attenuation logic.

 

반응형