プロジェクト

全般

プロフィール

バグ #536

完了

機能 #524: 「脱AI感」見た目総合改善(建物ディテール・夜景3D化・生活感)

バルコニーから見た窓ガラス(Balcony_Glass)が真っ黒に見える

バグ #536: バルコニーから見た窓ガラス(Balcony_Glass)が真っ黒に見える

エージェント ちゃん さんが約1時間前に追加. 26分前に更新.

ステータス:
完了
優先度:
通常
担当者:
対象バージョン:
開始日:
2026/07/06
期日:
進捗率:

100%

予定工数:

説明

問題

#530(P6 ライティング再設計)のベイク結果確認中、バルコニー側からリビングを振り返るアングルで Balcony_Glass(chill_world.fbx, MAT_Glass)が透過も反射もせず真っ黒な板に見えることに気付いた。室内側からは Window_Living_E/S 等は問題なく見えているため、バルコニー視点・Balcony_Glass 固有の現象の可能性がある。

再現状況

  • カメラ位置: バルコニー側 (-4.6, 1.6, 1.3) 付近からリビング方向 (-7.5, 1.5, 0.2) を見たアングル
  • Balcony_Glass が画面の大部分を覆い、透過・反射どちらも見えず単色の黒
  • スクリーンショットは Unity Editor 上で一時カメラ(Camera.Render + RenderTexture 手動読み出し)を使って撮影したもので、PostProcessVolume / PostProcessLayer を経由していない(ACES トーンマッピング等が掛かっていない生の Camera 出力)。これが黒潰れの一因である可能性があるため、実際のゲーム内カメラ(Post Process 適用)での見え方の再確認が必要。

調査してほしい点

  • MAT_Glass のシェーダー設定(透明度・両面描画・反射プローブ参照)が Balcony_Glass に対して他の窓ガラスと同じに効いているか
  • ReflectionProbe_Rooftop(バルコニー担当)の bakedTexture・Blend Distance・配置がこのアングルをカバーしているか
  • Post Process 込みの実機/Game view での再現有無(Editor 一時カメラのアーティファクトではないか切り分け)

備考

  • #530 のライティング変更(フォグ・ベイク再実行等)に起因するリグレッションか、既存の問題かは未切り分け。#530 の変更内容は #530 参照。

エージェント ちゃん さんが約1時間前に更新 操作 #1

  • ステータス未着手 から 実装中 に変更
  • 進捗率0 から 10 に変更

制作に着手しました。

  • ブランチ: feature/536
  • 対応方針: MAT_Glass(Mochie Glass / GrabPass モード)はブレンドが One Zero で背景を GrabPass テクスチャに置き換えるため、GrabPass が機能しない手動 Camera.Render では黒板化する疑いが濃厚。Scene view / Game view(Post Process 込み)での再現有無を切り分けた上で、ReflectionProbe_Rooftop のカバー範囲・マテリアル設定に実害があれば修正する。

エージェント ちゃん さんが約1時間前に更新 操作 #2

調査完了・修正コミット済み(feature/536 / 1c910ee)

根本原因

MAT_Glass(Mochie Glass)に BAKERY_SH キーワードが有効_BakeryMode: 1)だった一方、シーンのベイクは Bakery の Dominant Direction モード*_dir.tga のみ出力、SH 係数テクスチャ _RNM0〜2 は未生成・未割り当て)。シェーダーの BakerySHLightmapAndSpecular は null テクスチャ(黒)から nL1 = -1 を復元し、lightMap = L0 * (1 - 2*(nx+ny+nz))法線が正軸方向を向く面で負になる。負の間接光が linearstep(-0.5, 0.5, x) で 0 に潰れ、最終色(GrabPass 透過 + 反射)へ乗算されて真っ黒になっていた。

ガラスは SV_IsFrontFace で法線を反転するため、室内側からは正常・バルコニー側からは真っ黒という完全にビュー依存の症状になる(観測と一致)。

調査依頼への回答

  1. MAT_Glass の設定: 透明度・両面描画・反射プローブ参照は全窓共通で問題なし。黒の原因は上記のキーワード不整合(全 MAT_Glass 面共通だが、見る向きで発症)。なお黒く見えていた板の実体は Balcony_Glass ではなく Window_Living_S
  2. ReflectionProbe_Rooftop: 箱範囲は z ≤ 0.35 / x ≥ -7.8 で、バルコニー南側・西側の帯(カメラ位置含む)は箱外。ただし renderer の bounds 交差でプローブ自体は適用されており、黒の原因ではない。バルコニー全域をカバーしたい場合は別チケットで箱の拡張を推奨。
  3. Post Process / スクショ手法: 無関係。Play モード(実行時レンダリング経路・単一カメラ)でも同様に黒を再現。GrabPass も正常動作を確認済み(全画面クアッドで grab 内容を可視化して検証)。実機でも黒く見えていたはずの実バグ

修正内容

  • MAT_Glass.mat: m_ValidKeywords から BAKERY_SH を除去、_BakeryMode: 1 → 0
  • これによりベイク済み *_dir.tga に合致する DIRLIGHTMAP_COMBINED 経路へ戻る。再ベイク不要
  • 副次効果: 一部の面で間接光が最大3倍に過大評価されていた歪みも解消
  • Editor 上でバルコニー視点・室内視点の両方で正常な透過・反射を確認済み

備考

  • BAKERY_SH は初回インポート(7/1, 9af1d18)から存在した既存の設定ミスで、#530 のリグレッションではない
  • 他マテリアルに同種の不整合が無いことを確認済み(BAKERY_SH キーワードが有効なのは MAT_Glass のみだった)

エージェント ちゃん さんが26分前に更新 操作 #3

  • ステータス実装中 から 完了 に変更
  • 進捗率10 から 100 に変更

対応が完了しました。

概要

バルコニー側からリビングを見ると窓ガラス(実体は Window_Living_S)が透過も反射もせず真っ黒に見える問題を修正。MAT_Glass に残っていた BAKERY_SH キーワードとベイクデータ(Dominant Direction モード)の不整合が原因で、再ベイク不要の設定修正で解消。

変更点

  • Assets/mcp-world/Materials/MAT_Glass.mat
    • m_ValidKeywords から BAKERY_SH を除去
    • _BakeryMode: 1 → 0

確認

  • Play モード(実行時レンダリング経路)で BAKERY_SH 無効化により黒が消えることを実証、修正後は屋外・室内両視点で正常な透過・反射を確認済み。他マテリアルに同種の不整合が無いことも確認済み。

関連 MR

  • !31 (feature/536 → main)

他の形式にエクスポート: PDF Atom