From 7329ba8c8901ee095ad7316b8554c5e44431eebc Mon Sep 17 00:00:00 2001 From: Yasutake Yohei <61961825+yasutakeyohei@users.noreply.github.com> Date: Mon, 5 Oct 2026 21:46:21 +0900 Subject: bluebey-studio: 縦書きのセリフとナレーション枠、コック帽改善、小物に鉛筆とコップなど MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit セリフを縦書き可能にし、縦書きのナレーションボックスを追加。ハートでも下まぶたを閉じられるようにし、ふつうの目の瞳を少し鼻側へ。HairPlateは髪が無いとき非表示(iPhoneの色ずれ対策)。コック帽をトック帽に、鉛筆とコップを小物に追加。 --- public/bluebey-studio/src/hats.js | 20 +++++++++++++------- 1 file changed, 13 insertions(+), 7 deletions(-) (limited to 'public/bluebey-studio/src/hats.js') diff --git a/public/bluebey-studio/src/hats.js b/public/bluebey-studio/src/hats.js index c639548..3fb65f3 100644 --- a/public/bluebey-studio/src/hats.js +++ b/public/bluebey-studio/src/hats.js @@ -60,19 +60,25 @@ function buildCap() { return group; } -/** コック帽: a tall white band under a puffy crown. */ +/** コック帽: a tall pleated toque - a cylindrical band under a big puffy crown. */ function buildChef() { const group = new THREE.Group(); const white = material('#f7f6f2'); const shade = material('#e6e3da'); - add(group, cylinder(0.94, 0.98, 0.62, 28), white, 0, 0.31, 0); - const puff = add(group, sphere(1.22, 24, 18), white, 0, 0.86, 0); + // The band: a tall cylinder that sits on the head. + add(group, cylinder(0.86, 0.92, 0.95, 28), white, 0, 0.475, 0); + add(group, cylinder(0.90, 0.90, 0.10, 28), shade, 0, 0.90, 0); + // The crown: a big squashed sphere ringed with lobes, so the top reads as the + // classic pleated toque rather than a plain dome. + const puff = add(group, sphere(1.24, 26, 20), white, 0, 1.30, 0); puff.scale.set(1, 0.82, 1); - for (let i = 0; i < 6; i += 1) { - const a = (i / 6) * Math.PI * 2; - const lobe = add(group, sphere(0.44, 14, 12), shade, Math.cos(a) * 0.86, 1.22, Math.sin(a) * 0.86); - lobe.scale.set(1, 0.85, 1); + for (let i = 0; i < 8; i += 1) { + const a = (i / 8) * Math.PI * 2; + const lobe = add(group, sphere(0.5, 14, 12), white, Math.cos(a) * 0.92, 1.52, Math.sin(a) * 0.92); + lobe.scale.set(1, 0.9, 1); } + const top = add(group, sphere(0.62, 16, 12), white, 0, 1.92, 0); + top.scale.set(1, 0.78, 1); return group; } -- cgit v1.3.1