こんにちは!
皆さんはモデルの頂点数が多くて困ったことはありませんか?
クオリティの高いモデルを作ろうとすると、どうしても頂点数が多くなってしまいます。
そこで今回は、リトポロジーという処理を行って、ハイポリゴンなモデルをローポリゴンなモデルに変換する方法を紹介します!
場面ごとの適切なポリゴン数やその影響については、以下の記事にも記載されているので、是非ご覧ください。

リトポロジーとは
近年、モンスターや人物など、自然物をモデリングする際は特に「スカルプト」という手法が用いられることが多いです。

しかし、スカルプトで作られたモデルは、ポリゴン数が多くゲームなどでそのまま使用することが出来ません。
そこで、リトポロジーという処理を行い、ポリゴン数を減らします。

同時に、ポリゴンの流れをスムーズにすることで、より使いやすいモデルになります。
物体のエッジに沿ったポリゴンや、筋肉の流れに合わせて作られたポリゴンのことを、「ポリゴンの流れがスムーズ」「トポロジーが綺麗」と表現します。

ポリゴンの流れをスムーズにすることにはたくさんのメリットがあります。
- サブディビジョンサーフェスをかけたときにエラーが起きにくい
- スキニングがしやすく、アニメーションをさせた際に破綻が少ないリスト
それでは、実際にリトポロジーを行う方法について紹介します。
今回は、こちらのサイトから3Dモデルをお借りしました。

モディファイアで頂点数を削減
Blenderの〔デシメートモディファイア〕を用いて頂点数を削減することが可能です。

しかし、自動で頂点数を削減してくれますが、ポリゴンの流れは汚くなってしまいます。
そのため、キャラクターのモデルなど、リギングを行い動かす必要があるモデルには適していません。
詳しい機能や使い方に関してはコチラの記事で紹介しているので、ぜひ読んでみてください!

外部アプリケーションで全自動リトポロジー
Blenderのみを用いて、完全に自動でリトポロジーを行う方法は(おそらく)ありません。
しかし、自動でリトポロジーを行う「Instant Meshes」というフリーソフトが公開されています。
インストールは、こちらのサイトの下の方から、Pre-compiled binariesから適切なOSを選択します。

まずは、リトポロジーを行いたいモデルを.obj形式でエクスポートします。
「Instant Meshes」を起動し、これを〔Open mesh〕から開きます。

次に、赤枠の位置からリトポロジー後の頂点数を入力し、〔solve〕をクリックします。

次に、その下の〔Position Field〕の下にある〔Solve〕をクリックすると、リトポロジーされたメッシュが表示されます。

この際、黄色枠で囲った櫛のマークから、ポリゴンの流れを指定することが出来ます。
モデル上に直接マウスドラッグを行い、ポリゴンの方向を指定します。

これを、〔Export Mesh〕からエクスポートし、Blenderに読み込んだものがこちらです。

非常に簡単に自動でリトポロジーを行うことが出来ました!
手動でリトポロジー
自動で行うリトポロジーにはどうしても限界があり、自分の手でリトポロジーを行う必要が出てきます。
そこで、できるだけBlenderの標準機能を使いながら、モデルのリトポロジーを行う方法について簡単に紹介します!
スナップ設定
モデルの表面にポリゴンを1つづつ貼っていくわけですが、目分量でモデルの表面に頂点を移動するのは難しいです。
そこで、まずは「自動で頂点をモデルの表面にスナップする」設定を行います。

ビューポートから、磁石マークで〔スナップ〕を有効にし、その隣のアイコンから赤枠のように設定を行います。
これによって、移動した頂点が自動でモデルの表面に張り付くようになります。

動画では、見やすいように張り付けたオブジェクトを最前面表示しています。
シュリンクラップを使って目張り
このままではメッシュが非常に見づらいので、〔シュリンクラップモディファイア〕を使用します。
このモディファイアは、オブジェクトをオブジェクトの表面に接地させるモディファイアーです。
例えば、このような適当なリストバンドも、モディファイアで腕にぴったり巻き付けることが出来ます。

詳しい使い方はこちらの記事を参照してください!

これを張り付ける側のモデルに適用し、適切なオフセットを選択します。
オフセットが大きくなるほど、張り付けられる側のモデルの表面から離れていきます。

必要なオフセットの大きさはモデルのサイズによりますが、モデルから離れすぎず、見やすい位置にポリゴンが来る値を使用しましょう。
うまく表示されない場合は、ポリゴンの裏表などを確認してみましょう。
〔目張り〕や〔ループカット〕を使いながら、モデルのエッジや筋肉の流れに沿って面を張っていきます。

シュリンクラップの問題点
シュリンクラップの機能を見ると、先ほどのスナップの設定は必要ないように感じます。
しかし、シュリンクラップモディファイアのみでは、表示されているポリゴンと、実際のポリゴンの位置が大きく異なるため、意図しないズレが発生することがあります。
そのため、こまめにシュリンクラップを〔適用〕し、表示位置と実際の位置を合わせてから、再度シュリンクラップを追加する処理を行う必要があります。
これを自動で行うアドオンも公開されているので、是非試してみて下さい。

ポリゴンの穴を埋める
モデルにのエッジ部分に面を張っていく際、以下のような輪になっているエッジを心掛けましょう。

上の例では、上下に頂点が6つ、左右に頂点が3つの四角で表すことが出来るエッジループをしています。
こういった形になるように面を張り、〔グリッドフィル〕で一気に穴を埋めてしまいましょう!

輪になっているエッジを選択し、Ctrl+Fから〔グリッドフィル〕を実行します。
表示されるポップアップから、適切なスパンとオフセットを探します。

そうして、全体にポリゴンを張ったものがこちらです。

もともとの頂点数24,138に対して、右側のリトポロジーを行ったモデルは頂点数632と大幅に小さくなっており、ポリゴンの流れも綺麗になっていることがわかります。
ポリゴンの流れを整える
今のところ、手動でリトポロジーを行ったため、頂点の位置が少しガタついています。
そこで、スカルプトツールの〔スライドリラックスブラシ〕を用いて、頂点の位置を滑らかにしていきます。
スカルプトモードに入り、〔スライドリラックス〕を選択します。
この時、DyntopoがONになっていないことに注意しましょう。

その状態でShiftキーを押しながらメッシュをなぞると、体積を維持したまま頂点を滑らかに移動してくれます。
この際、ワイヤーフレームを表示する設定にするとわかりやすいです。

そうして、リトポロジー完了です!

ローポリモデルにノーマルマップテクスチャをベイク
次に、リトポロジーによって作成したローポリモデルに、ハイポリモデルの凹凸を転写し、よりもとのモデルに近づけます。
凹凸の転写には、ノーマルマップというオブジェクトの法線情報を記録したテクスチャを使います。

凹凸があるだけで、モデルのリッチ感が全然違いますね!
見た目をほぼ変えずに、頂点を大幅に削減することが出来ました。
ワイヤーフレームを見てみても、頂点数やトポロジーの違いが判ります。

ノーマルマップの転写の具体的な方法については、以下の記事を参照してください。

このモデルに適用するにあたって、自分がつまずいたポイントをまとめておきます。
- ノーマルマップのベイクは、cycleレンダーでしか行えない
- ローポリモデルは、ハイポリモデルを完全に覆い隠す形にしてからベイクする必要がある。
マルチレゾリューションを使ったワークフロー
「マルチレゾリューションモディファイアー」とは、一言でいうと「メッシュを細分化してスカルプトできるようにするモディファイアー」です。
「細かいディテールを表現したいけど、メッシュの分割数は少なく抑えたい」という場合に、マルチレゾリューションが役に立ちます。

例えば、コチラの3つの貝殻は同じように見えますが、いちばん左側はボクセルリメッシュしてスカルプトしたもの、真ん中はマルチレゾリューションでスカルプトしたもの、いちばん右側はマルチレゾリューションをテクスチャにベイクしたものです。
マルチレゾリューションをベイクすることで、頂点数を13000→600と、約20分の1にまで少なくできました。
こちらのマルチレゾリューションを使用したワークフローについて知りたい人は以下の記事を参考にしてみてください。

リトポロジーに便利なアドオン
次に、リトポロジーをより効率的に行うアドオンについて紹介します。
Retopoflow
リトポロジーに関するさまざまなツールがまとめられている有料アドオンです。

しかし、無料版が公開されています!
こちらは非商用利用のみ使用可となっております。商用利用する人は購入後に使用しましょう。
こちらも、画面上にラインを書いてメッシュを張ったり、目張りや穴埋めの操作を直感的に行えるツールが組み込まれています。
Speed Retopo
Blenderで書いたラインに沿って自動でリトポロジーを行ってくれるアドオンです。
先ほどは目張りやシュリンクラップなどの機能を使ってメッシュを張りましたが、こちらのアドオンを使うことで作業を効率化することができます。
こちらのページで販売中なので、気になる人は購入してみましょう。
Lazy Retopo
前節で行ったことに近い処理をまとめて行うことが出来る有料アドオンです。
リトポロジーの際の紛らわしい設定などをまとめて行ってくれます!
こちらの記事で使用方法などを解説しているので、参考にしてみてください。
まとめ
今回は、ハイポリモデルをリトポロジーする様々な方法について紹介しました。
どの方法でも基本的な考え方は変わりません。
自分に合った方法で、リトポロジーを行い、美しいモデルを作りましょう!
コメント
コメント一覧 (2件)
記事の間違いというよりSpeed Retopoが更新されて、無料じゃなくなりました。現在有料5ドルで購入しないとインストできなく(使えなく)なりました。日本円で多分670円くらいかと思います。そうです…ただの報告です。失礼しました
記事読んでいただいてありがとうございます。
有料になったのですね。
なかなか気付きにくいので、報告ありがたいです、、!
今後とも”Vtuber解剖学”をよろしくお願い致します!