Medal Lab

Pokémon GO medals, tinted per tier from their RGB templates

(downloads)

Inputs · from the game

Tier ·

MetalColorBadgeMaterialConfig · vertex colour
MetalPower
MetalSaturation
Ring

Accent · template B

DetailColorBadgeMaterialConfig

Read out of the APK (Niantic.Holoholo.BadgeMaterialConfig, sharedassets1 pathID 162909): one MetalColor / MetalPower per tier, one DetailColor per medal. The shader that uses them (ma_Badge) lives in a remote bundle, so the maths below is estimated.

What if

MetalColorcustom MetalPower
DetailColorcustom

Layout · icon in the ring

px of 512
px of 512
× (ratio fixed)

Drag the icon in the big render to move it; the guides show the frame's centre, the icon's box and its centre, and snap to centre (Alt to skip snapping). Wheel over it to scale (the aspect ratio is always kept); ←↑→↓ nudge 1 px (Shift 10) while it has focus. The ring never moves. Offsets are of the 512 frame; scale multiplies the rule. Kept per medal in your browser; exports use it.

Model · estimated

metal = mix(MetalColorP·k(G), white, w(G))
k(G) = max(0, a0 + a1·G)   w(G) = sat(c0 + c1·G)
accent = the same on DetailColor over B (power 1)
then c += l0 + lu·u + lv·v (light over the sprite)

Render

Medal · ring + disc + icon

All tiers

Save PNG writes the icon, the ring and the composed medal; Render all… zips every medal at every tier.