CGBoxの一部の記事にはアフィリエイト広告が含まれております。
【Blender 3.3】マルチレゾリューションを使ってスカルプト・ベイクしよう!

こんにちは!
コチラの記事では、フリーの3DCGソフト「Blender」を使った作品作りに役立つノウハウを紹介しています。
今回は、元のメッシュの形状を変えることなくスカルプトをすることができる「マルチレゾリューションモディファイアー」の使い方を紹介します。
表面のシワ・細かい凹凸などのディテールを表現するのに役立つので、ぜひコチラの記事を見て使ってみていただければと思います!
マルチレゾリューションモディファイアーとは?
「マルチレゾリューションモディファイアー」とは、一言でいうと「メッシュを細分化してスカルプトできるようにするモディファイアー」です。
メッシュに変更を加えずに、オブジェクトの形状などを変化させることができる「モディファイアー」については、コチラの記事で解説しているので、あわせて参考にしてみてください。

「マルチレゾリューションモディファイアー」は基本的にスカルプトで使う機能なので、まずは「スカルプト」について軽く紹介します。
Blenderには、粘土をこねるようにしてメッシュオブジェクトを変形する「スカルプト」という機能があります。
コチラのようにブラシでなぞることで、オブジェクトの形を自由に変えることができます。

「スカルプト」の使い方については、コチラの記事を参考にしてみてください。

スカルプトをする上で重要なのがメッシュ(ボクセルサイズ)の細かさです。
メッシュを分割し直す「リメッシュ」をする時にボクセルサイズを細かくすればするほど、下の右側の例のように目や口など、細かいディテールを表現できます。

なので、よりリアルなスカルプト作品を作りたいのであれば、リメッシュのサイズを細かくする必要があります。
スカルプトのリメッシュのやり方は、コチラの記事を参考にしてみてください。

ただし、リメッシュの分割を多くしすぎると、パソコンのメモリが一杯になってフリーズしたり、Blenderが落ちたりする可能性があります。
Blenderが重いときの対処法は、コチラの記事を参考にしてみてください。

また、作ったモデルをアニメーションで動かしたり、Unityなどのゲームエンジンのアセットとして使いたい場合は特に、ポリゴン数を抑えたいところです。
そのような、「細かいディテールを表現したいけど、メッシュの分割数は少なく抑えたい」という場合に、マルチレゾリューションが役に立ちます。
例えば、コチラの3つの貝殻は同じように見えますが、いちばん左側はボクセルリメッシュしてスカルプトしたもの、真ん中はマルチレゾリューションでスカルプトしたもの、いちばん右側はマルチレゾリューションをテクスチャにベイクしたものです。
マルチレゾリューションをベイクすることで、頂点数を13000→600と、約20分の1にまで少なくできました。

マルチレゾリューションモディファイアーは、以下の4つの機能があります。
- 細分割曲面を追加して、メッシュを補間する
- 細分割曲面の形状をスカルプトで変形させる
- 元のメッシュの形状を、変形させた細分割曲面にフィットさせる
- 元のメッシュに、マルチレゾリューションをノーマルマップやディスプレイスメントとしてベイクする
①は「サブディビジョンサーフェスモディファイアー」(サブサーフ)と同じです。
細分割曲面を追加して、形を滑らかにできる「サブディビジョンサーフェスモディファイアー」の使い方は、コチラの記事を参考にしてみてください。

②~④の機能については、あとで詳しく説明します。
マルチレゾリューションを使ったワークフローの例
マルチレゾリューションは、メッシュの形状を変えずに表現できる細かい凹凸を作るのには適していますが、大まかな形を作り込むのは、マルチレゾリューションを使わずに、ボクセルリメッシュしてスカルプトする必要があります。
なので、コチラのワークフローのように、まずは粗スカルプトでモデルの形状を作った上で、マルチレゾリューションを使って表面の凹凸などのディテールを作るのがオススメです。
- 粗スカルプトで大まかな形状を作る(手足や指など)
- リトポロジー(リトポ)する
- マルチレゾリューションで、表面の凹凸を作る(鱗や傷など)
- UV展開する
- マルチレゾリューションをノーマルマップにベイクする
なお、「マルチレゾリューションモディファイアーを使って本格的なスカルプトをしたい!」という方には、こちらのEnigmaさんのチュートリアルがオススメです。

コチラのように、実際の作品を作りながら、マルチレゾリューションを使ったスカルプト・ベイクのワークフローを学ぶことができます。

チュートリアルは有料ですが、Udemyのセールを利用すれば1200円程度で日本語でプロの技術を学ぶことができるので、プロを目指す方・趣味で作品を作りたい方など、いろんな方にオススメです!
マルチレゾリューションを使ってスカルプト・ベイクする流れを紹介!
マルチレゾリューションを使ってスカルプトを行い、作った凹凸をノーマルマップにベイクするまでの流れ・方法を紹介します。
完成イメージはコチラです。

以下の順番でやり方を紹介していきます。
- マルチレゾリューションモディファイアーの追加・設定
- スカルプト
- UV展開
- マテリアルの設定
- ノーマルマップをベイク
マルチレゾリューションモディファイアーの各設定内容の詳細については、後で出てくる「マルチレゾリューションの設定」のセクションで紹介します。
マルチレゾリューションモディファイアーの追加・設定
まずは、オブジェクトに対してマルチレゾリューションモディファイアーを追加します。
コチラのようにオブジェクトモードで、「モディファイアープロパティ」から、「生成」グループの中にある「マルチレゾリューション」を選択して追加します。

マルチレゾリューションモディファイアーを使用する際は、必ずメッシュが閉じていることを確認してください。
穴が開いたメッシュの場合、スカルプトした結果が保存されないことがあります。
他の「生成」モディファイアーは先に「適用」しておこう!
マルチレゾリューションモディファイアーは、他の「[生成]モディファイアー」(メッシュの頂点を増やしたりするモディファイアー)の後に配置できません。
Multiresolution(マルチレゾリューション) は、スタック内で、ジオメトリや他のオブジェクトデータを変更するモディファイアーの後に配置できない唯一のモディファイアーです(つまり、 Generate(生成) のすべて、Modify(変更) の一部、シミュレート の一部のモディファイアーは、 Multiresolution(マルチレゾリューション) モディファイアーの前に配置できません)。
Blender 3.3リファレンスマニュアル https://docs.blender.org/manual/ja/3.3/modeling/modifiers/generate/multiresolution.html
たとえば、コチラのようにサブサーフを追加したあとにマルチレゾリューションを追加しても、モディファイアープロパティのスタック順はサブサーフの上になってしまい変更できません。

この状態でマルチレゾリューションをスカルプトしても、サブサーフした後の頂点は編集できません。
なので、サブサーフした後の形状の表面に凹凸を付けたい場合などは、先にモディファイアーを適用してからマルチレゾリューションを追加してください。

細分化しよう!
マルチレゾリューションをスカルプトする際は、細かい凹凸を表現できるようにするために、事前にマルチレゾリューションの細分化レベルを上げておく必要があります。

コチラのようにスカルプトモードに切り替えて、「細分化」を複数回(以下の例では3回)クリックして、メッシュを細かくしておきます。

スカルプト
マルチレゾリューションの細分化レベルを設定したら、スカルプトブラシで凹凸を付けていきます。
ブラシにボロノイテクスチャを設定することで、コチラのように怪獣の皮膚のようなの凸凹を表現することができます。

スカルプトのやり方・設定方法、各スカルプトブラシの機能などについては、コチラの記事を参考にしてみてください。

スカルプトしたくない箇所がある場合は、コチラのように「マスク」(黒っぽい部分)を設定することでブラシの影響をなくすor少なくすることができます。

スカルプトの「マスク」の設定方法について、詳しくはコチラの記事を参考にしてみてください。

UV展開
マルチレゾリューションの結果をノーマルマップにベイクするには、あらかじめ「UV展開」しておく必要があります。
(今回使用しているモンキーオブジェクトは、UV展開済みのため不要です。)

メッシュをUVテクスチャ座標系にマッピングするためのUV展開のやり方については、コチラの記事を参考にしてみてください。

マテリアルの設定
UV展開が完了したら、「Shading」ワークスペースに切り替えて新規マテリアルを追加します。

ショートカットキー「Shift+A」で「テクスチャ」→「画像テクスチャ」を追加します。

画像テクスチャの「新規」をクリックして、ノーマルマップをベイクするためのテクスチャ画像を生成します。
画像サイズは2048px程度に設定し(細かい凹凸の場合は大きめにしておくと良いでしょう)、「Normal」など適当な名前を付けます。
また、画像テクスチャの色空間は「非カラー」に設定しておきます。

ノーマルマップをベイク
生成した画像にノーマルマップをベイクします。
手順は以下の通りです。
ビューポートの細分化レベルが設定されていると、うまくベイクできません。

「Eevee」ではベイクできません。



保存しないと消えてしまうので、注意してください。

ベイクしたノーマルマップ画像を「ノーマルマップ」ノードに接続し、さらに「プリンシプルBSDF」の「ノーマル」に接続することで、コチラのように凹凸を立体的に表現できます。

テクスチャに「ベイク」を行う方法について、詳しくはコチラの記事にまとめているので、あわせて参考にしてみてください。

うまくいかないときは?
マルチレゾリューションモディファイアーは、紹介したように「スカルプト」と「ベイク」を行うために、手順が複雑でうまくいかないことも多いかと思います。
マルチレゾリューションの「スカルプト」と「ベイク」それぞれについて、困ったときの対処法を紹介します。
マルチレゾリューションのスカルプトがうまくいかない
スカルプトがうまくいかない場合は、まずは以下を確認してみてください。
- マルチレゾリューション以外のモディファイアーは全て適用するか削除する
- ベースメッシュに穴がある場合はふさぐ
- マルチレゾリューションの細分化レベルを上げる
また、「スカルプトがうまくいかない」時の対処法は以下の記事にまとめていますので、こちらもあわせて参考にしてみてください。

マルチレゾリューションのベイクがうまくいかない
マルチレゾリューションをベイクする際は、以下を忘れがちなので確認してみてください。
- マルチレゾリューションモディファイアーの「ビューポート」の細分化レベルを0にする。
- 「マルチレゾからベイク」にチェックを入れる。
- シェーダーエディター上で、「画像エディター」が選択されていて、ベイク先の画像が追加・設定されている。
また、「ベイクがうまくいかない」時の対処法は以下の記事にまとめていますので、こちらもあわせて参考にしてみてください。

マルチレゾリューションの設定
最後に、マルチレゾリューションモディファイアーの各設定項目について、紹介します。
マルチレゾリューションの設定については、コチラのBlenderリファレンスマニュアルもあわせて参考にしてみてください。
細分化
「モディファイアープロパティ」→「マルチレゾリューション」→「細分化」のメニューで、細分化レベルを調節できます。

「細分化」をクリックすることで、細分化のレベルが上がり、メッシュが細かくなります。

ビューポート、スカルプト、レンダーの細分化レベルはそれぞれコチラに表示されます。

細分化レベルが高くなると、コチラのように処理が重くなるので注意してください。

細分化レベルを下げたい場合は、コチラのように現在の再分割レベルより低い数値を入力します。

ちなみに、スカルプトモードで「細分化」をクリックすると、コチラのようにビューポートの細分化レベルは上げずに、スカルプト・レンダーの細分化レベルだけを上げることができます。
後でマルチレゾリューションをベースメッシュにベイクする場合は、ビューポートの細分化レベルを0にしておく必要があるので、スカルプトモードで細分化レベルを上げることをオススメします。

シンプル/リニア
形状はそのままで、辺を細分化します。
コチラのように、「細分化」をクリックした場合と補間後の形状が異なります。

コチラのように、「シンプル」「リニア」は補間方法が違うようですが、↑の結果を見るとそこまで差はないかと思います。
Simple(シンプル)
スムージングなしで辺を細分化することにより、単純な補間を使用して新しいサブディビジョンのレベルを作成します。
Linear(リニア)
現在のスカルプトされたディスプレイスメントの線形補間を使用して、新しいサブディビジョンのレベルを作成します。
Blender 3.3リファレンスマニュアル https://docs.blender.org/manual/ja/3.3/modeling/modifiers/generate/multiresolution.html
細分化を復元
コチラのように、ベースメッシュの頂点数を減らして、細分化レベルを下げます。

「細分化を復元」してベースメッシュの細分化レベルを下げると、マルチレゾリューションモディファイアーを削除してもベースメッシュは元に戻らないので、注意してください。

高いレベルを削除
「ビューポート」よりも高いサブディビジョンレベルが「スカルプト」「レンダー」に設定してある場合、その高い細分化レベルをすべて削除します。
(細分化レベルの削除は、オブジェクトモードで行う必要があります。)

シェイプ
マルチレゾリューションモディファイアーのベースメッシュを変形する機能です。
ベースに適用
コチラのように、マルチレゾリューションのスカルプトによる変形結果を、ベースメッシュに反映することができます。

再生成
コチラのように、別のメッシュから変形後の頂点の座標をコピーしてくることができます。
コピー元のオブジェクト→コピー先のオブジェクトの順にShiftキーを押しながら複数選択して、「シェイプ」→「再生成」をクリックします。
(コピー元と先のオブジェクトは、トポロジーと頂点インデックスを一致させる必要があります。)

まとめ
「マルチレゾリューションモディファイアー」を使った、スカルプト・ベイクの方法について紹介してみましたが、いかがだったでしょうか?
メッシュを増やさずにディテールを表現できるようになるので、使い方次第でさまざまなシーンに応用できると思います。
まだあまり馴染みのない方も多いかもしれませんが、コチラの記事を参考に表現に役立てていただければ嬉しいです。
最後に、今回のまとめです。
- マルチレゾリューションモディファイアーとは?
→細分化したメッシュをスカルプトできるモディファイアーで、以下の4つの機能がある。- ①細分割曲面を追加して、メッシュを補間する
- ②細分割曲面の形状をスカルプトで変形させる
- ③元のメッシュの形状を、変形させた細分割曲面にフィットさせる
- ④マルチレゾリューションをノーマルマップやディスプレイスメントとしてベイクする
- マルチレゾリューションを使ってスカルプト・ベイクする流れを紹介!
- マルチレゾリューションモディファイアーの追加・設定
- スカルプト
- UV展開
- マテリアルの設定
- ノーマルマップをベイク
- うまくいかないときは?
- スカルプトがうまくいかない→以下を確認
- マルチレゾリューション以外のモディファイアーは全て適用するか削除する
- ベースメッシュに穴がある場合はふさぐ
- マルチレゾリューションの細分化レベルを上げる
- ベイクがうまくいかない→以下を確認
- マルチレゾリューションモディファイアーの「ビューポート」の細分化レベルを0にする。
- 「マルチレゾからベイク」にチェックを入れる。
- シェーダーエディター上で、「画像エディター」が選択されていて、ベイク先の画像が追加・設定されている。
- スカルプトがうまくいかない→以下を確認
- マルチレゾリューションの設定
- 細分化→細分化レベルを調節
- シェイプ→マルチレゾリューションモディファイアーのベースメッシュを変形