スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

水面シェーダー

ちょっと前からやりたかった水面シェーダーを作成。
121006b_BG.jpg121006a_BG.jpg
121006d_BG.jpg121006c_BG.jpg
といっても計算はかなり適当。リアリティよりも「らしさ」と作業コストを重視したインチキアルゴリズムで実装。
とはいえそれなりにポイントは抑えてるつもり。
・フレネル効果で水面と視線が平行になるほど反射率をアップ。真上から見ると透明に。
・テクスチャのUVスクロールを数パターン重ねて不規則な波のアニメーションを作成。
・波の高さで反射角度を変えてハイライトをゆがませる。
・波打ち際を頂点カラーで指定して地面や壁との接合面が自然になるようにハイライトを入れつつブレンド
・一工夫として反射とは別にアニメ的なハイライトのラインを合成。

普通はキューブマップとかを使ってもっとしっかりやるんだけど、キューブマップテクスチャの作成が
地味に作業コスト高そうなのと、使い方がよくわからないので、半球スフィアマップで代用。(要するにめんどくさい)
なので本当はかなり反射の見え方がおかしいんだけど、べつに写実性を目指しているわけじゃないのでOKとする。
らしけりゃいいのよ、らしけりゃ。


しかしSoftimageのRTシェーダーエディターはマジで神ツール。
リアルタイム表示しながらコードいじって即反映させられるし、
素材側も平行して調整を加えたりできるしでものすごく効率的にルックをつめられる。
この環境がなかったら間違いなくシェーダーなんて一生いじらなかったと思うわ。

あとはここで作ったシェーダーをUNITY上に効率的に移植できるかどうかだな...。
一応CGFXを使うらしいのでそこは共通なんだけど、UNITY独自の決まりごとが多いっぽい。
この連休にちょっと時間つかってしっかり勉強してみよう。
スポンサーサイト

trackback


この記事にトラックバックする(FC2ブログユーザー)

まとめ【水面シェーダー】

ちょっと前からやりたかった水面シェーダーを作成。といっても計算はかなり適当。リアリティよりも「らし

コメントの投稿

非公開コメント

プロフィール

JNY

Author:JNY
某ゲーム会社勤務
趣味と修行をかねて個人製作中
Softimage & Cgfx & Unity

最新記事
最新コメント
月別アーカイブ
カテゴリ
カウンター
twitter

Twitter Updates

    follow me on Twitter
    リンク
    上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。