水ノ茉の宣伝
準備中...
ゲームを作る予定なの水ノ茉
シリーズ説明
本シリーズで最終的に検証したい内容は、DMXで制御されたバカみたいな量のライト、それらすべてをキャラクターに当てても破綻しないレンダリングパイプラインの構築です。
実装の手段は選ばないため、普段展開している【UE5】◯◯◯ – Unreal Engine ◯.◯と比べると多少敷居が高く、また、実装の再現性を提供しないこともあるため、いつも以上に趣味嗜好が全開となります。
始まり
陰影の次はライトカラーなのですが、思った以上に実装も筆も乗らなかったのです。
ライトカラーの反映
調子に乗ってポイントライトを大量配置すると一瞬で白飛びします。各ライトの光量を控えめに調整することで白飛びを抑制しつつ、色味を反映させられますが、配置予定のライトの数量が3桁な本環境ではあまりにも無謀です。少なくとも調整をするのは筆者さんです。こんな前時代的な手動調整は絶対にお断りなのです。
キャラに当たっている光量の最大値を元に正規化をすると、白飛びは抑制できますが、ライトが重なっている感じが失われます。

多光源感の消失以外にも、陰影と同様にライトと対象物の位置関係が更新されるたびに最大値が大きく変動するため、パカ付きが発生します。
陰影ではテンポラルな処理を加えることで過剰な遷移を抑制できましたが、ライトカラーはその設計が上手く作用しません。というのも値の範囲が 0 .. 1 から大きく逸脱しているので、仮に線形補間したところで遷移の幅が大きすぎて解消しないのです。フレームごとに許容する遷移の幅を狭めればパカ付きは解消しますが、次に当たるであろうライトカラーの反映がとんでもなく遅くなり、結果的に別の理由で多光源感が失われるので、これもダメです。
カプセルとコーンの内外を元にキャラに当たるライトの最大光量をCPU計算とかも考えましたが、テンポラルな計算式をちょっと変えるのが現状はコスパ良い感じでした。完全な綺麗な遷移は難しいですが、暫くはこれで様子見をします。正直なところDMXな運用をするライトってバカみたいな光量が初期値としてセットされていて、ライトファンクションで光量制御をするような感じなので、ゲームやカットシーンのライトの調整方法とはスタンダードが違うんですよね。故にやってみないと分からない部分が多いので、悩む方向性を間違えるとシンプルに無駄になります。よって様子見という判断なのです。悩むことも醍醐味で楽しいですが、適度なタイミングで切り上げないと悩み損なのです。
NPRじゃなくてPBRな雰囲気だけどなんかいい感じののが出来た。ルックの方針的に採用できないけど、PBRっぽい雰囲気を目標とする場合なら割といい品質な気がする。副産物です。
………ん?
これもう少し光量を上げてリムを付与したらWhirlpoolのCG絵に近づくんじゃね?と思ったけど、ねんどろいどの域からは出ないかな。うーむ。これは別途保存です。ワンチャンNPRとPBRの調和分野で活用できそうなのです。

クロスシミュに浮気をして数日が経過しました。
日が空いた結果、ライトの設計方針を忘れました。割とよくあることです。
忘れちゃったものは仕方がないので再考してこんな感じです。

瞳や眉など、一部パーツはライトの色味を反映しないようにしました。
NoLやShadowの結果に従うと明るくなることが自然ではありますが、計算上の正しさに従って明暗の温度差を消し過ぎると、セルルックっぽさが消えてしまうので、こういう逸脱も場合によっては必要なのです。
ライトカラーに陰影を反映する方法は悩み中です。陰影を考慮しないと光が当たるはずのない背面にまで色が乗っかってしまうのですが、集積を行っているPrePassの時点では正規化された陰影は計算途中で使用できません。愚直にPrePassをもうひとつ増やせば求める結果を得られるのですが、この後に予定しているマルチパスが負荷的に足枷となるので、これ以上のGPUリソースの肥大化は避けたいです。
そうなるとディフューズかトゥーンなやり方になるのですが、前者は階調が滑らか過ぎてセルルック感が薄れる恐れがあります。後者はライトごとに階調を作ることになるため、任意の階調数が維持できなくなります。
悩ましいですが一旦はディフューズな反映方法で進行します。マルチパスと最適化の結果次第ではPrePrePassとかいう暴力を振るうかもしれません。いくつかの問題点や心残りはありますが、多光源でライトの重なりを認識できるような見た目に出来ました。
スペキュラ
SpecularGGXを2値化したシンプルな計算です。

リム
NoVをOneMinusしてPowして2値化したシンプルな計算です。

おわり!!!
半透明を設計として組み込んでいない現状では、思った以上に不確定要素が多くて作業が進みませんでした。
途中でGPUクロスに浮気したことも相まって普通に飽きちゃいました。
半透明が終わったら明明編として再編を予定しています。普通に消化不良なのです。
消化不良ではありましたが、基盤である明暗、陰影をしっかり作っていた甲斐もあり、適当にスペキュラとリムを乗せただけでも、それっぽい見た目にはなりました。

セルルック関連
アニメイト特典諦め
クレカの登録しても選択肢が増えないから確認したらこれよ。

筆者さんは現金を持たないタイプなので諦めました。
特典は欲しいけど、現金を引き出す面倒度合いと天秤に掛けると、若干現金が勝ちます。
垢登録したけど速攻で削除です。ばいばい。
理由がしょうもなさ過ぎて次点であるげっちゅ屋に乗り換える気も湧かない。
まぁ、金髪の子を逃しますが、許容しますか。出費もエグいし。
出費の問題は無視できるんだけど、ヤバいのはグッズの置き場なんよね。
場所がもうない。
お引越しするしかない。
めんどっ。

緑と朱色の子が気になります。
フィーリングで決める派なので、細かいプロフィールはまだ読んでいないのです。
発売日が夏休みのギリ射程圏内なので、のんびり攻略を目指します。
クロス
GPUでPositionBufferを書き換えるテスト。いい感じですね。
間に合えばCoffeeLiveで実験したいんですよね。本運用はGrimからの予定ですが、アニメーションでバタバタ動くであろうこの環境はテストケースに持って来いなのです。
GPUで拘束したら暴れ狂った。








