From 793bfd720525f7f1f14a507e1c962101db5ef283 Mon Sep 17 00:00:00 2001 From: Yasutake Yohei <61961825+yasutakeyohei@users.noreply.github.com> Date: Sun, 4 Oct 2026 23:48:24 +0900 Subject: bluebey-studio: まえがみをM字に修正し、わけめを削除、眉のUIを整理 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- public/bluebey-studio/src/panel.js | 25 +++++++++++-------------- 1 file changed, 11 insertions(+), 14 deletions(-) (limited to 'public/bluebey-studio/src/panel.js') diff --git a/public/bluebey-studio/src/panel.js b/public/bluebey-studio/src/panel.js index 67022aa..ed7f766 100644 --- a/public/bluebey-studio/src/panel.js +++ b/public/bluebey-studio/src/panel.js @@ -171,9 +171,11 @@ export function buildPanel(app, root) { right: randomEye(), cheeks: { enabled: Math.random() < 0.5 }, beard: { shape: beardShape, ...(BEARD_KIND_DEFAULTS[beardShape] ?? { size: 1, offsetY: 0, spacing: 0 }) }, - headMark: { shape: pick(['off', 'cap', 'fringe', 'fringe-up', 'curve', 'side']) }, + headMark: { shape: pick(['off', 'cap', 'fringe', 'fringe-up', 'curve']) }, brow: { enabled: true, + // Random brows are line drawings, never ゴル風's loaded picture. + image: false, angle: Math.round(rnd(-30, 40)), height: Math.round(rnd(-10, 50)), length: +rnd(0.6, 2.6).toFixed(2), @@ -871,9 +873,12 @@ export function buildPanel(app, root) { onClick: () => { // 両津勘吉: thick げじげじ brows that are joined in the middle, sitting // low over the eyes. `spacing` is what closes the gap - at this length - // the two inner ends meet over the nose (see the panel's note). + // the two inner ends meet over the nose (see the panel's note). Turning + // `image` off is what makes the line drawing take over from ゴル風's + // loaded picture. Object.assign(state.face.eyes.brow, { enabled: true, + image: false, angle: 10, height: 4, length: 2.86, @@ -890,14 +895,8 @@ export function buildPanel(app, root) { ], })); - const browImageToggle = check({ - label: 'ゴル風の画像を使う', - value: false, - onChange: (value) => { state.face.eyes.brow.image = value; app.actions.refresh('face'); }, - }); - faceSection.add(controlRow(null, browImageToggle.el, { wide: true })); - faceSection.add(hint('読み込んだ画像(assets/brows/gol-right.png)を眉として左右に描きます。' - + '「ゴル風」を押すと自動で入ります。画像が無いときは今までの線で描きます。')); + faceSection.add(hint('「ゴル風」は読み込んだ画像(assets/brows/gol-right.png)で眉を描きます。' + + '「両風」など線で描く眉に切り替えると、この画像は使われません。')); // --- glasses / sunglasses (drawn into the same texture as the eyes and brows) faceSection = faceTabSections.glasses; @@ -1082,7 +1081,6 @@ export function buildPanel(app, root) { { value: 'fringe', label: 'まえがみ' }, { value: 'fringe-up', label: 'はちわれ' }, { value: 'curve', label: 'カーブ' }, - { value: 'side', label: 'わけめ' }, ], value: 'off', onChange: (value) => { state.face.eyes.headMark.shape = value; app.actions.refresh('face'); }, @@ -1127,8 +1125,8 @@ export function buildPanel(app, root) { headMarkBox.add(headMarkColor.el); headMarkBox.add(headMarkColor2.el); headMarkBox.add(hint('「かぶせ」は頭にかぶせる丸い髪、「まえがみ」は中央とこめかみが下がるM字(富士額)の前髪、' - + '「はちわれ」は中央が鋭く持ち上がった生え際、「カーブ」はドラえもんのように単純にカーブした髪、' - + '「わけめ」は7:3に分けた髪です。「たかさ」で生え際を目の中心あたりまで下げられます。' + + '「はちわれ」は中央が鋭く持ち上がった生え際、「カーブ」はドラえもんのように単純にカーブした髪です。' + + '「たかさ」で生え際を目の中心あたりまで下げられます。' + '「髪を目の前に出す」を切ると、髪が目の後ろに回ります。')); // --- 鼻ちょうちん: the snot bubble of a sleeping face. @@ -2706,7 +2704,6 @@ export function buildPanel(app, root) { browSliders.spacing.set(state.face.eyes.brow.spacing ?? 0); browSliders.curve.set(state.face.eyes.brow.curve); browSliders.taper.set(state.face.eyes.brow.taper ?? 1); - browImageToggle.set(state.face.eyes.brow.image === true); browColor.set(state.face.eyes.brow.color); glassesToggle.set(state.face.eyes.glasses.enabled === true); glassesKindSegment.set(state.face.eyes.glasses.kind ?? 'glasses'); -- cgit v1.3.1