週末番外編 Curvature(曲率)マップに似た?機能を内部的に使っている3D-COATのお話

どうも!Maya太郎です。

最近Curvature(曲率)シェーダーの紹介を連続企画でやっていますが
今回は他のソフトの例を紹介します。

3D-COATというソフトで
スカルプトとリトポ、そしてテクスチャペイントと
Mayaの補助ソフトとしてかなり役立つツールの一つです。

前記事ではArnoldのCurvature(曲率)シェーダーで「さび」などの表現をしましたが、
3D-COATでも、さびや塗装はがれなどの表現が簡単にペイントできるようになっています。

これらの「汚し系」ペイント機能で面白いのが
ペイントマテリアルの一部には
エッジやくぼみ部分にしか塗れない種類があるのです。
これを初めて体験した日はずいぶん驚きました。


エッジなど部分的にしか塗れない機能

たとえば
スクラッチ系(エッジのこすれ表現)のマテリアルはエッジしか塗れません。
なのでペイントしてるだけで自動的に角がこすれたような表現になるのです。

テクニックが無くても、自動的にこんな感じでペイントできます。

錆や汚れ系のマップは窪んだ所に作用します。
出っ張ったところや、平面にはどう頑張ってもペイントできません。(設定を変えない限り)

これも自動で塗れてしまいます。

これらのペイント機能はわざわざペイントしなくても
「バケツツール」で一瞬でオブジェクト全体に塗る(適用する)こともできます。

レイヤーの重ね塗りも出来ますので
錆や汚れの上に金属はがれなどを幾層にも重ねたり
ブレンド調整も自在です。
ペイントテクニックが無くても操作方法だけ知れば
誰でもこの質感が表現できるわけです。

 

当然ペイントの前にはきちんとUV展開をする必要があります。
3D-COATはUV展開機能にも定評があります。
シーム(UVの縫い目)の調整が扱いやすく、リアルタイムに反映されるので
軽快な作業が可能です。

 


なぜ3D-COATの話を??

実はCurvature(曲率)シェーダーを知った時に、
ふと心当たりの機能が頭をよぎりました。
それがこれから紹介する3D-COATの機能であり、

↑ の画像のペイント機能のもとになっている(であろう)技術なのです。

 

3D-COATはペイント作業時に、自動的にアンビエントオクルージョンの計算をします。
そしてペイントレイヤーの上段にアンビエントオクルージョン用のレイヤーを自動作成します。
(オンにもオフにもできる)
ちなみにレイヤーの概念はフォトショップと同じで使いやすいです。

ここが本題。
特殊なマテリアルを選択したときに
3D-COATは自動的にCurvature(曲率)マップを生成するのです。
このマップは生成されても、レイヤー自体は非表示になっています。

このCurvature(曲率)マップはペイントに使うのではなく
さきほどの「エッジのみ塗る」「窪みのみ塗る」様なマテリアルを使う際に
内部処理につかうマスク用のデータだろうと思われます。
リアルタイムにエッジ検出をしてペイントしているのではなく
事前に計算されたCurvature(曲率)マップの濃淡をマスクにして
ペイント処理を行っている、ということです。(推測ですが)

このようなマップをあらかじめ生成しておくような感じです。


この機能を知った時は、ずいぶん感心したものです。

レンダリングする度に、シェーダーでエッジ検出をするArnoldのCurvature(曲率)シェーダーと
事前に演算結果をテクスチャーで保持して、
リアルタイムでペイントに反映させる3D-COATのCurvature(曲率)マップ

どちらが優れているのか、あるいはどちらを使えばいいのかは
前記事Arnold Curvature(曲率)シェーダーの長所・短所
で書いてますので、みなさんのお好みに合わせて使い分けるといいでしょう。

ちなみに3D-COATではレイヤーを重ねるようにペイントできるので
Photoshopでそのレイヤー情報を保持した状態で読み込むことも可能です。
その際にはなぜか「Curvature(曲率)マップ」「アンビエントオクルージョン」レイヤーも
含まれているので、Photoshop上でのさらなるアレンジ・合成も可能です。


まとめ

このご時世
おそらく他のソフトでもCurvature(曲率)マップに似た機能は実装されているとおもいます。
最近では当たり前ですが、5年ぐらい前には見かけなかった?ような機能なので
便利な時代になったもんだと(爺モード)
ちょっと幸せ気分を味わっています。

3D-COATなどの様なソフトが無くても
気合があれば
これに近い表現はPhotoshopでも可能です。
(記事にするかも)

では!