ジャンル雑多なゲーム・ゲーム制作関連の色々な情報を取り扱っているブログ。最近はBlenderについてが中心。
[Blender 2.8] リアルな陰影からアニメっぽい陰影まで [法線編集モディファイアー]

[Blender 2.8] リアルな陰影からアニメっぽい陰影まで [法線編集モディファイアー]

[Blender 2.8] ローポリモデルでリアルなシェーディングをしたり、アニメっぽいシェーディングをしたりするのに便利な、法線編集モディファイアーの機能と使い方のご紹介

今回の記事は、 Blenderで『法線編集』をすることができる『法線編集モディファイアー』についてです 。

このモディファイアーを使用すると、ローポリで作る木のモデルの葉に使う放射状の『カスタム法線』をすばやく生成したり、デフォルトの法線を部分的に曲げて、『トゥーンレンダリング』のようなシェーディングをするための法線編集を行うことができます。

『トゥーンレンダリング』とは『トゥーンシェーディング』とも呼ばれ、アニメのように極端に分かれた陰影付けをするレンダリング(シェーディング)方法の1種です。

Blender 3DCG モデリング Mermaid 人魚 トゥーンレンダリング カスタム法線 法線編集モディファイアー
『法線編集モディファイアー』を使用してない普通のシェーディングの人魚モデル
Blender 3DCG モデリング Mermaid 人魚 トゥーンレンダリング カスタム法線 法線編集モディファイアー
『法線編集モディファイアー』を使用した『トゥーンレンダリング』っぽいシェーディングの人魚モデル

ちなみに、公式Blenderマニュアルの法線編集モディファイアーのページでは、木のモデルに付属したローポリゴンの葉にこのモディファイアーを使用した具体的な例が紹介されており、またサンプルとしてBlenderファイルの配布もされているようです。ご興味湧かれましたら、是非一度覗きに行ってみてください。

外部リンク:Normal Edit Modifier > Example

ちなみにのついでに(何か二重になってる気がする汗)なのですが、上記リンク先のExampleで使用されている木モデルを作成したのに使われたのではないか(あくまで推測ですが)と思われる『Sapling Tree Gen』というアドオンについて詳しく記事に書いてみましたので、よろしければご参考までに。

もし、そもそも『シェーディング』や『法線』、『法線編集』、『カスタム法線』等がよくわからないという方がいらっしゃいましたら、

『シェーディング』については下記記事のPart1の方、『法線』、『法線編集』や『カスタム法線』については下記記事のPart2の方にて、詳しく書かせていただいておりますので、そちらを先にご覧ください。

※2020年2月21日 画像を追加、加筆修正を行いました。
※2020年2月25日 加筆修正を行いました。
※2020年3月1日 加筆修正を行いました。

目次

まず最初に

Blender 法線編集 モディファイアー 3DCG モデリング

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

ちなみに、追加した際の『モディファイアー名』の表記は[Set Split Normals]となるようです。

Blender 法線編集 モディファイアー 3DCG モデリング

“Split Normals”とあるので、Blenderで設定できる3つのタイプの法線の中の、『分割法線』からカスタム法線を設定するためのモディファイアーのようですね。

Blender 法線編集 モディファイアー 分割法線 カスタム法線 レイアウト 3DCG モデリング
[ビューポートオーバーレイ]>[ノーマル]>[分割法線を表示]

また、この『モディファイアー』は名前通り『法線』を編集するものなので、『自動スムーズ』を有効にしている必要があります。

『自動スムーズ』を有効にするには、[プロパティエディター]>[オブジェクトデータ]>[ノーマル]>[自動スムーズ]という項目を探し出し、チェックを入れてください。

ちなみに、『自動スムーズ』が有効になっていない場合、この『モディファイアー』を追加した時に、モディファイアーの下部にエラー表示が出ます。

Blender 法線編集 モディファイアー 3DCG モデリング

[法線編集]の詳細設定項目一覧

モード

カスタム法線を生成する基準となる計算方法を、2つのタイプから選択します。

[放射(Radial)]

法線を「原点→頂点座標」というベクトルで揃えます。

つまり、すべての法線は、楕円面から放出されたかのように、指定された中心点から放射されるように見えます。

Blender 法線編集 モディファイアー 分割法線 カスタム法線 3DCG モデリング
『法線編集モディファイアー』未使用
Blender 法線編集 モディファイアー 分割法線 カスタム法線 3DCG モデリング
『法線編集モディファイアー』使用 ([放射]モード)

[指向性(Directional)]

すべての法線を特定のターゲットオブジェクトに向けます。

こちらのモードでは、[ターゲットオブジェクト]に何かしらのオブジェクトを設定することが必須となります。

もしも[ターゲットオブジェクト]が空欄だと、エラー表示が出ます。

Blender 法線編集 モディファイアー 分割法線 カスタム法線 3DCG モデリング
[指向性]モードを選択時、[ターゲットオブジェクト]が空欄な場合のエラー表示

[ターゲットオブジェクト(Target Object)]

カスタム法線を生成するときに、このオブジェクトの原点を基準点として使用します。

Blender 法線編集 モディファイアー 分割法線 カスタム法線 3DCG モデリング エンプティ
[ターゲットオブジェクト]にエンプティオブジェクトを設定

[放射]モードではオプションとして任意的に設定する項目ですが、[指向性]モードでは設定が必須な項目です。

Blender 法線編集 モディファイアー 分割法線 カスタム法線 3DCG モデリング エンプティ
  • [指向性]モードで[ターゲットオブジェクト]に”エンプティ”を設定した場合
Blender 法線編集 モディファイアー 分割法線 カスタム法線 3DCG モデリング エンプティ

ちなみに、この[ターゲットオブジェクト]に”Camera”を設定している状態で、カメラ視点([0])からオブジェクトを見てみると、まるで全く陰影付けがされていないようなシェーディングの表示を見る事ができます。

Blender 法線編集 モディファイアー 分割法線 カスタム法線 3DCG モデリング エンプティ

[平行法線(Parallel Normals)]

ターゲットの原点に向かって収束するのではなく、すべての法線を両方のオブジェクトの原点間の線に平行にします。

[指向性]モードでのみ設定可能な項目です。

Blender 法線編集 モディファイアー 分割法線 カスタム法線 3DCG モデリング エンプティ
[平行法線]チェック有無による法線の変化

[オフセット(Offset)]

オブジェクトの原点を基準としたオフセットを設定して、カスタム法線の生成に使用します。

[放射]モードの場合は[ターゲットオブジェクト]が設定されていない時、[指向性]モードの場合は[平行法線]が設定されている時のみ設定可能になります。

立方体オブジェクトだけじゃ味気ないのでサンプル用に作った柱モデルを使って変化を見てみます。

Blender 細分化 ソリッド化 モディファイアー 頂点グループ 3DCG モデリング 柱

[放射]モードを選択して、法線の基準となる原点を、この[オフセット]でX軸方向に動かしてみました。

Blender 法線編集 モディファイアー 分割法線 カスタム法線 3DCG モデリング 柱
[オフセット]で原点をX軸方向に移動

[ミックスモード(Mix Mode)]

新しく生成された法線で既存の法線に影響を与える方法を設定します。

設定出来るタイプは以下の4つのタイプから選択します。

  • [コピー(Copy)] …新しい法線を既存の法線へコピー(上書き)します。
  • [追加(Add)] …「既存の法線 + 新しい法線」という和算で設定します。
  • [減算(Subtract)] …「新しい法線 - 既存の法線」という減算で設定します。
  • [乗算(Multiply)] …「既存の法線 ・ 新しい法線」という内積で設定します。※外積ではない(“not” cross product)そうです。
Blender 法線編集 モディファイアー 分割法線 カスタム法線 3DCG モデリング
[放射]モードで[ミックスモード: コピー]
Blender 法線編集 モディファイアー 分割法線 カスタム法線 3DCG モデリング
[放射]モードで[ミックスモード: 減算]
Blender 法線編集 モディファイアー 分割法線 カスタム法線 3DCG モデリング
[放射]モードで[ミックスモード: 追加]
Blender 法線編集 モディファイアー 分割法線 カスタム法線 3DCG モデリング
[放射]モードで[ミックスモード: 乗算]

[ミックス係数(Mix Factor)]

生成されたカスタム法線を、どれだけ既存の法線に影響させるかの割合を設定します。

Blender 法線編集 モディファイアー 分割法線 カスタム法線 3DCG モデリング
[放射]モード、[ミックスモード: 減算]で[ミックス係数]の値の増減によるカスタム法線の変化

[頂点グループ(Vertex Group)]

作成した『頂点グループ』の頂点毎のウェイト情報を使って、[ミックス係数]で設定した影響を制御できます。

『頂点グループ』の影響は、右側の小さな「矢印(↔)」ボタンを使用して反転させる事ができます。

『頂点グループ』自体についてよくご存じない方は、↓の記事をご覧ください。基本的な機能や具体的な用途等、詳しくご紹介させていただいております。

今回は→の画像のような、上から下に徐々に”ウェイト”値が下がる『頂点グループ』を作成し、仮に”normal_weight”と名付けました。

Blender 3DCG モデリング 柱 頂点グループ ウェイトペイント
『頂点グループ』”normal_weight”

そして、”normal_weight”を使ってカスタム法線のミックス度合いを変化させてみました。

[指向性]モードで[ターゲットオブジェクト: Camera]を設定している状態でのカメラ視点(テンキー[0])表示で比較してみました。

  1. [頂点グループ]に何も設定していない時はのっぺりとした陰影が全く付いてない状態。
  2. [頂点グループ]に”normal_weight”を設定した状態では、上に行くほど、カスタム法線がミックスされる度合いが強まり、陰影が付かない状態。
  3. 2の反転。
Blender 3DCG モデリング 柱 頂点グループ

[最大角度(Max Angle)]

新しく生成されたカスタム法線が、指定されたしきい値を超える元の法線に対する角度を持つことを禁止します。

極端な法線変更は、面の表裏を反転させてしまい、その結果、シェーディングが醜いものになってしまう可能性があります。

この[最大角度]では、元の法線から変更する角度に制限を加えることによって、その極端な法線変更を防ぐのに役立ちます。

Blender 法線編集 モディファイアー 分割法線 カスタム法線 3DCG モデリング
[最大角度(Max Angle)]

[ポリゴンの法線をロック(Lock Polygon Normals)]

法線が、コーナーのカスタム法線を指す辺と一致しなくなったポリゴンの反転(面の表裏の反転)を防ぎます。

シェーディングの問題の回避にも役立ちます。

[ミックスモード]で[減算]か[乗算]を選び、[最大角度]であまり制限を加えていなかった場合、変更を加えた法線の角度が元のものから変化しすぎて、大抵、一部(または全部)の『面』は『面の向き』が裏表逆になってしまいます。

この[ポリゴンの法線をロック]を有効にしておけば、『面の向き』が反転するのを防ぐことができます。

以下のGifでは、[ビューポートオーバーレイ]>[ジオメトリ]>[面の向き]を有効にして、『面の向き』を色で表示したものになります。表面であれば青、裏面であれば赤で表示されています。

Blender 法線編集 モディファイアー 分割法線 カスタム法線 3DCG モデリング 面の向き
[ミックスモード: 減算]で反転してしまった『面の向き』を[ポリゴンの法線をロック]で修正
Blender 法線編集 モディファイアー 分割法線 カスタム法線 3DCG モデリング 面の向き
[ミックスモード: 乗算]で反転してしまった『面の向き』を[ポリゴンの法線をロック]で修正

おまけ:騙し絵「不可能円柱」風モデル

よく見ると完全に種が見えてしまうような残念な仕上がりではありますが、騙し絵の「不可能円柱」を出来る限り再現してみました。

Blender 法線編集 モディファイアー 分割法線 カスタム法線 3DCG モデリング 騙し絵 不可能円柱
『法線編集モディファイアー』を使って作成した騙し絵「不可能円柱」風モデル

参考にさせていただいたサイト・ページ一覧

モディファイアー関連の記事のご紹介

この記事の他にも、Blenderの様々なモディファイアーについて、機能や使い方を私自身も試しながらではありますが、ご紹介させていただいております。よろしければ、こちらも併せてご覧ください。

生成

Blenderに関する記事や作品をまとめたページ作りました!

Pocket

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください