diff options
| author | Yasutake Yohei <61961825+yasutakeyohei@users.noreply.github.com> | 2026-10-03 15:44:38 +0900 |
|---|---|---|
| committer | Yasutake Yohei <61961825+yasutakeyohei@users.noreply.github.com> | 2026-10-03 15:44:38 +0900 |
| commit | fbaf2cc671fed23b555e218499301af0f50327b0 (patch) | |
| tree | dbdbf5bca92004085feebec920019800472672e5 /public/bluebey-studio/src/look.js | |
| parent | 4cf9c37ecd568dab470b5714bff4ff9f860a5377 (diff) | |
public/bluebey-studio: 移動範囲と影・壁の追従、看板の文字
移動スライダーの範囲を広げ、キーライトと影カメラがぶるべーに追従するようにした(遠くへ動かしても影が切れない)。地面も広げた。
足もとの丸い影は既定で非表示にし、「足もとの丸い影」で切り替えられるようにした。原点に取り残されないよう、ぶるべーに追従させる。
見えない壁は体の向き(master のY回転と見る先の体向き)にも追従するようにした。
「舞台」をやめ、「小物」「擬音」「見えない壁」をそれぞれ独立したメニューにした。看板に文字を書けるようにした(複数行可)。
Diffstat (limited to 'public/bluebey-studio/src/look.js')
| -rw-r--r-- | public/bluebey-studio/src/look.js | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/public/bluebey-studio/src/look.js b/public/bluebey-studio/src/look.js index f68b602..d755c3b 100644 --- a/public/bluebey-studio/src/look.js +++ b/public/bluebey-studio/src/look.js @@ -130,7 +130,11 @@ export function createLook({ renderer, scene, styles, model, ground, key, charac // where the body hides its own shadow right at the feet, which otherwise // reads as "the shadow is cut off". It is the only thing keeping the // character looking like it is standing on the floor rather than above it. - contact.visible = wantsShadow; + // The blob sits at the feet. It used to be drawn whenever the shadow was on, + // which left a faint ring behind at the origin once the character was moved; + // it is now opt-in (`render.contactBlob`, default off). It is always shown in + // the 「接地影だけ」 mode, where it is the only shadow there is. + contact.visible = wantsShadow && (blobOnly || render.contactBlob === true); contact.material.opacity = clamp01((render.shadowOpacity ?? 0.22) * (blobOnly ? 2.6 : 1.6)); const spread = Math.max(0.2, (model.size.x * 1.15) / Math.max(0.05, render.shadowSoftness ?? 1.6)); contact.scale.setScalar(Math.max(0.5, model.size.x * 1.35 - spread * 0.25)); |
