Skip to content

Shaders/SkinnedMesh/AlphaBlend_Additive_Scroll_Packed

Complex scrolling shader with MAINTEX_ON switch.

Parameters

  • Scroll speed: ScrollSpeedBase
  • UV tile: Base_Tile
  • Texture: Diffuse_Texture (primary; shader may also use Main_Texture when MAINTEX_ON)
  • Color tint: BaseMat_Tint (RGB color for the base layer)
  • Alpha intensity: TintColor[3] (4th component is opacity multiplier, 0.0-1.0)
  • Bloom: enabled

Extractor Handling

  • Profile sets scroll speed, UV tile, diffuse texture, and bloom flag.
  • ColorTintParam: Uses BaseMat_Tint for RGB color.
  • AlphaIntensityParam: Uses TintColor - the 4th component is extracted as opacity multiplier.
  • Treated as scrollable; no flipbook parameters.

Alpha Source Logic

The shader uses TintColor RGB as a mode discriminator:

TintColor RGBModeAlpha SourceExample
White [1,1,1]NormalTintColor[3]Jhin Scrolling01: 40% opacity
Non-white (gray/color)Texture-as-AlphaBaseMat_Tint[3]Aurora Pattern: 65% opacity

Rationale:

  • When TintColor RGB is white, the texture colors are used directly and TintColor[3] controls overall opacity.
  • When TintColor RGB is non-white (gray/color), the texture is used as an alpha mask, and BaseMat_Tint[3] controls the final opacity.

Test Cases:

SkinMaterialTintColorBaseMat_TintExpected Alpha
Jhin 202055Scrolling01[1,1,1,0.4][1,1,0.7,1]0.4 (40%)
Aurora 893011Pattern[0.8,0.8,0.8,0.5][0.75,0.55,0.15,0.65]0.65 (65%)
Karthus 30035Pattern[1,1,1,0.4][1,0.7,0.3,0.75]0.4 (40%)

Tinted Alpha Mask (UseTextureAsAlpha)

Format used by "Aurora Pattern" (Aurora Skin 11) and similar materials.

Detection: TintColor RGB < 0.95 AND Additive blend mode

  • Problem: The texture (grayscale pattern) is intended as an opacity mask, tinted by a color (e.g., Gold). Standard GLTF renders it as dark RGB.
  • Extractor: Sets UseTextureAsAlpha = true in GLTF extras.
  • Frontend:
    • Sets material.alphaMap = material.map (texture intensity → opacity).
    • Sets material.map = null (removes RGB contribution).
    • Sets material.transparent = true.
    • Tint color applied via material.color from GLTF baseColorFactor.

Frontend Expectations

  • handleUvScroll uses ScrollSpeedBase; handleUvTile uses Base_Tile.
  • Bloom-enabled material path.
  • handleUseTextureAsAlpha manages the map-to-alphaMap swap.

Testing

  • Verify scrolling speed/tiling applied correctly.
  • Check bloom behavior and MAINTEX_ON variations render as expected.
  • Aurora Skin11: Verify "Pattern" material appears as a transparent, gold-tinted scrolling pattern at 65% opacity.
  • Jhin Skin55 (202055): Verify "Scrolling01/02" materials appear at ~40% opacity.
  • Karthus Skin35 (30035): Verify "Pattern" material at 40% opacity, NOT using texture-as-alpha.

Built for engineers and AI assistants working on Khada.