記事一覧

MODO ヘアライン加工の反射設定とテクスチャ生成スクリプト

ボリュームつまみのノブなど、下画像のようにヘアライン加工された金属で放射状に光が反射するような表現方法と、その時に利用するテクスチャ画像を生成するAdobe Photoshop CC用スクリプトについて説明したいと思います。
Render result



テクスチャ作成スクリプトの使い方


テクスチャを作成するAdobe Photoshop CC用スクリプトは、GUMROADのサイトで無料公開しています。(価格に0と入力し「これが欲しいです!」ボタンをクリックすれば入手可能です)
また、GUMROADのサイトで公開しているファイルには生成したテクスチャファイルもいくつか含めているので、Photoshopを持っていない人は、この画像ファイルをご利用ください。
また、画像作成スクリプトとMODOのサンプルシーン(上の画像のシーン)も、このBlogページの添付としてダウンロードできるようにしておきました。


ダウンロードしたzipファイルを展開すると、「GenAnisotropyImage.jsx」というファイルが含まれています。これが、テクスチャ画像を作成するPhotoshop CC用スクリプトファイルになります。
スクリプトファイルをPhotoshopの画面に直接ドラッグ&ドロップするか、もしくは、Photoshopのファイル> スクリプト> 参照... からスクリプトファイルを指定します。
Run photoshop script


そうすると、以下のようなダイアログが表示され、ここから画像生成が行えます。
Image type で生成する画像の種類、Canvas size で画像サイズを指定できます。その下のパラメーターは、生成する画像の種類によって設定する内容になるため、追って説明します。

Image type に「Anisotropy direction map」を選択すると、放射状に光を反射させるためのカラーマップを作成できます。これは、Normalマップに似ていて、色の違いによって光が反射する方向を設定するようになっています。
Anisotropy direction map


カラーマップは以下のようなイメージになります。
放射状の光の反射を表現するには、このカラーマップが重要になります。
Anisotropy direction map


続いて「Anisotropy bump map (Noise)」です。
これ以降の画像生成はバンプマップ生成用なので、必ずしも使う必要はありません。しかし、金属を荒く削ったような傷を表現したい場合は、バンプマップが適しています。

このモードではPhotoshopの「ノイズの追加」による画像生成を行っているので、目の細かいバンプマップの生成に向いています。
Spin blur amount は「ぼかしギャラリーのスピンぼかしの適用量」で、0~360度までの値を設定できます。(値のチェックはしていないので、それ以上の値を設定しても動いたりしますが…)
Post spin blur は「ぼかし(放射状)」の適用有無と強さを指定します。

※Spin blur amount があるのに、なぜまた「ぼかし(放射状)」を適用するのか…と思うかもしれませんが、最初のSpin blurだけでは画像が粗くなったりすることがあるため、それを滑らかにする目的もかねてPost spin blurを用意しています。(チェックを外せば、最後のSpin blurは適用されなくなります)
Anisotropy bump map - Noise


Anisotropy bump map で生成した画像です。
なお、ランダムなノイズパターンで画像を生成しているため、作成するたびに内容の異なったパターンが生成されます。何度か実行して、気に入った画像を使うと良いと思います。
Anisotropy bump map - Noise


上のNoiseのパターンと似ていますが、「Anisotropy bump map (Film Grain)」はノイズフィルタの代わりに、Camera Raw の Film Grain(高感度のフィルムカメラで撮影したときの粒子ノイズ)を利用します。
Noiseの場合と同じような画像が生成されますが、少し滑らかなバンプ画像になるのが特徴です。シャープな線が好みならNoise、滑らかな線にしたいならFilm Grainを選ぶと良いでしょう。
それ以外のパラメーターは、Noiseの場合と同じです。
Anisotropy bump map - Grain


Film Grain で生成した画像です。Noise版と比べると、やや線が滑らかになります。
Anisotropy bump map - Grain


最後は「Anisotropy bump map (Circle)」です。
Border width で指定した幅で円を規則的に描画したテクスチャを生成します。
規則正しく掘られた溝などを表現したいときに使用します。

Draw circle to image corner にチェックを入れると、画面の右上端まで円を描画します。大抵の場合は、円上のオブジェクトに対してマップを指定すると思うので、通常であればチェックする必要は無いと思います。
Anisotropy bump map - Circle


下がCircleパターンで生成した画像です。
Anisotropy bump map - Circle


なお、数値を入力するテキストボックスには、簡単な計算式を入力することも可能です。
例えば「4096/2」と入力すると、4096÷2の結果である「2048」が設定されます。
Expression



MODOで放射状の光を表現する方法


画像ファイルが用意出来たところで、実際にMODOで設定する方法を紹介します。
Photoshopを持っていなくてスクリプトが利用できない場合は、GUMROADのサイトから生成済みの画像ファイルをダウンロードしてご利用ください。
また、完成版のMODO シーンファイルを、ここからダウンロードできます。

今回は、金属のノブを表現するために、円柱を作成します。
バンプマップ「有り」と「無し」の違いを紹介するため、2つの円柱を作成しています。
Create object


左の円柱には「KnobFlat」というマテリアルを設定しました。
※左の円柱を選択> mキーを押してマテリアル設定
Set material


同様の手順で、右側の円柱には「KnobBump」というマテリアルを設定します。
Set material 2


続いて、金属っぽく、かつ光の反射を綺麗に表現するために、ベースとなるマテリアルの設定を行います。KnobBump、KnobFlatの中にある、「Material~」を選択し、Material Refのパラメーターを以下のように設定します。(全く同じ値にする必要はありません)
  • Diffuse Amount を 4%程度
  • Specular Amount を 90%程度
  • Roughness を 15%程度(放射状の光の筋を出すには15%前後が適しているようです)
  • Anisotropy を 100%に設定(これが光の筋を出す上で重要な設定パラメーターになります)
Set base material


次に、生成したAnisotropyのカラーマップを追加します。追加方法は色々ありますが、画像ファイルをMODOのShadingツリーに直接ドラッグ&ドロップして追加する方法が簡単です。
追加した直後は「EffectがDiffuse Color」になっていますが、このままの状態でTexture Locatorからパラメーターを設定していきます。(Diffuse Colorのまま操作を行うと、プレビューで簡単に確認ができるのでおすすめです)

Projection Type や Projection Axis はモデルの種類によっても違ってくるのですが、今回は簡単な円柱という事もあり、PlanarでY軸方向への適用としました。
Auto Size ボタンを押してテクスチャサイズをフィットさせます。
※テクスチャの端部分に反対側の色が出る場合がありますが、その場合はサイズを少し大きめに設定するか、Repeatの設定などで回避可能です。
Anisotropy direction map


以下のような感じでカラーマップを適用します。
※EffectをDiffuse Colorにしているので、カラーマップの色がそのまま確認できます。
Anisotropy direction map preview


カラーマップは「Anisotropy Direction」として設定したいので、カラーマップのEffectを、Diffuse Colorから、Anisotropy Directionに変更します。(Special Effects> Anisotropy Direction)
Change effect


次に、KnobBumpに対してバンプマップの画像を追加します。
カラーマップを追加したときと同様の手順で、生成したバンプマップ画像を追加し、Projection Typeやサイズなどを設定します。
Anisotropy bump map


バンプマップは右側の円柱にだけ適用しています。
Anisotropy bump map preview


バンプマップ画像も最初はEffectがDiffuse Colorになっているので、EffectをBumpに変更します。
Change effect


バンプマップの適用量(どのくらいの凹凸にするか)は、「Material~」のMaterial Refにある、「Bump Amplitude」で設定します。初期値は5mmに設定されているので、作成しているオブジェクトのサイズに合わせて、レンダリングのプレビューなどを見ながら値を調整します。
今回は金属を削った傷を表現したいので、0.5mm(500um)にしています。
Adjust bump amp


これでレンダリングすると、Anisotropy Directionマップに合わせて光が反射するようになります。
なお、光の当たり方によっては反射光が入らないこともあるので、照明を当てる方向やカメラの角度を調整しながら、良い具合になるように設定してください。
Render result



関連記事

スポンサーリンク

  

コメント

コメントの投稿

非公開コメント

最新コメント

スポンサーリンク