[Blender 2.8] 部分的にウェイトを変えた法線編集をするのに便利な、重み付き法線モディファイアーの機能と使い方のご紹介
今回の記事は、 Blenderで部位によってシェーディングの度合いを変えた『法線編集』をすることができる『重み付き法線モディファイアー』についてです 。
『法線編集』について詳しくは、下記記事で書かせていただいております。また、このモディファイアーで操作できる『面の強さ』というステータスについても取り上げておりますので、是非ご覧ください。
このモディファイアーが用いられるとすれば、『面の強さ』を扱う時にセットで使用する、というケースが大半だと思われます。
例えば、過去にご紹介した『ベベルモディファイアー』には『面の強さ』に関する機能がありましたが、その時にもセットでこの『モディファイアー』を使用しました。
ですが、もちろん、このモディファイアーに出来る事はそれだけではないので、それ以外の機能についても詳しく書いていきたいと思います。
※2020年1月30日 加筆修正を行いました。
※2020年2月18日 加筆修正を行いました。
目次
まず最初に

『重み付き法線モディファイアー』を追加したいオブジェクトを選択しておき、[プロパティエディタ]>[モディファイアー]>[モディファイアーを追加]で表示される一覧から、[重み付き法線]という項目を選びます。

この『モディファイアー』は、『法線』を編集するものなので、『自動スムーズ』を有効にしている必要があります。
『自動スムーズ』を有効にするには、[プロパティエディター]>[オブジェクトデータ]>[ノーマル]>[自動スムーズ]という項目を探し出し、チェックを入れてください。
ちなみに、『自動スムーズ』が有効になっていない場合、この『モディファイアー』を追加した時に、モディファイアーの下部にエラー表示が出ます。


使用するモデルの準備
今回は『トーラス』を使っていきます。
追加直後に出現する『オペレーターパネル』の値を、[大セグメント数: 28]、[小セグメント数: 8]、[大半径: 1.8m]、[小半径: 0.25m]に設定しました。


[重み付き法線]の詳細設定項目一覧
- [重み付けモード(Weighting Mode)] …法線のウェイトの計算方法を定義する。
- [ウェイト(Weight)] …面に設定するウェイトに対する補正係数。
- [しきい値(Threshold)] …設定する法線のウェイトの値を丸めるしきい値。
- [頂点グループ(Vertex Group)] …法線編集を加える頂点を設定する『頂点グループ』の指定。
- [シャープを維持(Keep Sharp)] …『自動スムーズ』の設定や、マークした『シャープ』の設定を重み付き法線の計算に反映させる。
- [面の影響(Face Influence)] …重み付けに『面の強さ』を使用する。
[重み付けモード(Weighting Mode)]
この項目では重みの計算方法を定義します。
頂点の周りの法線は、それぞれにさまざまなウェイトを使用して(面コーナーごとの)カスタム法線を作成するために組み合わせられます。
選択できるモードは次の3つです。

モード | 概要 |
---|---|
[面積(Face Area)] | 面の面積に応じたウェイトを設定します。 面積が大きい程、その面の法線に設定されるウェイトが大きくなります。 |
[コーナー角度(Corner Angle)] | 各面のコーナー角度に応じたウェイトを設定します。 この計算方法は、Blenderにおいて、面法線を組み合わせて頂点の法線を計算する際に使用される、デフォルトの方法です。 |
[面積と角度(Face Area and Angle)] | 面の面積とコーナー角度の乗算した値でウェイトを設定します。 |
[ウェイト(Weight)]
面に設定されるウェイト値の補正係数を設定します。
つまり、この項目では、ウェイト値の大きい方と小さい方、どちら側にウェイトのコントラストを強めるのか、という調整が出来ます。
- 50未満 …面積、またはコーナー角度が小さい方の面に設定されるウェイトを増加します。
- 50 …ニュートラル。 全ての面が、計算されたウェイトそのままで重み付けされます。
- 51以上 … 面積、またはコーナー角度が大きい方の面に設定されるウェイトを増加します。

[しきい値(Threshold)]
ウェイトの値を丸めるしきい値です。
算出されたウェイト値の差がしきい値よりも小さい場合、ウェイト値を同じ値に設定します。
今回使っているモデルのトーラスの形状上、各面の面積にほとんど差がありません。なので、[重み付けモード: 面積]に設定すると、[しきい値:0.01]のデフォルトの設定のままだと、ウェイトが丸められて、メッシュ全体でウェイトに差がほとんど出来なくなってしまいます。
Gifでは、ウェイトに差を出しやすくするため、”0.00″と”0.01″を切り替えつつ、コントラストを強めるため[ウェイト: 1]で変化を見ています。

[頂点グループ(Vertex Group)]
ウェイトを設定する頂点を『頂点グループ』で設定できます。
1つ『頂点グループ』を作成しておきます。
『頂点グループ』の新規作成は、[プロパティエディター]>[オブジェクトデータ]>[頂点グループ]の一覧の右側にある[+]ボタンを押せば出来ます。


頂点を全選択([A])して、その状態で、[選択]>[チェッカー選択解除]で、選択・非選択された頂点が交互になるようにします。


先程作成した『頂点グループ』が選択状態にあり、[ウェイト: 1.000]であること確認して、[割り当て]ボタンを押します。
※ややこしいのですが、この[ウェイト]は『頂点グループ』でのプロパティで、『法線』の設定での『ウェイト』とは別物です。

その状態のトーラスを『ウェイトペイントモード』で表示してみると、カラフルな斜めのストライプ状になります。
普通に『ウェイトペイント』で設定しても良かったんですが、今回は[編集モード]から行う『頂点グループ』のウェイト値の設定をしてみました。適当にメッシュオブジェクトの頂点に色を塗って、それぞれの頂点のウェイトを設定します。
色が赤に近い程”1″に近く、色が青に近い程”0″に近いウェイト値が割り当てられていることを表します。

ちなみに、『頂点グループ』および『ウェイトペイント』について詳しくは、下記ページをご覧ください。
先程作った『頂点グループ』名を[頂点グループ]に入力します。



『頂点グループ』を入力する部分の右側にある[↔]ボタンは、『頂点グループ』での設定を反転できます。

[シャープを維持(Keep Sharp)]
Blenderでは「デフォルトの分割法線の計算時、各頂点用の単一の重み付き法線を設定する代わりにシャープを保持します」と説明されています。
[プロパティエディター]>[オブジェクトデータ]>[自動スムーズ]>[角度]の設定や、マークした『シャープ』の設定を重み付き法線の計算に反映させることが出来るようです。
ちなみに、“デフォルトの分割法線の計算時”というのは恐らく、[メッシュ]>[ノーマル]>[分割]でメッシュに『カスタム分割法線』を設定する時の事を言っているのだと思います。
詳しくは↓の記事の「 [分割] 」という項目をご覧ください。
- [プロパティエディター]>[オブジェクトデータ]>[自動スムーズ]>[角度]
[自動スムーズ]>[角度]に設定したよりも鋭い角度の辺は、シャープな表示になります。


- 『シャープ』付けした辺
例えば、こんな風に『シャープ』をマークしていたとします。

こういった場合、[自動スムーズ]>[角度]の値を”30°”のままにしておくと、『シャープ』付けした辺が目立たなくなってしまうので、”180°”(つまり全てスムーズ)に設定し、『シャープ』付けした辺だけが強調されるようにすることをオススメします。


『シャープ』について、詳しくは↓の記事をご覧ください。
[面の影響(Face Influence)]
[メッシュ]>[ノーマル]>[面の強さを設定]、または『ベベルモディファイアー』の[面の強さ設定モード]で各面に割り当てられた『面の強さ』を使用して、重み付けに影響を与えます。
1つの共通する頂点を持つ3つの面が交わっている場合、『面の強さ』の強い面の法線が最終的な重み付けの設定に使用されます。
『ベベルモディファイアー』について、詳しくは↓の記事をご覧ください。
『面の強さ』に関しましては、詳しくは↓の記事の「『面の強さ』とは?』」をご覧ください。
せっかくなので、『ベベルモディファイアー』を併用して、以下のようにメッシュを編集します。

[面の影響]の有効・無効だけの変化ですが、『ベベルモディファイアー』でのメッシュの形状変化に対応して、重み付けにメリハリが出せます。

参考にさせていただいたサイト・ページ一覧
モディファイアー関連の記事のご紹介
この記事の他にも、Blenderの様々なモディファイアーについて、機能や使い方を私自身も試しながらではありますが、ご紹介させていただいております。よろしければ、こちらも併せてご覧ください。
変更
- データ転送
- メッシュキャッシュ
- メッシュ連番キャッシュ