[Blender 2.8] 『頂点グループ』の『ウェイト』値を多様に変化させるのに便利な、頂点ウェイト編集モディファイアーの機能と使い方のご紹介
今回の記事は、 Blenderで『頂点グループ』を使う時に頂点の『ウェイト』を編集するのに役立つ『頂点ウェイト編集モディファイアー』についてです。
Blenderの公式マニュアルの機能説明によると、↓のような使い方を目的とした『モディファイアー』らしいです。
- 定義済みの関数か、カスタムマッピング用の『カーブオブジェクト』を使ってマッピングする。
- 影響を及ぼしたい要素と、オプションで『頂点グループ』か『テクスチャ』のマスク(元のウェイトは”0.0″、完全にマッピングを適用する場合は”1.0″)を適用できる。
- 頂点にウェイトを戻す。また、オプションで、ウェイトが特定のしきい値を下回る場合はグループから頂点を削除し、特定のしきい値を超える場合は追加。
ちなみに、『頂点ウェイト編集モディファイアー』の公式マニュアルのページにて、使い方が動画付きで掲載されていますので、気になった方は是非覗きに行ってみてください。
外部ページリンク:Vertex Weight Edit Modifier — Blender Manual
※今回は『モディファイアー』の名前にもある通り、「『頂点グループ』や『ウェイト』が一体どういうモノか」という事を読者様が理解しているのを前提とした内容となっております。
『頂点グループ』や『ウェイト』について詳しく知りたい方は、下記記事をご覧ください。
後日追記: 「『頂点グループ』の頂点の『ウェイト』を編集する」という点で共通点のある、『頂点ウェイト合成モディファイアー』、『頂点ウェイト近傍モディファイアー』について別の記事にて詳しく書かせていただきました。
これらの「頂点ウェイト編集系」モディファイアーの違いやおすすめの使い分けについてざっくりとですが、後程ご紹介します。
※2020年1月24日 加筆修正を行いました。
※2020年1月26日 加筆修正を行いました。
※2020年1月29日 加筆修正・追記を行いました。
※2020年1月30日 加筆修正を行いました。
※2020年2月18日 加筆修正を行いました。
※2020年2月21日 加筆修正を行いました。
※2020年2月25日 関連記事のご紹介の追記をしました。
※2020年2月26日 加筆修正を行いました。
目次
まず最初に
『頂点ウェイト編集モディファイアー』を追加したいオブジェクトを選択しておき、[プロパティエディタ]>[モディファイアー]>[モディファイアーを追加]で表示される一覧から、[頂点ウェイト編集]という項目を選びます。
このモディファイアーは『頂点グループ』を使用するので、予め1つ『頂点グループ』を作っておきましょう。
[プロパティエディター]>[オブジェクトデータ]>[頂点グループ]の右側にある[+]ボタンを押せば、『頂点グループ』を新規作成できます。
ちなみに、今回メインで使うオブジェクトも、[選択]>[チェッカー選択解除]で、交互に選択して『ウェイト』”1.0″を割り当てたものを使います。
Memo:暗黙的なClamp(範囲制限)
この『モディファイアー』は、『ウェイト』の値の暗黙的な”Clamp(クランプ)”を行う、という特徴があるようです。
具体的には、『頂点グループ』の『ウェイト』値を自動的に”0.0″~”1.0″の範囲に収める、という効果です。
“0.0”未満の値は”0.0″で固定し、”1.0″以上の値は”1.0″で固定されます。
プログラミングでは馴染みのある単語ですが、一応軽く説明させていただくと、「範囲制限」または「範囲固定」という捉え方で良いと思います。
よく、「数値の範囲制限をする役割を持つ関数」の名前に使われます。
ちなみに、Clampは英単語としては”名詞”としても扱われるのですが、この場合は恐らく”動詞”の意味の方が近いと思います。
Clampとは
━━[動] 他1…を締め具[留め金]でしっかり固定する(down)≪on(to),between,over≫,〈2つの物を〉締め具[留め金]でしっかり締める[留める](together)
1a〔通例受身形で〕((英))〈駐車違反の車を〉ホイールクランプで動けなくする(wheel-clamp,((米))boot)
2…を(動かないように)しっかり止める[押さえる],〈口などを〉きつく閉じる
3〈制限などを〉(…に)かける≪on≫
3a《電気》〈電圧を〉クランプ回路で制限する
引用元: clampの意味 – goo辞書 英和和英
[頂点ウェイト編集]の詳細設定項目一覧
- 基本的な設定
- [頂点グループ(Vertex Group)] …『ウェイト』を編集したい『頂点グループ』を指定。
- [デフォルトのウェイト(Default Weight)] …『頂点グループ』で『ウェイト』が割り当てられていない頂点に割り当てる、デフォルトの『ウェイト』値。
- [グループに追加(Group Add)] …[しきい値を追加]で指定した以上の『ウェイト』値を設定されている頂点を新しく『頂点グループ』に追加。
- [しきい値を追加(Add Threshold)] …『頂点グループ』に新しく追加する頂点の『ウェイト』の下限値を指定。
- [グループから削除(Group Remove)] …[削除しきい値]以下の『ウェイト』の頂点を『頂点グループ』から削除。
- [削除しきい値(Remove Threshold)] … 『頂点グループ』から削除する頂点ウェイトの上限を指定。
- [減衰タイプ(Falloff Type)] … 『ウェイト』を新しい値にマッピングするタイプを指定。
- [影響/マスクのオプション(Influence/Mask Options)]
- [グローバルへの影響力(Global Influence)] …『頂点グループ』の『ウェイト』への、現在の変更設定の全体的な影響力を指定。
- [頂点グループマスク(Vertex Group Mask)] …頂点ごとに効果の影響力に乗算する値として使う『頂点グループ』の名前を指定。
- [テクスチャマスク(Texture Mask)] …頂点ごとに効果の影響力に乗算する値として使う『テクスチャ』の名前を指定。
- [テクスチャ座標(Texture Coordinates)] …各頂点の値を取得するための『テクスチャ』の生成座標を選択する。
- [使用チャンネル(Use Channel)] …マスクに使用する『テクスチャ』のチャンネルを選択する。
基本的な設定
[頂点グループ(Vertex Group)]
『ウェイト』を編集したい『頂点グループ』をその名前を入力して指定します。
[デフォルトのウェイト(Default Weight)]
『頂点グループ』で『ウェイト』が割り当てられていない頂点がある場合、その頂点に割り当てるデフォルトの『ウェイト』値を指定します。
この項目の変化は、[グループに追加]という項目にチェックを入れる必要があります。
更に、その下の[しきい値を追加]の値にも影響を受けます。
Memo: 『頂点グループ』に「無い」のと「”0.0″の『ウェイト』」の違い
ここで注意したいのが、頂点に”0.0″という『ウェイト』が割り当てられている場合。
色としては、『ウェイト』が全く割り当てられていない頂点と同じ青色なのですが、”0.0″であっても『ウェイト』値が割り当てられていることに変わりはないので、この項目で変化はさせられません。
[グループに追加(Group Add)]
[しきい値を追加]で指定した以上の『ウェイト』値を設定された頂点を新しく『頂点グループ』に追加します。
[しきい値を追加(Add Threshold)]
『頂点グループ』に新しく追加する頂点の『ウェイト』の下限値を指定します。
もしも、[デフォルトのウェイト]で指定した『ウェイト』値がこの値以下だと、頂点は追加されません。
例えば、[しきい値を追加]で”0.500″としていた場合、[デフォルトのウェイト]を”0.0″~”0.5″の値で指定しても、新しく頂点を加えることはありません。
[グループから削除(Group Remove)]
[削除しきい値]以下の『ウェイト』の頂点を『頂点グループ』から削除します。
[削除しきい値(Remove Threshold)]
『頂点グループ』から削除する頂点ウェイトの上限を指定します。
必ず”1.0″はそのまま削除されずに残ってしまうため、そのままでは変化が分かりにくかったので、『サブディビジョンサーフェスモディファイアー』を追加して、 細分化して”0.0″~”1.0″の『ウェイト』を持つ頂点でグラデーションが出来た状態にしましたら、しきい値を動かして変化を見てみています。
『サブディビジョンサーフェスモディファイアー』の設定はこんな感じ。
ちなみに、『サブディビジョンサーフェスモディファイアー』については、過去記事で詳しく書かせていただきましたので、よろしければご覧ください。
[減衰タイプ(Falloff Type)]
どのように『ウェイト』を新しい値にマッピングするかをプルダウンメニューから選んで指定します。
以前ご紹介した、『プロポーショナル編集』のオプション一覧に似ていますね。
変化が分かりづらくなってしまったので、シンプルな平面のメッシュオブジェクトに、中心の一点だけ”1.0″の『ウェイト』を割り当てて『サブディビジョンサーフェスモディファイアー』で細分化を施したものを用意しました。
これをオリジナルとして、それぞれの[減衰タイプ]を比較してみます。
[カスタムカーブ]だけ、他のタイプと違って形状について指定できるグラフが追加されます。
自分である程度自由にオリジナルの形状を作れますので、個人的にこれは凄くオススメしたい機能です。
ちなみに、当記事のカバー画像は、この『カスタムカーブ』を使って作ったメッシュオブジェクトです。
他のタイプは、そのタイプを選択して設定するだけなので説明は省かせていただきます。
Memo:『ソリッド化モディファイアー』と併用してみると、…『プロポーショナル編集』?
更に、『ソリッド化モディファイアー』を一番下に追加して、[頂点グループ]の項目に『頂点ウェイト編集モディファイアー』で編集している『頂点グループ』を設定しての厚み付けを行ってみると、フロント(前)視点だとそのまま『プロポーショナル編集』使った時と似たような見た目になります。
『ソリッド化モディファイアー』について詳しくは↓をご覧ください。
[影響/マスクのオプション(Influence/Mask Options)]
「基本的な設定」の各項目での設定内容を、実際の『ウェイト』にどれくらい影響させるか、という調整ができたり、さらに、『頂点グループ』か『テクスチャ』のいずれかを使用して、頂点ごとに効果を微調整できます。(微調整する『頂点グループ』、『テクスチャ』の指定は、いずれか片方のみでしかできません。)微調整に使った頂点ごとの値は、全体的な影響と乗算されます。
[グローバルへの影響力(Global Influence)]
『頂点グループ』の『ウェイト』への、現在の変更設定の全体的な影響力を指定します。
影響は『ウェイト』のみ影響し、この項目の値を”0.0″に設定しても、『頂点グループ』に対する頂点の追加・削除の設定には影響しません。
[頂点グループマスク(Vertex Group Mask)]
頂点ごとに効果の影響力に乗算する値として使う『頂点グループ』の名前を指定します。
追加で新しく『頂点グループ』を作成して先に作成していた『頂点グループ』にマスクしてみます。
マスクした結果、フロント(前方)からの視点で見るとこんな感じ。
[テクスチャマスク(Texture Mask)]
頂点ごとに効果の影響力に乗算する値として使う『テクスチャ』の名前を指定します。
という事で、マスク用の『テクスチャ』を用意します。
以前作った『ノーマルマップ』を引っ張り出してきました。
[テクスチャマスク]の項目に、作成した『テクスチャ』の名前を入力しますと、『テクスチャ』の分がマスクされ、少し凹凸が目立つような形状に変化しました。
[テクスチャ座標(Texture Coordinates)]
各頂点の値を取得するための『テクスチャ』の生成座標を選択します。
『テクスチャ』をマスクする時に、その細かさ・タイリングの回数を変更する基準となる対象を以下から選んで指定します。
- [ローカル(Local)] …オブジェクトのローカル座標系からテクスチャ座標を取得します。
[編集モード]で編集した(移動[G]、拡縮[S]、回転[R])メッシュの状態を元に『テクスチャ』をマッピングします。
- [グローバル(Global)] …グローバル座標系からテクスチャ座標を取得します。
[オブジェクトモード]で編集した(移動[G]、拡縮[S]、回転[R])メッシュの状態を元に『テクスチャ』をマッピングします。
- [オブジェクト(Object)] …別のオブジェクトの座標系からテクスチャ座標を取得します。
別オブジェクトに加えた編集した(移動[G]、拡縮[S]、回転[R])の状態を元に『テクスチャ』をマッピングします。
下準備として、追加メニュー([Shift]+[A])から[カーブ]>[円]を選択して、『ベジェ円』を作成します。
この[テクスチャ座標: オブジェクト]を選択した時に下に現れる[オブジェクト]という項目に、作成した『ベジェ円』のオブジェクト名を設定します。
『ベジェ円』を移動[G]、拡縮[S]した時のマスクに使った『テクスチャ』のマッピングの状態変化を見てみます。
- [UV(UV)] …面のUV座標からテクスチャ座標を取得します。
[UVエディター]で編集したメッシュの座標を基準に『テクスチャ』をマッピングします。
[使用チャンネル(Use Channel)]
マスクに使用する『テクスチャ』のチャンネルを使用します。
- [強度(Intensity)] …RGBチャネルの平均(RGB(1.0、0.0、0.0)の場合、”0.33″)。
- [赤(Red)] …Rのカラーチャンネル。
- [緑(Green)] …Gのカラーチャンネル。
- [青(Blue)] …Bのカラーチャンネル。
- [色相(Hue)] …HSV色空間の『色相』。
- [彩度(Saturation)] …HSV色空間の『彩度』。
- [値(Value)] …HSV色空間の『明度』。
- [アルファ(Alpha)] …Alphaのカラーチャンネル。
[値]という項目について少し補足です。この名前は恐らく、『HSV』の「V」にあたる”Value”がそのまま翻訳されてしまったのだと思うのですが…Blenderの公式マニュアルの該当の説明部分を見てみると、” The value from the HSV color space “という記述がみられるので、和訳で該当するものでは『明度』の方が一般的だと思います。
Memo: テクスチャの『チャンネル』とは?
テクスチャは『RGBA』のそれぞれの色(と透明度)毎の情報に分けられた4つの『チャンネル』で構成されています。
- R …赤(Red)
- G …緑(Green)
- B …青(Blue)
- A …透明度(Alpha)
※テクスチャには他にも、『XYZ』や『粗さ』、『メタリック』、『ハイト(Height)』などの情報が保管されている場合もありますが、そういった説明については今回は割愛します。
それぞれの『チャンネル』で対応する色の強さが管理されており、単体の『チャンネル』だけの表示だと、色が強い程白っぽく、色が弱い程黒っぽく、といったようなモノクロ表示になります。
テクスチャはこれらの『チャンネル』の色情報を使って、重ね合わせた結果、最終的にモノクロでなく、カラーのテクスチャとして表示している訳です。
Blenderでテクスチャの各『チャンネル』の色情報を見てみたい場合は、[画像エディター]や[UVエディター]の右上辺りにある[表示チャンネル]からチャンネル表示の切り替えが出来ます。
Memo: 『HSV』とは?
『HSV』とは、「色相(Hue)、彩度(Saturation)、明度(Value)の3つの値で色を表す方法」の事です。
- 色相 …色の種類。
- 彩度 …色の鮮やかさ。
- 明度 …色の明るさ。
HSVモデル(英: HSV model)は色相(Hue)、彩度(Saturation・Chroma)、明度(Value・Brightness)の三つの成分からなる色空間。HSB色空間(Hue、Saturation、Brightness)とも言われる。HLS色空間(Hue、Saturation、Lightness)とよく似ている。
引用元: HSV色空間 – Wikipedia
Blenderで『カラーピッカー』の『HSV』から色を設定する時は、色相は「円の角度(画像赤の矢印)」、彩度は「円の中心から距離(画像青の矢印)」、明度は「スライダー(画像緑の矢印)」で設定できます。
[画像エディター]などからでは(恐らく)『HSV』の各情報毎には確認できないので、マテリアルを[シェーダーエディター]からノードを操作して、それをメッシュに割り当てて確認してみます。
[追加メニュー([Shift]+[A])]>[コンバーター]にある、[HSV分離(Separate HSV)]というノードを使用して、テクスチャからHSVの情報を抽出します。
『平面』オブジェクトを用意して、マテリアルからテクスチャの情報を表示します。
元の『テクスチャ』から少し色が薄くなってしまったのは仕様なので、見辛いかもしれませんがお許しください m(_ _;)m
『HSV』の各情報を抽出した結果は↓のようになりました。
他の「頂点ウェイト編集系」モディファイアーとの比較
記事冒頭でも少し触れましたが、「『頂点グループ』のウェイト値を編集する」という共通する機能を持つモディファイアーに、『頂点ウェイト合成モディファイアー』や『頂点ウェイト近傍モディファイアー』というものがあります。
ざっくりと違いについて説明しますと、以下のようになっております。
モディファイアー名 | 概要 | 使用する『頂点グループ』、『オブジェクト』の数 |
---|---|---|
[頂点ウェイト編集] | 『頂点グループ』を『モディファイアー』で編集する。 『頂点グループ』1つの細かい調整に使用するのがオススメ。 | 基本的には『頂点グループ』1つ。 マスクに使用する場合も含めれば『頂点グループ』2つ。 |
[頂点ウェイト合成] | 『頂点グループ』に、 プラスで『頂点グループ』という素材を加え、 『モディファイアー』でそれらの情報を使って編集(合成)する。 『頂点グループ』と『頂点グループ』の合成にオススメ。 | 基本的には『頂点グループ』2つ。 マスクに使用する場合も含めれば『頂点グループ』3つ。 ※一応『頂点グループ』1つでも可能。 |
[頂点ウェイト近傍] | 『頂点グループ』に、 プラスで他の『オブジェクト』の”距離”という素材を加え、 『モディファイアー』でそれらの情報を使って編集する。 『頂点グループ』の局所的な編集、 またはウェイトの強さを集中させた編集を行いたい場合にオススメ。 | 基本的には『頂点グループ』1つと『オブジェクト』1つ。 マスクに使用する場合も含めれば『頂点グループ』2つと『オブジェクト』1つ。 |
また、使い分けとは違いますが、
『頂点ウェイト編集モディファイアー』で編集した『頂点グループ』に、更に『頂点ウェイト合成モディファイアー』や『頂点ウェイト近傍モディファイアー』を使って編集を加える
という合わせ技も有りだと思います。
是非とも上手く使い分けて、モデリングの効率化にお役立てください。
『頂点グループ』についての記事の「memo: 「頂点ウェイト編集系」モディファイアーの比較とオススメの使い分け」でもう少し詳しく書かせていただいておりますので、よろしければご覧ください。
参考にさせていただいたサイト・ページ一覧
- Vertex Weight Edit Modifier — Blender Manual
- Common Modifier Options — Blender Manual
- Blenderモディファイア(Vertex Weight Edit)
- clampの意味 – goo辞書 英和和英
- HSV色空間 – Wikipedia
モディファイアー関連の記事のご紹介
この記事の他にも、Blenderの様々なモディファイアーについて、機能や使い方を私自身も試しながらではありますが、ご紹介させていただいております。よろしければ、こちらも併せてご覧ください。
変更
- データ転送
- メッシュキャッシュ
- メッシュ連番キャッシュ
生成
変形
- アーマチュア
- スムーズ
- スムーズ(修正)
- スムーズ(ラプラシアン)
シミュレート
- コリジョン
- ダイナミックペイント