aboutsummaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
-rw-r--r--public/bluebey-studio/assets/brows/gol-right.pngbin2242 -> 2490 bytes
-rw-r--r--public/bluebey-studio/src/faceArt.js9
-rw-r--r--public/bluebey-studio/src/panel.js4
3 files changed, 7 insertions, 6 deletions
diff --git a/public/bluebey-studio/assets/brows/gol-right.png b/public/bluebey-studio/assets/brows/gol-right.png
index 857f357..c81e2b6 100644
--- a/public/bluebey-studio/assets/brows/gol-right.png
+++ b/public/bluebey-studio/assets/brows/gol-right.png
Binary files differ
diff --git a/public/bluebey-studio/src/faceArt.js b/public/bluebey-studio/src/faceArt.js
index 671ed1d..ca23b74 100644
--- a/public/bluebey-studio/src/faceArt.js
+++ b/public/bluebey-studio/src/faceArt.js
@@ -847,8 +847,8 @@ function drawHeadCover(ctx, spec, limits) {
const halfSpan = width / 2;
const boundary = (x) => {
const t = clamp((x - cx) / halfSpan, -1, 1);
- // まえがみ: a narrow, deep V pointing down the middle (Atom / Mickey).
- if (shape === 'fringe') return base + 175 * Math.max(0, 1 - Math.abs(t) * 1.6);
+ // まえがみ: swept down towards the cheeks, raised in the middle.
+ if (shape === 'fringe') return base - 175 * (1 - t * t);
// はちわれ: the same V upside down - a widow's peak.
if (shape === 'fringe-up') return base - 320 * Math.max(0, 1 - Math.abs(t) * 1.5);
// カーブ: a plain shallow curve, higher (more hair) round the sides.
@@ -934,8 +934,9 @@ export function drawHeadCoverWrap(ctx, spec, layout) {
const cx = layout.offsetX + span * 0.5 + clamp(spec.offsetX ?? 0, -600, 600);
const vBound = (x) => {
const t = clamp((x - cx) / half, -1, 1);
- // まえがみ: a narrow, deep V pointing down the middle (Atom / Mickey).
- if (shape === 'fringe') return base + 0.15 * Math.max(0, 1 - Math.abs(t) * 1.6);
+ // まえがみ: swept down towards the cheeks, raised in the middle - the
+ // opposite curvature to a central point (concave towards the cheeks).
+ if (shape === 'fringe') return base + 0.22 * t * t;
// はちわれ: the same V upside down - a widow's peak.
if (shape === 'fringe-up') return base - 0.18 * Math.max(0, 1 - Math.abs(t) * 1.5);
// カーブ: a deep round cover - low at the sides, high in the middle, like the
diff --git a/public/bluebey-studio/src/panel.js b/public/bluebey-studio/src/panel.js
index 406bbfb..ba60cad 100644
--- a/public/bluebey-studio/src/panel.js
+++ b/public/bluebey-studio/src/panel.js
@@ -1111,8 +1111,8 @@ export function buildPanel(app, root) {
});
headMarkBox.add(headMarkColor.el);
headMarkBox.add(headMarkColor2.el);
- headMarkBox.add(hint('「かぶせ」は頭にかぶせる丸い髪、「まえがみ」は中央がとがった前髪、'
- + '「はちわれ」は中央が逆に持ち上がった生え際、「カーブ」はドラえもんのように単純にカーブした髪、'
+ headMarkBox.add(hint('「かぶせ」は頭にかぶせる丸い髪、「まえがみ」は中央が高くほっぺ側へ下がる前髪、'
+ + '「はちわれ」は中央が鋭く持ち上がった生え際、「カーブ」はドラえもんのように単純にカーブした髪、'
+ '「わけめ」は7:3に分けた髪です。「たかさ」で生え際を目の中心あたりまで下げられます。'
+ '「髪を目の前に出す」を切ると、髪が目の後ろに回ります。'));