TrLab.TrLab.ブログ移転しました。http://trtools.jp移転先は主にMax関係を扱うブログになります。16:43随分久しぶりの更新になりますが、実は生きてました。今回はMayaでハードエッジ部分をレンダリング(ベイク)するシェーダについて紹介します。この方法を使うとハードエッジのエッジ角に応じて、線に強弱を付けてレンダリングする事ができます。ハードエッジシェーダーサンプルこのシェーダーの最大の利点は、テクスチャ作成時に初期素材としてベイク出来る点です。テクスチャ製作で、エッジハイライト部分を手描きで一本ずつ描いている所をたまに見かけますが、この方法を使えばその作業をスキップ出来るので時間を大幅に短縮できます。オマケに手描きで描くよりシャープできれいな線が作れるので一石二鳥。機械系モデルでは結構使えると思います。このシェーダーにはMentalray専用ノードが含まれているため、Mentalray以外ではレンダリングできません。2013)(右クリックで保存)作成方法シーンファイルがあるので要らないとは思いますが、一応作り方を説明しておきます。▼シェーディングネットワーク上記のネットワークに必要なノードを全て作成する。接続レイヤードテクスチャのアトリビュートで、接続したroundcornersのブレンドモードを「差の絶対値」に。コネクションエディタではうまく接続出来ないので以下の様なスクリプトを使うと楽。plusMinusAverage1.input1D[2];plusMinusAverageの操作を「合計」または「平均」に。..Bへそれぞれ接続。基本的な仕組みとしては、mia_roundcornersでハードエッジ部分のバンプ法線を出力。法線にはマイナス値が含まれるので、layerdTextureの差の絶対値で全てプラスへ補正。plusMinusAverageでRGB各値の平均値を取り、グレースケール化する。因みにグレースケール化でplusMinusAverageを使うのは、luminanceではRGB各値に重み付けが行われる為、完全な平均値のグレーにはならない為です。ここで「操作」を「合計」にするとより濃いエッジが、「平均」にすると薄いエッジが出力されます。roundcornersのRadiusパラメータでも線の太さをコントロールできます。Radiusを上げれば太い線が、下げれば細い線が出力されます。このへんは要調整です。comment!リンク切れ直しておきました。一度ダウンロードしてみてください。