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 useMain_Texturewhen 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_Tintfor 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 RGB | Mode | Alpha Source | Example |
|---|---|---|---|
| White [1,1,1] | Normal | TintColor[3] | Jhin Scrolling01: 40% opacity |
| Non-white (gray/color) | Texture-as-Alpha | BaseMat_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:
| Skin | Material | TintColor | BaseMat_Tint | Expected Alpha |
|---|---|---|---|---|
| Jhin 202055 | Scrolling01 | [1,1,1,0.4] | [1,1,0.7,1] | 0.4 (40%) |
| Aurora 893011 | Pattern | [0.8,0.8,0.8,0.5] | [0.75,0.55,0.15,0.65] | 0.65 (65%) |
| Karthus 30035 | Pattern | [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 = truein 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.colorfrom GLTFbaseColorFactor.
- Sets
Frontend Expectations
handleUvScrollusesScrollSpeedBase;handleUvTileusesBase_Tile.- Bloom-enabled material path.
handleUseTextureAsAlphamanages 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.