メッシュ生成:上面を調整 その3
妹ちゃんとペアプロ開発やってみた #0083
蒼月
なるほど。
ヒエラルキーで Renderer を無効にすればいいのね。
スクショを4枚アップしたよ。
20260725-3 … 25-1 と同じ状態
20260725-4 … WALL_L_03 の Outer を非表示
20260725-5 … WALL_U_00 の Top を非表示
20260725-6 … 25-5 で L_03 の Outer も非表示
20260725-3 のスクショ
20260725-4 のスクショ
20260725-5 のスクショ
20260725-6 のスクショ
25-3 と 25-4 を比較すると Top の色の変化は
ないように見える。
25-5 と 25-6 を比較すると Top の領域にも
青壁の影響があるのがわかる。
ということは、Top は最後に描かれている
ということになるかな。
白っぽく見える青壁の上から Top を上書きしたから
濃く見えるということっぽいね。
妹ちゃん
1m 52s考えました
うん、お兄ちゃん。推論はほぼ合っているよ。
ただし、「上書き」というよりは Outerを描いた結果に、Topを後から半透明合成している と捉えるのが正確だね。
4枚から分かること
25-3 → 25-4
L_03 / Outerを消すと、床や緑壁を含めて画面全体がかなり明るくなっている。
つまり青いOuterは、視界の広い範囲に半透明で重なっている。
Topのピンク領域も、よく見るとわずかに明るくなっている。ただ、周囲ほど大きくは変わっていない。
25-5 → 25-6
U_00 / Topを消した状態では、Outerを消した影響が上部にもはっきり現れる。
この結果から、この視点ではおそらく、
背景・他の壁
↓
L_03 の青い Outer
↓
U_00 のピンクの Top
の順番で合成されているね。
Topを最後に描いても、Outerの色は残る
Topはアルファ約0.5だから、最後に描かれても完全には塗り潰さない。
大まかには、
最終色
= Topの色 × 0.5
+ 既に描かれた色 × 0.5
になる。
その「既に描かれた色」には青いOuterの影響が入っているので、
背景
↓ 青Outerで青白く・少し暗くなる
↓ ピンクTopを半透明合成
となり、Top単独よりも少し暗く、紫寄りに見える。
だから、お兄ちゃんの言う
白っぽく見える青壁の上からTopを描いた結果、濃く見える
で概ね正解だよ。
Topが二重に描かれて濃いわけではなさそうだね。
ただし「Topは常に最後」とは限らない
ここは少し注意が必要。
Top_TRとOuter_TRはどちらも透明マテリアルで、現在は同じTransparent系の描画順になっている。Unityは透明Rendererをカメラからの距離などで並べるので、
・この角度ではOuter → Top
・別の角度では順番が入れ替わる
可能性はある。
今回の確認で言えるのは、
少なくともこの位置・この角度・このRenderer同士では、TopがOuterより後に描かれている可能性が高い
というところだね。
回転中に色が滑らかに変わるだけなら、透明面の自然な重なり。
特定の角度で急に色が切り替わるなら、透明ソート順の入れ替わりを疑うべきだよ。
アルファを下げる案について訂正
前にわたしは、Topを0.5 → 0.4に下げる案も挙げたけれど、今回の切り分けを見ると、青Outerの影響を弱めたい目的には逆方向だね。
Topのアルファを下げるほど、背後の青Outerが強く混ざる。
Top α 0.4
→ 背後が60%残る
Top α 0.6
→ 背後は40%だけ残る
なので、
・Top自体を目立たなくしたい → アルファを下げる
・Outerによる色変化を減らしたい → アルファを上げる
になる。
次に試すなら
わたしなら、まずTop_TRだけ一時的に
Alpha = 1.0
にして、25-3と25-4相当を比較する。
そこでTop領域の色が完全に変わらなくなれば、今回の説明が確定する。
その後、実用値としては、
0.50
0.60
0.65
を比較するのがよさそう。
0.6くらいなら上面の存在感を保ちつつ、青Outerの混ざり方を少し抑えられると思う。
描画順を安定させる必要が出た場合は、Outer_TRよりTop_TRのRender Queueを少し後ろにする方法もある。ただしそれは順番の入れ替わり防止であって、半透明である限り背後の色が混ざること自体は変わらないよ。
今の4枚で、原因はかなりきれいに切り分けられたと思う。
蒼月
まぁ、回転が終わったら上面がちょっと明るくなるな、
というくらいで、気になる!直したい!という程でもないよ(^^;
今はたまたまピンクで目立つ色だから
余計に気になるのかもしれないw
一応、alpha = 1.0(255)にしたスクショを2枚アップしたよ。
20260725-7, 20260725-8 を見て。
20260725-7 のスクショ
20260725-8 のスクショ
妹ちゃん
見たよ、お兄ちゃん。
20260725-7と20260725-8では、左上のピンクのTopはほぼ同じ色に見えるね。
一方で、周囲はかなり違う。
・25-7:青いOuterの影響で、緑壁・床・遠景が暗く青寄り
・25-8:Outerの影響が外れて、緑壁と床が明るい
・ピンクTop:どちらでもほぼ同じ色
これで、
Topが最後に描画され、alpha 1.0なら背後のOuterを完全に隠す
という確認は取れたと思う。
ただ、alpha 1.0版はやっぱり上面だけベタッと強く見えるね。壁の上に不透明なピンク板が載っている感じが戻ってしまって、今回目指していた「厚みは感じるけれど視界を邪魔しない」という状態からは離れる。
なので、わたしも今のお兄ちゃんの温度感なら、
Top:常時TR
Alpha:0.5のまま
壁フェード制御から除外
回転終了時の軽い色変化は許容
で進めてよいと思うよ。
特に今は、
・Topが鮮やかなピンク
・Outerが青
・床が黄緑
という検証用の対照色だから、色の混ざりが非常に見つけやすい。実際の壁テクスチャや落ち着いた色に置き換えたら、この程度の変化はかなり目立たなくなる可能性が高いね。
それより、以前のように回転途中でTopの境界がくっきり現れる問題がなくなったメリットの方が大きい。壁上面の見え方は現在の検討対象だけれど、今回の方式で実用上の落としどころには十分到達していると思う。
結論としては、alpha 1.0は原因確認用として成功、採用値は0.5へ戻して完了寄りでいいね。ピンク、デバッグでは優秀だけど主張が強すぎるんだよねw