古いテレビの3Dペイントの続きです。
引き続き、Substance Painterの作業になります。
Substance Painter 2018を使ってます。
前面のパネル (front_panel)
前面のパネルは3つの材質指定を行います。
格子の後ろにスピーカーがあるためここを黒くします。
また、端子やチャンネルのハンドルがある部分の背景部は少し反射が大きい黒色にします。
それ以外はわずかに黄色がかったプラスチックの材質にします。
これらの材質の塗り分けはマスクを指定してFill Layerすることにしました。
まずは全体を塗ります。
TEXTURE SET LISTウィンドウよりfront_panelを選択。
Fill Layerを追加します。
SHELFのMaterialsで「Plastic Matte Pure」を指定しました。
PropertiesのBase Colorを少し黄色がかった白にします。
Fill Layerを追加し、スピーカー部の黒色をペイントします。
まずはマスクを作成。
レイヤを右クリップしてポップアップメニューで「Add black mask」を選択してマスクを追加します。
Polygon Fillを選択し、UVビューでスピーカーのある部分のポリゴンを選択します。
必ずUVビューで操作してください。
これは、スピーカー部の前にある格子部に影響を与えないようにするためです。
3Dビューでペイントすると、ジオメトリとして距離的に近い部分に対してもペイントされてしまうことになります。
マスクの箇所が分かりにくいため、ビューの右上で「Mask」に切り替えます。
不要な部分にもマスクがかかっているため、Paintを選択して黒で一部消去していきます。
Paintを選択し、Propertiesで「grayscale」を黒(0)にします。
UVビューでShiftキーを押しながら横線をペイントします。
これで、黒で消去する部分のアタリを付けます。3Dビューと比較しながら位置をチェックします。
上画像の赤線の上と下はマスク不要なので黒で塗りつぶします。
以下のようになりました。
ビューをMaskからMaterialに戻します。
レイヤでペイントに切り替えます。
Materialsより「Silicone Coat」を選択しました。
以下のように、格子部の後ろが塗られました。
ズームすると以下のようになっています。
格子部分はそのままのプラスチックになっているのを確認できます。
新しいFill Layerを追加し、同様にマスクを指定してペイントします。
マスクは以下のように指定。
Materialsの「Steel Rust and Wear」でペイント。
ベースとしたFill Layerの「Plastic Matte Pure」の次にSmart materialのDirtを入れて汚します。
レイヤで影響を調整して、汚れを弱くします。
Layerを追加し、Materialsで「Rust Coarse」を選択してパーティクルで汚れを付けました。
これで、前面のパネルの3Dペイントは完了です。
スクリーンの枠 (screen_frame)
スクリーンの周りの枠を3Dペイントします。
この部分は2つの材質を指定しました。
TEXTURE SET LISTウィンドウよりscreen_frameを選択。
Fill Layerを追加して、マスクを指定します。
外枠のみペイントするようにマスク。
SHELFのMaterialsで「Plastic Matte Pure」を指定し、明るい灰色にしました。
また、Roughnessも調整してラフネスが強くなるようにしました。
Fill Layerを追加して、同様にスクリーンの内側の枠をマスクしてペイントします。
暗めの灰色にしました。
端子/ダイヤル/ロゴ部 (plug_dial_logo)
以下のようにUVを分けていました。
それぞれに対してFill Layerを追加し、マスクを指定してペイントしていきます。
ポリゴンごとにマスクするため、さほど手間はかからないかと思います。
手順は同じなので飛ばしていきます。
端子部は、Smart Materialを含めて4レイヤ分を追加しました。
ロゴ部は2レイヤ分を追加しました。
ダイヤル部は4レイヤ分を追加しました。
スクリーン部 (screen_glass)
最後にスクリーン部をペイントしていきます。
この部分は半透明になるため、Shaderを切り替える必要があります。
TEXTURE SET LISTでスクリーンのマテリアルであるscreen_glassを選択します。
「Main shader」と書かれている箇所をクリックしてポップアップメニューを表示し「New shader instance」を選択。
右のメニューから「Shader settings」アイコンを選択します。
「pbr-metal-rough」の部分をクリックして「pbr-metal-rough-with-alpha-blending」に切り替えます。
これは、不透明度(Opacity)を付加できるShaderになります。
Instance nameを「Main shader(Opacity)」と変更しました。
TEXTURE SET LISTでは以下のように表示されます。
この指定により、screen_glassのマテリアルは不透明度を新たに指定できるようになりました。
これだけでは不透明度を持ちません。
TEXTURE SET SETTINGSで「+」を選択してポップアップメニューより「Opacity」を編集できるテクスチャ要素として追加します。
次に、不透明度のペイント指定をレイヤとして行っていきます。
LAYERSウィンドウでFill Layerを追加。
PROPERTIESのMATERIALで「op」というのが選択できるようになりました。
このボタンをクリックすると、op(Opacity : 不透明度)をレイヤで変更できるようになります。
PROPERTIESで下にスクロールしてOpacityの値を変更します。
ここでは分かりやすいように、Base Colorを赤色にしました。
以下のように半透明に調整できるのを確認できます。
Base Colorを元の灰色に戻し、Metallic 1.0、Roughness 0.12としました。Opacityは0.2としています。
以下のようにガラスらしくなりました。
ガラス部の周囲を汚していきます。
普通のLayerを追加し、3Dペイントで周囲を塗ります。
このとき、PROPERTIESでMATERIALのopを有効にし、Metallic 0.0、Roughness 0.3、Opacity 1.0で塗りました。
この段階ではくっきりしています。これに対して、Blurでボカシを入れていきます。
LAYERSウィンドウで先ほど塗ったレイヤを選択し、
「Add effect」より「Add filter」を選択します。
PROPERTIESの「Filter」をクリックし、「Blur」を選択します。
Blur Intensityの値を上げていくとボカシが強くなります。
不透明度を調整します。
LAYERSウィンドウの左上でポップアップメニューより「Opacity」を選択します。
ペイントしたレイヤの影響度を33のように変更しました。
これで汚れの部分が透明に近づきます。
以下のように3Dビューでいい感じになりました。
これでSubstance Painterによるペイントは完了です。
3Dビューを綺麗にする
これはおまけ。
3Dビューに対して、影を付けたりアンチエイリアス/Post Effectを加えてより綺麗にできます。
(これはSubstance Painter内のみの表現アップになります)
影と背景のIBLの調整
右端のメニューより「Display Settings」を選択。
ShadowsチェックボックスをOnにします。
また、Shadows opacityで影の濃度を変更できます。
なお、3DビューでShiftキーを押しながらマウス右ドラッグを行うと、背景のIBLの向き(Environment Rotation)を変更できます。
また、Environment Mapの「panorama」をクリックすると背景のIBLを変更できます。
こんな感じになりました。
アンチエイリアス
「Display Settings」内のActivate Temporal Anti-AliasingチェックボックスをOnにします。
Accunulationsのスライダでアンチエイリアス具合を調整できます。
こんな感じになりました。
Post Effect
「Display Settings」内のActive Post EffectsチェックボックスOnにします。
色合いの調整(Color Correction)、被写界深度(DOF)、Tone Mappingでの露出(Exposure)調整など、
様々な後処理を行います。
こんな感じになりました。
背景IBLなど、いろいろ調整して以下のようにしました。
今回はここまでです。
次回、Substance PainterからテクスチャをglTF形式で出力し、Shade3Dのレンダリングに持って行く予定です。