[3DCoat] 乗合馬車(Omnibus)のペイント その2

乗合馬車(Omnibus)の馬車のモデリングについて、いくつか順番に追いかけていきます。
3DCoat 2021.49で確認しました。

前回はペイント処理に入りました。
まだ説明しきれていない箇所がありますので、以下について追記します。

  • 木材+ペイントの表現
  • 直線の描画
  • テキストの描画
  • ペイントの削除

本体の木材部のペイント

本体部分は木材とし、その上にペイントされているような表現にしました。
前回は指定の形状だけ表示しレイヤに対してFillしていました。
今回は全てのMeshを表示した状態で、対象マテリアルに対してFillを行います。

木材のマテリアルは、Smart Materialにいくつか種類がありますのでこれを使用しました。

新しいレイヤを作成

Layersパネルで新しくレイヤを追加し「body_wood」と名前変更しました。

このレイヤにペイントの結果を格納するため、選択しておきます。

FillでSmart Materialを使用

Fillを選択します。

「Smart Materials」パネルの「Wood」を選択し、「wood_painted_old」が塗装が落ちた木材の雰囲気なので選択しました。

プレビューでは本体だけでなく、すべてのMeshに木材のテクスチャが割り当てられています。

確定時には「指定のマテリアルに対して」ペイントを行うため、そのまま進めます。
少しペイントが落ちすぎのため、Smart Materialのパラメータを調整します。

「Smart Materials」パネルの対象のSmart Materialの選択をダブルクリックすると、パラメータが表示されます。
paintの色を変更すると、塗装の色を変更できます。

wood_edgesのDegreeの値で、塗装の落ち具合を調整します。
5.0から1.0としました。
また、Opacityを100から70としました。Opacityを下げることで塗装の落ち具合を薄くします。

dirtを100から50としました。少し汚れ(dirt)を薄くしています。

これで確定としましょう。
「Save」ボタンを押すと上書きされてしまうため、Nameで「wood_painted_old2」と名前変更して「Save as New」ボタンを押します。

Smart Materialsパネルには「wood_painted_old2」が追加されました。

これでペイントすることにします。

Tool Optionsパネルで「Material」ボタンを押します。
これにより、対象のマテリアルに対してFillが確定されます。
Fill Surface Materialウィンドウが表示されるので「Surface Material Name」で対象のマテリアル(ここではbody)を選択します。

Material/stencil control panelウィンドウ右の「×」ボタンを押して、Smart Materialを終了。

Brushなどの別のコマンドを選択してFillモードから抜けると、以下のようになりました。

Layersパネルで選択されたレイヤに対して、指定したマテリアルに木材+ペイントのテクスチャを割り当てることができました。
これだけでは物足りないですので新しいレイヤを追加して、同じようにSmart Materialでdirt/rustを加えました。

本体に装飾を加える

本体部に装飾を描いていきます。
Depthのみを反映させて凸凹を付けます。
Brushでの描画を使うことにしました。

「body_depth」というレイヤを新規追加、Depth Opacity以外を0にします。

こうすることで、このレイヤはDepthでの凸凹表現以外は描画されなくなります。

テンキーの[2]を押して正面図に、[5]キーを押して平行投影にします。

Brushを選択し、ツールバーの「Depth」で100を入力してビューの対象Meshの表面をドラッグすることで、Depthのみの凸凹描画を確認できました。

通常のドラッグでは凸、[Ctrl]を押しながらドラッグすると凹となります。
なお、マウス右ドラッグでBrushのペンサイズを変更します(ツールバーの「Radius」の変更)。

Symmetryを有効にする

ペイント処理でSymmetryを有効にすることで、軸の反対側にも描画を同時に反映させることができます。
この乗合馬車はZ軸で対称になっている形状です。
メインメニューの「Symmetry」-「Symmetry」を選択。

Symmetryパネルで「Enable Symmetry」「Show Symmetry Plane」チェックボックスをOn。
「Z-Axis」チェックボックスをOnにしました。

片側にペイントすると、反対側にも反映されているのを確認できます。

直線を描く

テンキーの[2]と[5]キーを押して正面図の平行投影にします。

LayersパネルでDepthのみ反映する「body_depth」を選択しておきます。
「Brush」を選択した状態で、Stroke Modeを確認します。
デフォルトでは一番左端のものが選択されています。

これはドラッグすると軌跡で描くモードになります(普通のペンによる描画)。

Stroke ModeでLineを選択した場合。

この場合は、クリックした箇所で直線をつないでいけます。

Stroke ModeでSplineを選択した場合。

モデリングのときのように、ペイント用のMeshの表面にスナップする形でCurveを配置していくことができます。
[Enter]キーを押すと確定され、Curveに沿ってツールバー上で指定したペンの半径やDepth/Roughnessなどで直線または曲線を描くことができます。
Curveは、Curves treeパネルに一覧されます。

Curves treeパネル内は、モデリングルームの作業時と同様、不要になったときに削除して整理したほうがよさそうです。
Curves treeパネルで選択されたCurveがペイント対象になるようでした(選択されていないCurveはペイントに参加しない模様)。

注意点として、このCurveを使ったBrush処理は、表示されているMesh全体の表面にスナップします。
例えば、Frontのビュー+平行投影で以下のようにCurveのポイントを配置しました。
これを別の角度から見ると、車輪にもスナップしてしまっています。

これを回避するには、メインメニューの「Curves」-「Snap to surface」のチェックボックスをOffにします。

「Snap to surface」がOffの場合。
これでCurveを配置すると、Curveを新規に配置するときのはじめのポイントの表面に沿った平面上にCurveを配置することになるようです。
Curve配置後、カメラの向きを変えてみました。

「Snap to surface」がOnの場合。
表示されているすべてのMeshの表面にスナップしてCurveのポイントが配置されます。

この場合は、表面に沿っています。

この「Snap to surface」On/OffでのCurveは、
新しくCurveを配置するときにスナップ属性が追加されるような動きをしていました。
CurveのポイントをUNDOですべて削除してから「Snap to surface」On/Offを切り替えても、これは反映されないようでした(新規Curveではないから?)。

Curveを閉じた場合。
閉じた範囲で塗られるようです。
以下は「Snap to surface」をOffにしています。

ただし、ペイントしてほしくないMeshにも影響が届いてしまっているため、
基本的には「Snap to surface」On/Offにかかわらず、ペイントしたいMeshだけ表示してそれ以外は非表示としたほうがいいかもしれません。

BrushのSpline(Curve)は不安定 ?

3DCoat 2021.49で、このCurveを使ったペイントはうまく直線にならないときもありました。

ペイントしてほしくないMeshにも影響が届いてしまうことなども含めて、現状はペイント時のBrushでのSplineは不安定な箇所もある感じがします。

とりあえず、以上で直線もペイントできるようになりました。
直線描画の機能を使用して、本体部に窓枠に沿った凸の直線、下部の出っ張りをDepthのペイントで与えました。

逆向きに回転させて、Symmetryで対称にペイントが反映されていることも確認しておきます。

テキストの描画

テキストを使用時は、SymmetryはOffにしておきます(対称側は描画が逆転するのと、うまく乗らないことがあるため)。
また、Layersパネルで新しいレイヤとして「body_text」名のものを追加しました。

「Text」を使用することで指定のフォントでテキストを描画できます。

Option Toolsパネルの「Select Font」でフォントを指定します。
日本語フォントも指定OKです。
「Enter Text Here」のテキストフィールドに描画したいテキストを入力します。
ここでは"OMNIBUS"としました。
ビューで右ドラッグでテキストのサイズを指定します。
円のサイズで1行の高さが入る感じです。
クリックした位置から開始、もう一回クリックした位置までで終了。
この範囲でテキストを描画します。

[Enter]キーを押すか、Tool Optionsの「Apply」ボタンを押すと確定されます。

ツールバーのDepth/Roughness/Metallicの値でテキストが反映されます。
レイヤのOpacityを調整して少し色を薄めました。

逆向きも同じようにテキストを描画しました。
新しくテキストを配置する場合は
Textモードで[ESC]キーを押して、いったん配置情報を消してから作業します。

試しに日本語フォントの行書体を指定して、"乗合馬車"と指定しました。

以上で、ここまでのMeshをすべて表示すると以下のようになりました。

後の未処理のMeshのペイントについては、今までの処理と同じです。
特に新しいことはしていません。

Layersパネルでのペイントの削除処理

Layersパネルで選択レイヤ自身を削除する場合は、一番右のゴミ箱アイコン。
右から2つ目は未使用レイヤの削除。

選択レイヤの内容を消去する機能はどこかにないか探したのですが、見つかりませんでした。

今回はここまでです。
細かいペイントの機能を使用しました。
残りのペイントは同じ手順ですので、次回はそのあたりとエクスポートについて書いていく予定です。