メモ帳⓶ - TejimaTuyoshi/returnread GitHub Wiki
カメラで映す際、
2Dのイラストやマテリアルを3Dで表示すると、
影の不具合や光の入り方の変化が異なるため、実際問題は山盛りである。
そのため、イラストの影やぼやけ具合を調整するのは「シェーダー」である。
とはいえ「言語が違う」ことがデメリットとして大きすぎる。
グラフもあるが「バグが多い」ので、妥協を取るか繊細を取るかはあなた次第である。
ちなみにシェーダーを書くときの言語はHLSLである。(DirectXで使用されていたレンダリングパイプラインを直接的に変更するものである。)
例えば、「float4というベクトル型があり、xyzwだけじゃなく、rgbaでも入力可能らしい。ただし、newは使用不可なので注意。」
という形でそもそも型が異なったり、書き方も従来と違うため勉強するなら他の事は捨てる覚悟でやるぐらいの勢いでないと難しい。
C#とは全く違うのでバイリンガルになるのとほぼ同義だろう。(大げさ)
シェーダーを学びたい場合はまずこれ
Bake(焼きこみ)=>光と影の情報をあらかじめ作成しておいて、シーンの特定のマテリアルに載せるSHADOWMAPというマテリアル。
焼きこみは重い。=>一回一回は作成してられない。
リアルタイムで動かす方法はあるにはある。
Bakeに必要なワークフロー
1:オブジェクト(影を生成する3Dモデル)は「static」でなければならない。(でないと反映されない。)
2:GPUでBakeするのが圧倒的に早いが、3GBまでしかメモリを使用できないためCPUで行うこと。
3:Lightの設定もBakeにしないと反応なしになる。(Unityの筐体依存で、動的な光の数の制限がされることに注意。)
probeがあることでメタリックの反射を行うことが可能に。
また、probeのライティングが可能。
グローバルエフェクトによって色の強調や光の調整などが可能に。