[テクスチャ][マテリアル]プロシージャルな方法でエッジに汚れを加える

CGの中の世界は完璧にクリーンな世界なので単にマテリアルを当てはめ、レンダリングしただけでは綺麗すぎて所謂「CGくささ」が出てしまう可能性があります。

車やロボットなどに対してはメタリックなマテリアルを使用することになると思います。ピカピカの新車やロールアウトしたばかりのロボットなら汚れはありません。そのままでも良い場合もありますが、あまりにも綺麗すぎてツルっとした印象を与えてしまうこともあります。なるべくフォトリアルな見た目にする為には多少の汚れを加えることが解決方法の1つだと思います。

本来であればBlenderの場合TexturePaintモードで手描きで丁寧に時間をかけて汚れを描いたりPhotoshopなどで描いたりするべきところですが、テクスチャを描くのが面倒くさいので今回はCyclesのノードを応用してプロシージャルな方法でエッジに汚れを加えてみます。この方法はプロシージャルなので後で簡単に素早く調整が出来るのが良い所です。

最近私が制作した仮面ライダーカブトでもこの方法を採用しています。

ちなみにですが、このエッジに対して汚れなどを加えたりすることを英語では「Worn Edges」と呼ぶそうです。「blender worn edges」などで検索するといいかもしれません。


-----

プロシージャルな方法でエッジに汚れを加える


①最初に基本的なマテリアルを作る





・Diffuseが2つあるが、上は基本の色・質感で下はエッジの汚れの色・質感になる



②エッジに汚れを加える




・▼GeometryのPointinessと▼ColorRampを繋げる
・▼ColorRampのColorを▼MixShaderのFacに繋げる
・▼ColorRampの白と黒を接近させるとエッジがハッキリしてくる
・このままだと汚れが均一



③エッジの汚れを複雑にしてみる




・▼Noise TextureのScaleを60.000くらいにしてColorを、▼ColorRampに繋げる
・▼MixRGBを用意して2つの▼ColorRampをミックスする。Multiplyモード
・Multiplyモードの▼MixRGBを▼Mix ShaderのFacに繋げる
・望むような結果が得られない場合は▼Noise Textureと▼ColorRampと▼MixRGBの各パラメータを調整

-----

分かりやすくする為に単なるキューブを例に使用したのでショボく見えますが、作り込んだモデルに使用すればそれなりに見れると個人的には思います。



以下の画像は仮面ライダーカブトの赤い装甲に使用したマテリアルの構成です。1つ目の画像は実際に使用したもの、2つ目の画像は分かりやすくするために余計なのは省いたものです。
金属の上に赤い塗装を施してある、その塗装が剥がれて下の金属が見えている、という想定です。なので▼MixShaderの2つ目のシェーダーは▼Glossy BSDFです。

ちなみに仮面ライダーカブトの設定上、装甲には「ヒヒイロカネ」の呼ばれる未知の金属が使用されているようです。




応用すればエッジだけでなく広範囲に渡って汚れを追加出来るかもしれません。
しかしあんまり汚れを付けすぎてもただ単に汚いだけになる可能性もあります。綺麗すぎてもCGくさくなるし汚すぎてもカッコ悪いので、作るものによって考える必要がありますね。

長年使い込んでる車や装甲騎兵ボトムズのスコープドッグのような場合は汚い方が良いですが、仮面ライダーのようなヒーローが汚な過ぎるとアレなので装甲のエッジに少し汚れを加えるぐらいが個人的には丁度良いと思います。

仮面ライダーでも劇場版「さよなら仮面ライダー電王」に出てきた幽霊モチーフの仮面ライダー幽汽という敵のライダーはかなりハッキリと汚れや傷などのダメージ処理が加えられています。しかし私が見た範囲では主役のライダー達はやはり綺麗な状態です。

-----

以前にCG Cookieでヘルメットを作る動画のトレーラーがありました。私は課金していないので全容は見ていません。今回のプロシージャルな方法でエッジに汚れを加える方法はその数分のトレーラーとレンダー画像から推測し、他の動画も参考にしながら自分なりに考えてみた方法です。ですので今回の方法はCG Cookieと比べるとおそらく不完全です。気になる方はCG Cookieをチェックしてみて下さい。

このCG Mastersさんの動画も参考になるかもしれません。しかしかなり複雑なことを行っているので要領をつかむのは難しいですが。


汚れを加えるにはこちらのBlenderGURUの方も参考になると思います。今回の私が思いついた方法とは違いますが良さ気です。


このCG Geekさんの動画も参考になります。これはTexturePaintモードで手描きで汚れを追加しています。


(完)



エントリー執筆時点の制作環境

Blender2.74
Cycles
左クリック選択
視点操作のみMaya仕様
英語版
Windows7
GeforceGTX660Ti

4 件のコメント :

  1. こんにちは、ブログの方、拝見致しました
    この記事の方法でマテリアルノードを模倣し
    エッジ汚れを再現したのですが
    ②は愚か①の段階で白いエッジすら浮かびませんでした
    (赤+白でピンクのマテリアルが出来た)
    私はライトやカメラ等、新規作成のまま行ったのですが
    じゅん・スカイウォーカーさんは記載事項以外に他に弄った点はあるのでしょうか?
    宜しければお聞かせ願います

    返信削除
    返信
    1. ブログをご覧下さり誠にありがとうございます。
      そして説明不足で混乱させてしまい申し訳ありません。

      ①では確かにピンクのようなマテリアルになります。しかしこの段階で白いエッジが現れるわけではないのです。(白く見えるのはハイライトが反射している為)
      ②で白いエッジが現れることを強調するために①で赤いマテリアルの写真を使用したのですが逆に誤解を招いてしまったかもしれません。

      ②で▼Geometryと▼ColorRampを加えると白いエッジが現れるはずです。重要なのは▼ColorRampの黒と白を真ん中付近で接近させることです。
      それから私も新規作成から行い他の項目は触っていません。

      いかがでしょうか?

      削除
  2. 返信が遅れました。何とか行きました
    自分もメカが主なモデリングなので
    こういったテクが助かります
    ありがとうございました

    返信削除
  3. 拝見しました。
    しかし、カラーランプを数値で弄って接近させてもエッジにでてきません。
    もし可能ならこのプロジェクトファイルを公開していただきたいです。

    返信削除