蒼水技術録

蒼水家技術録

蒼水が普段制作とか勉強とかして覚えたことを復習としてまとめてるものです。 それが最適解かどうかはわからないけど、何を目的として始めて、何が必要で、実際何をやって、どうなったか、まで全部過程を残すための技術ブログです。

Blender Tips編 #8 -データ転送モデファイヤと法線転写 基礎編-

どうも蒼水です。前回からだいぶ期間が空いてしまった...。

それはさておき、今回は法線転写に関してまとめておこうかなと思います。

今回の目的

メッシュ本来の法線ではなく、別のオブジェクトから法線情報を持ってくることができるんですが難しそうに見えて結構お手軽にできてしまうんですよね。
そこで今回は2つのオブジェクトを用意して片方からもう片方に持っていくことを目的とします。

よく使われているのはキャラクターの顔ですね。
本来のメッシュの法線をそのまま使ってしまうと、ライティングしたときに顔にでる陰影が良くないため法線編集が行われる傾向にあります。

例えばこんな感じに球と立方体があったとき....

f:id:Yui_Aomi:20201031154821p:plain
法線転写前

転写するとこうなる

f:id:Yui_Aomi:20201031155005p:plain
転写後

法線情報/編集って?

法線...数学...ウッ....
とかまぁそこまで気にすることはないのですが一応前提として必要な知識なのでちょっとだけ法線の解説。

一言で言えば各面に対して90°の線、つまり下記画像の青い線です。
Blenderではここで視覚的に法線は確認することができます。
*編集モードでのみなので注意

f:id:Yui_Aomi:20201031155603p:plain
法線を視覚的に表したもの

編集を行わない場合は各面からこのような法線の情報が全ての面に定義されています。
しかし、法線編集を行うことでこれとは違った意図的な法線情報を持たせることが可能です。
今回はそれを行っていくわけですね。

法線転写の準備

デフォルト状態ではカスタム法線が有効になっていないため法線編集が行えない状態になっています。
そのためまず下の画像の場所、プロパティの頂点データの中にあるノーマル(法線)の自動スムーズにチェックを入れておきます。

f:id:Yui_Aomi:20201031160357p:plain
自動スムーズにチェックを入れる

法線転写元、転写先のオブジェクトの用意

今回は手順解説のためシンプルにこの球と立方体で行います。
f:id:Yui_Aomi:20201031161600p:plain
が、実践的な話をすると例としては

  • キャラクターの顔メッシュと球体(orカプセル的な形状)のメッシュ
  • ハイポリとローポリ

などの2種類のメッシュを準備しましょう。
次の記事で実際にキャラクターに編集を施したものの記事を別途執筆予定です。

実際に転写する

まず用意した二つのオブジェクトをこんなかんじで重ねた状態にし、転写先のオブジェクトにデータ転送モデファイヤを選択します。
ものにもよるんですが、基本転写元にするオブジェクトが転写先より大きくしておいた方が安全な気がします。(覆う感じ)
ちなみに重ねずにズレた状態で転写を行うときちんと転写されないので注意。

f:id:Yui_Aomi:20201031162025p:plain
重ねた後データ転送モデファイヤを選択

その後モデファイヤの設定をこのように設定します。
元オブジェクト→転写元のオブジェクトを指定
面コーナーにチェックを入れ、カスタム法線を有効にする

f:id:Yui_Aomi:20201031162329p:plain
モデファイヤの設定

カスタム法線を有効にした時点で法線転写が行われていることが確認できます。
f:id:Yui_Aomi:20201031162425p:plain

法線がきちんと転写されていることが確認できたらモデファイヤを適用します。
適用後は転写元にしたオブジェクトは不要のため煮るなり焼くなり消すなりして問題ありません。(自分は一応残しておいて非表示にしています)

転写自体はこれだけで良いのでめちゃくちゃお手軽ですね。

次回の記事では先ほど軽く触れましたが次回はキャラクターの顔の法線編集とUnity上でどれくらい出方に差が出るかをまとめてみようと思います。

まとめ

転写元と先のオブジェクトを2つ用意して転写先にモデファイヤ適用してヨシッ!
今回はデフォルト機能で行いましたが法線編集系のアドオンとかも結構あって便利なんですがそういうのも今後扱ってみたいなぁ

では。

前回
atelier-aomi.hatenablog.com

次回
リンク作成予定