From 39a6c31beed18f0d1fc211fda919fae7ce2d9505 Mon Sep 17 00:00:00 2001 From: Yasutake Yohei <61961825+yasutakeyohei@users.noreply.github.com> Date: Mon, 5 Oct 2026 21:50:24 +0900 Subject: bluebey-studio: 髪の色をマテリアル側に持たせ、iOSでのHairPlateの色ずれを解消 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 頭の模様は白いマスクとして描き、色はハートと同じくマテリアルのcolorで持たせる。体の色と同じ色管理になり、iPhoneでも色が変わらない。 --- public/bluebey-studio/src/faceArt.js | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) (limited to 'public/bluebey-studio/src/faceArt.js') diff --git a/public/bluebey-studio/src/faceArt.js b/public/bluebey-studio/src/faceArt.js index e63f197..11319c1 100644 --- a/public/bluebey-studio/src/faceArt.js +++ b/public/bluebey-studio/src/faceArt.js @@ -954,7 +954,6 @@ export function drawHeadCoverWrap(ctx, spec, layout) { const base = HAIR_WRAP_LAYOUT.base + (size - 1) * HAIR_WRAP_LAYOUT.reach + clamp(spec.offsetY ?? 0, -600, 600) * HAIR_WRAP_LAYOUT.offsetScale; - const color = spec.color ?? '#8a4fe0'; ctx.save(); ctx.beginPath(); @@ -995,7 +994,10 @@ export function drawHeadCoverWrap(ctx, spec, layout) { } ctx.lineTo(W, 0); ctx.closePath(); - ctx.fillStyle = color; + // A white mask: the colour is applied by the hair plate's material, so it goes + // through the same colour path as the body instead of being baked into the + // canvas (which shaded differently on iOS). + ctx.fillStyle = '#ffffff'; ctx.fill(); ctx.restore(); } -- cgit v1.3.1