Doc:JA/2.6/Manual/Modifiers/Modify/Vertex Weight
頂点ウェイト(WeightVGroup)モディファイア
Mode: Any mode
Panel: Modifiers (Modifiers properties)
解説
頂点ウェイトモディファイアはオブジェクトの頂点グループに対して働き、そのウェイト、および/または、どの頂点がグループに属するかを変化させます。
これらのモディファイアはウェイトを[0.0,1.0]
の範囲に収めます。よってこの範囲外の数値は失われます。
現在3種類のモディファイアがあります。
共通設定
いくつかの設定は3種のモディファイアで共通しています。モディファイアの影響の度合いをコントロールする項目です。
- Global Influence
- 全体的なモディファイアの影響力(0.0ならウェイトは変更されず、1.0なら標準的な影響力になります)。
- これはウェイトだけにかかわる数値であることに注意してください。0.0でもグループに対する頂点の追加/除去は行われます。
- Vertex Group Mask
- 補助的な頂点グループ。このグループのそれぞれの頂点のウェイトがGlobal Influenceの値に掛け合わされます。このグループに属さない頂点に関しては、マスキングウェイト(つまりモディファイアの影響)はゼロになります。
- Texture
- 補助的なテクスチャ。個々の頂点におけるテクスチャの値がGlobal Influenceに掛け合わされます。標準のテクスチャIDで操作します。セットされるとさらに設定項目が現れます。
- Texture Coordinates
- テクスチャのマッピング法。4種類あります。
- Local ローカル座標系を使います。
- Global グローバル座標系を使います。
- Object 指定したオブジェクトの座標系を使います。
- UV UVレイヤーの座標系を使います。
- Use Channel
- テクスチャのどのチャンネルを使うかを指定します(強度、RGB、HSV、アルファ - これらの選択肢の意味はおそらく見ればわかるでしょう)。
- Object
- Objectマッピングに使うオブジェクト。
- UV Layer
- UVマッピングに使うレイヤー。
頂点ウェイト編集(Vertex Weight Edit)モディファイア
これはひとつの頂点グループのウェイトを編集するためのモディファイアです。
個々の頂点に対して以下の操作がなされます。
- [任意]用意された関数またはカスタムカーブに基づいてウェイト値のマッピング(関数の計算)をします。
- 計算された値、そして補助頂点グループおよびテクスチャに基づいて影響度を変化させます(0なら元のウェイトのまま、1.0なら完全に置き換えられます)。
- 計算されたウェイトが頂点に適用されます。そして/または、しきい値に応じて頂点がグループに追加/除去されます。
オプション
- Vertex Group
- 影響を受ける頂点グループ。
- Default Weight
- グループに属さない頂点に与えられるデフォルトのウェイト。
- Falloff Type
- マッピングのタイプ:
- Linear 再マッピングせず線形的にマッピングされます。
- Custom Curve カーブマッピングを有効にします。カーブコントロールが現れます。
- Sharp, Smooth, Root, Sphere 一般的なマッピング関数です。
- Random 完全にランダムにマッピングします。
- Median Step 0.5を境として0.0か1.0に振り分けます。
- Group Add
- 最終的なウェイト値がAdd Thresholdよりも高くなった頂点はグループに追加されます。
- Group Remove
- 最終的なウェイト値がRem Thresholdよりも低くなった頂点はグループから除去されます。
頂点ウェイト合成(Vertex Weight Mix)モディファイア
このモディファイアは様々な方法で第一の頂点グループに第二の頂点グループのウェイト(または単純な値)を合成します。
また、どの頂点に影響を与えるかもコントロールできます(すべて、第一/第二のグループに属するもの、など)。
このモディファイアでは頂点がグループに追加されることがあります(除去されることはありません)。下記参照。
オプション
- Vertex Group A
- 影響を受ける頂点グループ。
- Default Weight A
- グループに属さない頂点に与えられるデフォルトのウェイト。
- Vertex Group B
- 合成に使われる頂点グループ。
- Default Weight B
- グループに属さない頂点に与えられるデフォルトのウェイト。
- Mix Mode
- ウェイトを合成する方法。7種類あります。
- Replace weights 第二グループのウェイトで置き換えます。
- Add to weights ウェイトを足し合わせます。
- Subtract from weights 第一グループのウェイトから第二グループのウェイトを引き算します。
- Multiply weights ウェイトを掛け算します。
- Divide weights 第一グループのウェイトを第二グループのウェイトで割り算します。
- Difference 差の絶対値を計算します。
- Average ウェイトを平均します。
- Mix Set
- どの頂点に結果を適用するかを決めます。5種類あります。
- All vertices すべての頂点に結果を適用します。結果としてグループに頂点が追加されることがあります。
- Vertices from group A 第一グループに属する頂点だけに影響を与えます。
- Vertices from group B 第二グループに属する頂点だけに影響を与えます。結果としてグループに頂点が追加されることがあります。
- Vertices from one group 少なくとも一方のグループに属する頂点に影響を与えます。結果としてグループに頂点が追加されることがあります。
- Vertices from both groups 両方のグループに属する頂点だけに影響を与えます。
頂点ウェイト近接(Vertex Weight Proximity)モディファイア
このモディファイアは、オブジェクト(またはその頂点)と他のターゲットオブジェクト(またはそのジオメトリ)の距離に応じて頂点グループのウェイトを変化させます。
オプション
- Vertex Group
- ウェイトを変化させる頂点グループ。
- Target Object
- このオブジェクトまでの距離にもとづいて処理をします。
- Proximity mode
-
- Object Distance オブジェクト同士の距離に基づいて計算したウェイトを、頂点グループのすべての頂点に割り当てます。
- Geometry Distance グループに属する個々の頂点と、ターゲットオブジェクトまたはそのジオメトリとの距離に基づいてウェイトを決めます。
Geometry Distanceモードはさらに三つのオプションを持っています。これらを有効にするとターゲットオブジェクトの中心点ではなくジオメトリ(頂点、辺、面)が使われます(三つとも有効にした場合は最も短い距離が使われます)。ターゲットオブジェクトがジオメトリを持たない場合(空のオブジェクト、またはカメラなど)は、自働的にデフォルトのObject Distanceに戻ります。
- Vertex
- 個々の頂点のウェイトを、ターゲットオブジェクトの最も近い頂点との距離に基づいて決めます。
- Edge
- 個々の頂点のウェイトを、ターゲットオブジェクトの最も近い辺との距離に基づいて決めます。
- Face
- 個々の頂点のウェイトを、ターゲットオブジェクトの最も近い面との距離に基づいて決めます。
- Lowest Dist
- ウェイトが0.0になる距離。この距離をHighest Distよりも上にすると、効果が逆転します。
- Highest Dist
- ウェイトが1.0になる距離。この距離をLowest Distよりも下にすると、効果が逆転します。
- Falloff Type
- マッピング関数。前節の頂点ウェイト編集を参照。
例
ターゲットオブジェクトからの距離を使う
最初の例として、Waveモディファイアを動的にコントロールしてみましょう。
十分な数の頂点(たとえば100×100ぐらい)を持ったGridメッシュを作成し、10 BU(BU:Blender単位)四方のサイズにします。Edit Modeに入り、Object DataプロパティのVertex Groupsパネルで頂点グループを追加します。そしてすべての頂点を(たとえばウェイト1.0で)登録し、Object Modeに戻ります。
ModifiersプロパティでVertex Weight Proximityモディファイアを追加します。モードはObject Distanceです。先ほど作った頂点グループを指定、またターゲットオブジェクト(私はランプにしました)も指定します。
おそらく、Vertex Weight Proximityモディファイアによる線形マッピングを調整しなければならないでしょう。Lowest DistとHighest Distを、それぞれ最も低いウェイトにしたい頂点までの距離と、最も高いウェイトにしたい頂点までの距離にあわせて設定します。
それではWaveモディファイアを追加しましょう。好きなようにセッティングして、コントロールには同じ頂点グループを指定します。
ターゲットオブジェクトをアニメートし、グリッドの上方を移動させます。すると、オブジェクトのまわりにだけ波が現れるのがわかるでしょう! Vertex Weight EditモディファイアをWaveモディファイアの前に追加し、Custom Curveマッピングでより大きい/狭い「影響力の勾配」にすることもできます。
サンプルファイル, TEST_1
scene.
ターゲットオブジェクトのジオメトリからの距離を使う
これを、Displaceを使って解説しましょう。
10×10 BUで100×100頂点のグリッドを作成し、Edit Modeですべての頂点を頂点グループに登録します。前節と同じ手順です。一つ目のモディファイアとしてSubsurfでさらに再分割してもいいでしょう。
そしてグリッドの上方0.25 BUの位置に円形のカーブ形状を追加し、すこし(4.0くらいに)拡大します。
グリッドを再度選択し、Vertex Weight Proximityモディファイアを追加します。Geometry DistanceモードにしてEdgeを有効にします(Vertexのみを有効にして、かつカーブのU解像度が低いと、波打ったパターンが現れます。図(Wavy patterns)参照)。
Wavy patterns. | |
---|---|
ウェイトのマッピング範囲は、Lowest Distを0.2、Highest Distを2.0にします。
Displaceモディファイアを三つ目に追加し、好きなテクスチャを指定します。さて、われわれはグリッドの中で円カーブに距離が近い頂点は置換されないようにしたいわけです。その部分ではウェイトがゼロになるので、置換のMidlevelを0.0にします。そしてグリッドの頂点グループを指定しておしまいです。グリッド上の山々は円の近くだけ平らにへこむようになるでしょう。
前節の例と同じく、Vertex Weight EditモディファイアをDisplaceの前に入れて、Custom Curveマッピングで影響の与え方を変えることもできます。
Curve Map variations. | ||
---|---|---|
さらにMaskモディファイアを最後に追加し、Vertex Weight EditのgGroup Removeオプションを有効、しきい値は0.1にすると、谷底の部分が消滅します。
サンプルファイル, TEST_2
scene.
テクスチャとマッピングカーブを使う
今度は奇妙でエイリアン的な波を作ってみましょう(またWaveモディファイアを使った例ですが、今回は派手ですよ。頂点グループに対する影響がよく分かるでしょう)。
これまで同様100×100のグリッドを作ります。今回は、頂点グループ自体は作りますが頂点の登録はしません。それは動的に行うことにします。
そしてVertex Weight Mixモディファイアを追加し、Default Weight Aを0.0、Default Weight Bを1.0、Mix ModeはReplace weightsのまま、Mix SetはAll vertices にします。これですべての頂点が影響を受けます。初期状態ではどの頂点もグループに属していないのでウェイトは0.0で、影響を受けると1.0に置き換えられ、グループに追加されることになります。
それではマスキングテクスチャを作りましょう。私はデフォルトのMagicにしました。このテクスチャは、第二グループのウェイト(1.0)が第一グループのウェイト(0.0)にどの程度影響するかをコントロールします。つまり今回の場合、このテクスチャの値がそのままウェイトになるわけです。
テクスチャのマッピング座標系はデフォルトのLocalのままにして、あとはいろんなチャンネルと好きなようにいじってください。
Texture channel variations. | ||
---|---|---|
それからWaveモディファイアを追加するのを忘れてはいけません。頂点グループも指定してください。
このようにして、生成されたウェイト値をそのまま波に使うこともできますが、カーブマッピングでウェイトを変えたければ、おなじみのVertex Weight Editモディファイアを追加してCustom Curveマッピングを選択しましょう。
デフォルトでは一対一の線形マッピングが行われます。つまり、何もしないのと同じです! 図(A customized mapping curve)のようにカーブを変更してみてください。[0.0, 0.5]
を[0.0, 0.25]
に、[0.5, 1.0]
を[0.75, 1.0]
にマッピングしてあります。これれでほとんどの頂点のウェイトが0.25以下か0.75以上になり、波の中に「壁」が作られます。
Custom mapping curve. | ||
---|---|---|
サンプルファイル, TEST_4
scene.
関連項目
- The Development page.