🐥

【Blender】ノーマルベイク時のレイの考え方

2024/03/05に公開

※こちらの記事はベイクの仕方の基本的なことはなんとなく分かる方向けです
ノーマルベイクを行う際に「Selected to Active」の設定で「Extrusion(押し出し)」と「Max Ray Distance(レイの最大距離)」があります。

Max Ray Distanceはなんとなくわかり分かりますが、Extrusionが個人的には「???」の状態でした。
色々調べてみても大体は「綺麗にベイクされる値を設定しましょう」という記載がほとんどで、この2つの設定がどう作用するかが分かりませんでした。
なのでこの記事では検証してみた結果と私なりの解釈を述べさせていただこうと思います(これが正解というわけではないと思います)。

環境情報

  • Blender:4.0
  • Windows11

調べる前のイメージ

Activeオブジェクトの中心からレイが出ていて、Max Ray Distance内にあるSelectedオブジェクトがベイクされると思っていました。

中心から2.5mのところにサルのオブジェクトを移動して、4mあれば全体がはいっているのでMax Ray Distanceの大きさを4mにしてベイクしてみました。

結果はなぜか顔の正面部分がちょっとだけベイクされていて全体は入っていない。
ただベイク自体はできているので、Max Ray Distanceの値が足りていない?とかExtrusionの値を調整しないといけない?とか色々考えてました。

色々調べてみた結果

他の方の記事やYoutubeでの動画を調べてみても、残念ながらこの2つ値の関係などに言及して解説されているものはなかなか見つけることが出来ず、「きれいにベイクできるように調整するもの」という認識が生まれていました。
その後何回か手元でやってみてうまくいく場合もあるし変になる場合も。
一応公式のドキュメントを覗いてみるとこのような記述を見つけました。

このドキュメントを見てみると「inward ray」=「内向きのレイ」との記述。
考え方が全く逆でした。

前述の例ですと、逆側の面から中心を貫通して4mの部分を確認すると、確かにベイク結果と一致していそうです。

そうなってくると今度は「Extrusion」が気になります。
公式ドキュメントを見てみても「Extrusion」の記載は見つけられなかったですが、似たもので「Cage Extrusion」の説明はありました。

見てみると「Selected to Active」と「Cage」を使用する際に内側へのレイキャストに使用する距離と書かれています。
ここも解釈が微妙ですが「レイの距離」ではなく、「レイキャストに使用する距離」とあるのでレイキャストの始点距離なのではないかと。

「Activeオブジェクトの表面からどれくらい押し出した距離からレイキャストを開始するか」=「Extrusion」という解釈ですと下図のような感じになるのかなと思うので、下記の設定で再度ベイクしてみました。
Extrusion:2.5m
Max Ray Distance:2.0m(2.0mならサルのオブジェクトの全体が入る)

今度はちゃんとサルのオブジェクトの全体がベイクされました。

結論

Extrusion:Activeオブジェクトからレイキャストの始点までの距離
Max Ray Distance:レイキャストの距離(長さ)

このように言えるのではないでしょうか。あくまで私が調べた範囲内での私の考察です。
ただ、これでうまくベイクできているので案外正しかったりするのではないでしょうか。
この記事がこれからノーマルのベイクをやってみようとしてる方、ノーマルマップはよく使うけどなんとなくの理解で使っている方への一助となれば幸いです。

Discussion