3 Rendering Sounds and Vision
AttODao edited this page 2026-08-16 02:21:38 +09:00

描画・サウンド・視界

モデルとアニメーション

三人称のプレイヤーモデルを、形態NBTを適用した対象Mobのレンダラーへ置き換えます。位置、回転、歩行、攻撃、睡眠、草食、アウトライン等のプレイヤー状態を形態側へ渡します。通常プレイヤー形態では差し替えません。

インベントリ内のプレビューも形態モデルになり、Vanillaと同じくポインター方向へ顔と胴体を向けます。

一人称の手

素手では対象モデルの左右前脚を描画し、ニワトリだけは左右の翼を使います。ウサギはbody配下のfrontlegsを使います。

アイテムまたは地図を持つと、Mobの手だけを隠してアイテムと重ならないようにします。本能モード中は選択スタックを動かさず空手表示にし、腕の振りも止めます。

サウンド

形態NBTを適用したMobのVanilla ambient soundを、そのMobの間隔・確率・音量・voice pitch・SoundSourceで再生します。被ダメージ時も形態Mobのhurt soundを使い、次のambient計時をリセットします。NBTのSilentやsound variantも反映されます。

形態固有の食事や本能モード中の食事では、Vanillaの食事音を食事したプレイヤー本人だけに再生します。他のプレイヤーへは食事音を送信しません。

FOV

カメラFOVへvision.field_of_view_multiplierを掛け、最終値を30度から150度へ制限します。移動速度によるVanillaの動的FOV変化は通常の10%だけ残すため、Mob形態の歩行・スプリント差で画角が大きく脈動しません。

視界ポストエフェクト

Mob形態では共通シェーダーへ形態JSONの色応答、彩度、コントラスト、明るさ、周辺ぼけ、距離ぼけ、暗化、霧を渡します。

  • 距離passはワールド描画直後、深度クリア前に実行します。
  • base passは一人称の手の後に実行し、深度を使いません。
  • 距離は反転深度バッファ、near 0.05、実効描画距離、現在FOVから復元します。
  • 効果開始距離は実行時に最低8ブロックへ補正し、後続の距離曲線も同じ量だけ平行移動します。
  • 高いlow_light_brightnessでは局所暗度を使って暗所を持ち上げ、遠方の孤立した光点を保護します。

違和感70までは干渉係数1、70から100で2へ増え、彩度低下、暗化、霧、ぼけを強めます。クライアントConfigでシェーダーを無効にするとポストエフェクトだけを停止し、FOVやnight vision traitは停止しません。

night_vision traitはPotion EffectではなくLightmapのnight vision強度を1へ上げます。組み込みではネコとヤマネコが持ちます。

本能エフェクト

本能中は同じシェーダーへ琥珀色の周辺効果を合成し、周辺・距離ぼけを最大25%軽減します。開始・終了は10 client tickで補間します。instinct.visual_effect.enabledstrengthで形態ごとに無効化・強度変更できます。サーバーが介入を受理できない状態では、この既存の周辺色だけを短時間で少し強くし、受理可能へ戻ると通常強度へ滑らかに戻します。

本能度が減少すると、本能色は通常の視界色へ連続的に戻ります。インベントリロックアイコンは本能度100で赤、本能度0で灰色です。

捕食者・獲物アウトライン

outline.enabledなら1秒ごとにサーバーが範囲内の生存Entityを距離順で走査し、捕食者を赤#FF3B30、狩猟可能な獲物を緑#45D483で表示します。各カテゴリ最大256体、範囲上限128ブロックです。チャンクを新規ロードせず、本能モード外でも動作します。両方に一致した場合は捕食者を優先します。

視界JSON: vision、組み込み値: 視界値