頂点ペイント方法

頂点ペイントとは?


頂点ペイントを利用することでプロキシメッシュの頂点に属性を付与することが可能です。
通常はこの機能を使い頂点に対して固定属性と移動属性、そして無効属性を割り振ります。
バックストップの有効設定など特殊な属性設定の場合にも利用されます。

頂点ペイントは基本設定にある緑のペンマークと[Movement Limit]パネルにある青のペイントマークから起動できます。

移動属性ペイント

このペイントでは頂点に対して移動、固定、無効の属性を割り振ります。

移動制限ペイント

このペイントでは頂点に対して移動制限の有無を割り振ります。

基本操作


基本的な操作パネルは次のようになります。

Point Size ペイント用の頂点球の大きさを変更します。
この球の大きさはシミュレーションには関係しません。
Brush Size

ペイントブラシのサイズ。

Shape ONにするとプロキシメッシュの構造がラインで表示されます。
Culling ONにするとプロキシメッシュの頂点法線がシーンカメラの方向と逆の場合にポイントが表示されなくなります。
レンダーメッシュではなくプロキシメッシュの法線である点に注意してください。
Z Test ONにすると頂点球が表示メッシュと深度テストされるようになります。
Through ONにすると奥行きを無視してカーソル内のポイントを塗りつぶすことができます。
ブラシサイズも専用のものに変化します。
Paint Attribute ペイントする属性を決定します。
この内容はペイント種類により異なります。
Fill すべてのポイントを設定属性で塗りつぶします。
Exit 頂点ペイントを終了します。
現在の内容がコンポーネントに反映されます。
ペイントする

マウスカーソルをプロキシメッシュに移動すると青いサークルと塗りつぶされる頂点が黄色で表示されます。

そのままマウスをクリックもしくはドラッグすることでペイントできます。

キャンセル方法

頂点ペイントには明確なキャンセルボタンはありません。
そのため頂点ペイントの内容をキャンセルしたい場合は標準のアンドゥ機能を利用してください。
これはメニューのEdit/Undo..、またはCtrl+Zです。

移動属性のペイント


もっとも利用頻度が高いのがこの頂点への移動属性のペイントです。
頂点に対して移動属性、固定属性、無効属性をペイントします。

Move 自由に移動する頂点です。
Fixed 固定される頂点です。
移動頂点を繋ぎ止めるために必要です。
Invalid 無効な頂点です。
無効頂点はシミュレーションから完全に除外されます。
これはワンピースにように上部がシミュレーションに関係無い場合に設定することでパフォーマンスを向上させることができます。
固定属性の重要性

固定属性は隣接する移動頂点を繋ぎ止める働きを行います。
そのため固定属性の設定は必須です。
次のような固定属性が無い設定は移動頂点を繋ぎ止める方法が無いため不可です。

このような設定では移動頂点はその場に留まるか落下してしまいます。
必ず次のように固定頂点で繋ぎ止めるようにしてください。

移動制限のペイント


バックストップなどの移動制限機能では独自にその有無を頂点に設定できます。
例えば次のようにペイントすることで灰色の頂点は移動制限の機能を無効化できます。

テクスチャによる頂点ペイント


MeshClothではテクスチャにより頂点属性を設定できます。
BoneClothでは行えません。
これは次のようにPaintModeを[Texture ~]に変更することで利用できます。

Texture Fixed(RD) Move(GR) Ignore(BK) Redを固定属性、Greenを移動属性に割り当てるモードです。
移動制限は指定できません。
Texture Fixed(RD) Move(GR) Limit(BL) Ignore(BK) 上に対してBlueに移動制限を追加したモードです。

例えば次のようなキャラクタとテクスチャがあるとします。

このキャラクタのスカート部分の頂点属性を設定したテクスチャを用意します。

このテクスチャを設定することで頂点属性の付与が完了します。

テクスチャフォーマット

このテクスチャによる属性指定にはフォーマットに関して幾つか制限がありますので注意してください。

  1. テクスチャインポーターのRead/WriteチェックをONにする必要があります。
  2. 極力小さなテクスチャを用意してください。
    できれば64×64以下、大きくても128×128までです。
    これはテクスチャの読み出しに多くのCPUコストが必要なためです。
  3. 圧縮テクスチャでも利用できます。
  4. サイズが256以上でミップマップが設定されている場合は、その中で128×128以下のミップマップが使用されます
レンダーメッシュに連動

ペイントマップはMeshClothのSource Renderersと1対1に対応します。
つまりレンダラーごとに1枚ペイントマップが必要です。
また、サブメッシュには対応していません。
つまり1つのレンダラーで2枚以上のテクスチャを使用しているメッシュでは利用できません。