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/props.js | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) (limited to 'public/bluebey-studio/src/props.js') diff --git a/public/bluebey-studio/src/props.js b/public/bluebey-studio/src/props.js index 3f09651..70a258d 100644 --- a/public/bluebey-studio/src/props.js +++ b/public/bluebey-studio/src/props.js @@ -353,6 +353,24 @@ const buildFuton = prop((group, material) => { * default variant: an open cardboard box stands about a third taller again, so * the offered scale stays sensible either way. */ +/** 鉛筆: an oversized pencil standing on its eraser, point up. */ +const buildPencil = prop((group, material) => { + const r = 0.13; + addCylinder(group, material('accent', 0.85), r * 0.9, r * 0.98, 0.16, [0, 0.08, 0], 6); + addCylinder(group, material('metal', 0.9), r, r, 0.12, [0, 0.22, 0], 6); + addCylinder(group, material('accent'), r, r, 1.30, [0, 0.93, 0], 6); + addCylinder(group, material('wood'), 0, r, 0.30, [0, 1.73, 0], 6); + addCylinder(group, material('metal', 0.3), 0, r * 0.3, 0.12, [0, 1.94, 0], 6); +}); + +/** コップ: a mug with a rim, a handle and a little drink inside. */ +const buildCup = prop((group, material) => { + addCylinder(group, material('paper'), 0.34, 0.30, 0.66, [0, 0.33, 0], 18); + addCylinder(group, material('paper', 0.86), 0.30, 0.30, 0.05, [0, 0.645, 0], 18); + addCylinder(group, material('wood', 0.5), 0.28, 0.28, 0.02, [0, 0.61, 0], 18); + addMesh(group, new THREE.TorusGeometry(0.16, 0.045, 8, 16), material('paper'), 0.36, 0.36, 0); +}); + export const PROP_LIBRARY = [ { id: 'podium', label: '演台', height: 2.2, build: buildPodium }, { id: 'desk', label: '机', height: 1.5, build: buildDesk }, @@ -363,6 +381,8 @@ export const PROP_LIBRARY = [ { id: 'can', label: '空いた缶詰', height: 0.65, build: buildCan }, { id: 'bed', label: 'ベッド', height: 2.0, build: buildBed }, { id: 'futon', label: '布団', height: 0.65, build: buildFuton }, + { id: 'pencil', label: '鉛筆', height: 2.0, build: buildPencil }, + { id: 'cup', label: 'コップ', height: 0.66, build: buildCup }, ]; /** @@ -385,6 +405,8 @@ export const PROP_DEFAULTS = { can: { x: 1.7, y: 0, z: 1.5, rotY: -0.5, scale: 1 }, bed: { x: 0, y: 0, z: -4.7, rotY: 0, scale: 1 }, futon: { x: 4.2, y: 0, z: -0.6, rotY: -0.35, scale: 1 }, + pencil: { x: -1.4, y: 0, z: 2.6, rotY: 0.3, scale: 1 }, + cup: { x: 1.5, y: 0, z: 2.5, rotY: -0.4, scale: 1 }, }; /** The palette entry each part reads, derived from the app's colours. */ -- cgit v1.3.1