モデリングのリカバリ方法(細分化モディファイア編)

皆さんオハスコリカ🎄黒城ナディアです。
本記事はBlender Advent Calendar 2023 10日目の記事です(すみません、作成途中です)。

モディファイアのリカバリだけでなく、ポリゴン数削減などを行う際にも役立ちます

細分化モディファイア(Subdivision Surface)のリカバリ

細分化モディファイアを適用すると
どのような仕組みなのかはKhan AcademyのPixarの講座がわかりやすいです。
https://www.khanacademy.org/computing/pixar/modeling-character/modeling-subdivision/pi/interactive-subdivision-in-3d

細分化モディファイアにつきまとう問題は、やはり頂点数の増加でしょうか。
頂点数が多いと編集に手間がかったり、書き出しのパフォーマンスに影響を及ぼす可能性も出てきます。
今回は手元に細分化モディファイア適用後のモデルしかないような状態でどのようにリカバリすればいいか、考えていこうと思います!
※プレビューや動画書き出しの際は基本的にモディファイアは適応済みの方がパフォーマンスが上がります。

以下のやり方があると思います。

  1. ループ選択+辺を溶解
  2. Un-Subdivide
  3. Decimateモディファイア

①ループ選択+辺を溶解

Altキーを押した状態で辺を右クリックすると(ループ選択)
この選択方法はShiftキーとも組み合わせられるため、削除したい辺を連続して選択できます。
地道に辺を選択→Xキー[削除]メニューより、[辺を溶解]を選択するとその辺が溶解(面を消さずに削除)されます。
細分化された辺を選択する基準ですが、基本的に四各面で構成されたモデルを細分化した場合、辺を1つおきにループ選択するとちょうど細分化される前の辺を残すことができます。

{細分化後のモデルの辺の選択方法}

3角化済みのモデルに関してはこちらの方法は使えないため、②と③を試すことになります。

②Un-Subdivide

Un-Subdivide操作によっても
削減したい頂点を選択した状態でAlt+Eキーで表示されるメニューから[Un-subdevide](分割の復元)を選択します。
[Iteration](反復)はかけた細分化モディファイアの分割数x2を設定します。
感覚的には一回のUn-Subdivide細分化モディファイアを1回かけた分の量の頂点が間引かれます。

③Decimateモディファイア

もう一個の方法は、モディファイアメニューから[Decimate](間引き)モディファイアを適用することです。
モディファイアのサブメニューから[Un-Subdivide]のトグルボタンをクリックすると、Un-Subdivideメニューと同じようにポリゴンが間引かれた状態になります。
②と同様に[Iteration]にて反復回数を細分化モディファイアの分割数x2にすると細分化前の頂点数に近くなります。
最後に▼ボタンを押すと表示されるメニューより[Apply]を選択するとモディファイアが適用されます。

①は一つ一つ手作業で作業することになるため、頂点数が多いモデルには相性が悪いですが、狙った辺・頂点を間引くことができます。

Un-SubdivideとUVシーム


UVの配置は保たれますが、②と③の場合テクスチャの見た目が恐ろしいことになります。
シームで分けられていた領域が
UV編集画面を見てみるとわかる通り、一度切断したシームの間の辺が復活してしまうためにテクチャの想定外の部分を跨いでしまいます。

[シームでテクスチャが汚くなる絵]

残念ながら一度切ったシームがUn-Subdivide操作で消えてしまうため、手動でシームの切り直しとUVの修正が必要となってしまいます。

解決方法

解決方法と言っても強引ですが、以下の方法を使えばあまりUVをいじらずにリカバリできるのではないかと思います。
・シームごとにメッシュを別オブジェクトに分離
・②または③の方法で頂点を間引く
・オブジェクトを一つにまとめる(Ctrl+J)
・分離した頂点を結合する

編集モードにて、Lキー(選択)で頂点を選択し、左下メニューより[seam]のトグルボタンを選択します。
シームで囲まれた部分のみが選択されるので、Pキー(オブジェクトを分離)で別オブジェクトにします。
次に、オブジェクトモードにて分離したオブジェクトのみを選択し、頂点の間引きを行います。
その操作を全てのシームに対して行い、Ctrl+Jキー(オブジェクトの結合)で一つのオブジェクトにまとめます。
最後に、間引き実行後のオブジェクトに対して編集モードにてAキー(全て選択)してMキー(頂点のマージ)を選択
メニューよりマージ方法を[Distance]、マージ距離を適切な値に設定します。
以上の操作により分離された辺同士をマージして頂点を削減することができます。

こちらもシームで区切られた領域が多いと結局作業量は多い気がしますね。。。

参考

コメント

タイトルとURLをコピーしました