技術

法線マッピング

2013-02-13 19.34.58

やってみたら予想以上に見栄えが良くなってビビった(;´Д`)
静止画だけじゃなくて動画もお見せしたいんですが、Snapz Pro Xが試用期限切れで…
それ以前にシミュレータの動作が重くて現状の環境だと録画は厳しいです。
実機ではサクサクなんですけどね(ただの法線マッピングなので)。

最初OpenGL ES 2.0 プログラミングガイドを見ながら実装してだいたい上手く行ったんだけど、よく見ると直方体の面によって陰影の付き方に違いがある事に気付いて1日ほど悩みました。
原因は単に接線ベクトル、従法線ベクトルがテクスチャのUV方向に合ってない面があっただけでした。

接線空間の基底ベクトルとテクスチャの向きはどう対応させるべきかって事についてはこのサイトが分かりやすいです。
GLSLでバンプマッピング

あと法線テクスチャはblenderのコンポジットノードを駆使してレンダリングしたものを使ったんですが、それがらみでもちょっと問題がありました。
法線ベクトルの各要素[-1, 1]を[0, 255]にマップするようにしてるにも関わらず、例えば法線(0, 0, 1)がどうやってもRGBで(188, 188, 255)みたいになるという問題です。
この場合正しくは(127, 127, 255)として出力されるべきなんですが、どうやっても結果がずれるという…

色々弄った末、プロパティ > シーン > カラーマネジメント > レンダー をデフォルトからRawに変えると上手くいきました。
結果的には「まぁそうだろうな」って感じですけど、知らないうちはホント分からない。

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です



※画像をクリックして別の画像を表示

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください