aboutsummaryrefslogtreecommitdiffhomepage
path: root/public/bluebey-studio/src/main.js
diff options
context:
space:
mode:
authorYasutake Yohei <61961825+yasutakeyohei@users.noreply.github.com>2026-10-06 09:56:21 +0900
committerYasutake Yohei <61961825+yasutakeyohei@users.noreply.github.com>2026-10-06 09:56:21 +0900
commit8f39a174d6c4415c7a4df418187090fb5e061983 (patch)
treedbd3cf1e4f67393f029a455c4226479fbefe4804 /public/bluebey-studio/src/main.js
parent63c1a9dfa8b04ab9725a9a49ef34cd3fc6ade56c (diff)
bluebey-studio: ボーンのたて回転・縦書きと吹き出しの形・線画の帽子小物・光の色
ボーンのたてスライダーが±180°で暴れる問題を修正。セリフの縦書きを禁則込みで直し、「ささやき」「思考」の吹き出しを追加。帽子・小物の輪郭線を線画のみにし、線画で帯や芯の境目が読めるよう調整。眼鏡の左右レンズ間隔、光と環境光の色を追加。ハートの下まぶた、レンズが濃いときのまばたきを修正。口メニューの項目名を整理。「顔/すべてをランダム」に眼鏡・Oの口・ひげの大きさ・目の左右位置などを追加。
Diffstat (limited to 'public/bluebey-studio/src/main.js')
-rw-r--r--public/bluebey-studio/src/main.js11
1 files changed, 7 insertions, 4 deletions
diff --git a/public/bluebey-studio/src/main.js b/public/bluebey-studio/src/main.js
index 23ed017..20c6c7d 100644
--- a/public/bluebey-studio/src/main.js
+++ b/public/bluebey-studio/src/main.js
@@ -521,9 +521,9 @@ async function init() {
// Hats are built at runtime, so they are not in the GLB's mesh list. Register
// them with the style system (and the current hat) so they follow flat/line art
// and get an outline hull like every other part.
- hatStyleRegister = (mesh) => styles.addMesh(mesh, { tone: true });
+ hatStyleRegister = (mesh) => styles.addMesh(mesh, { tone: true, lineOnly: true });
hatStyleUnregister = (mesh) => styles.removeMesh(mesh);
- for (const mesh of hatMeshes) styles.addMesh(mesh, { tone: true });
+ for (const mesh of hatMeshes) styles.addMesh(mesh, { tone: true, lineOnly: true });
const face = new Face({
eyeMesh: model.parts.eyeMesh,
mouthMesh: model.parts.mouthMesh,
@@ -980,9 +980,10 @@ async function init() {
);
propRoot.add(group);
// Register with the style system, so フラット and 線画 reach the props too
- // and each part gets an outline hull like the body and the hats.
+ // and each part gets an outline hull like the body and the hats. `lineOnly`
+ // keeps that outline out of リアル/フラット, where the props read by shading.
group.traverse((object) => {
- if (object.isMesh) styles.addMesh(object);
+ if (object.isMesh) styles.addMesh(object, { lineOnly: true });
});
// 看板 only: paint the saved text onto the freshly built face (no-op for
// every other prop, which has no writing surface).
@@ -1839,6 +1840,8 @@ async function init() {
updateKeyLight();
key.intensity = state.render.lightIntensity;
ambient.intensity = state.render.ambient;
+ key.color.set(state.render.lightColor ?? '#ffffff');
+ ambient.color.set(state.render.ambientColor ?? '#ffffff');
renderer.toneMappingExposure = state.render.exposure;
applyBackground();
renderer.shadowMap.needsUpdate = true;