Low-Poly Conversion (Remesh and Bake Textures)
Updated: 2026-05*
1. はじめに
ここではポリゴンの削減およびテクスチャのベイク方法を紹介する。
練習として、シーサーデータを利用してポリゴン削減とリメッシュの手順を理解する。

次に自分の人体スキャンデータを用いた手順を紹介する。人体スキャンデータはシーサーデータよりも造形が複雑なため、パラメータを調整する必要がある。

テクスチャベイクのクオリティは、リメッシュ構造やUV展開のクオリティも大きく影響する。Blenderのベイク品質に限界がある場合は、ZBrush等の他のソフトやAddonを利用したほうがよい場合も多いだろう。
参考)リトポロジー専用Addon
今回の演習のポリゴン削減ではBlender標準のRemesh機能を利用するが、リトポロジーを行えばモデルの最適な形状を維持しながらポリゴン数を抑えることができる。Z-Brush等のスカルプトモデリングではポリゴン数を気にせずに造形重視でモデリングを行い、その後リトポロジー(メッシュ再構築)を行うのが一般的な手法となっている。リトポロジーは手動で行うこともできるが、自動でリトポロジーを行うソフトも増えている。
RetopoFlow - Retopology Toolkit for Blender - Blender Market

参考:
2. 練習用シーサーデータの準備
シーサーデータはKibaco経由で配布する。ダウロードしたshiisaa2022.zipを解凍する。下図のようにOBJ、MTL、JPGの3つで構成される。

BlenderでOBJファイルを読み込む。下図のViewport Shadingは Material Preview。

3. ポリゴン削減
3.1 モデルの複製
- 複製(SHIFT+D)して、横に移動
- Outlinerの名称を
lowpolyに変更 - 元のオブジェクトの名称を
highpolyに変更

Viewport ShadingのStatisticsにチェックを入れる。

Viewport左上にオブジェクトの情報が表示される。
- Trianglesの左側: 選択オブジェクトのポリゴン数
- Trianglesの右側: Viewportに表示されているオブジェクトのポリゴン数

3.2 方法① Decimate Modifier(紹介のみ)
DecimateではUVが維持されるのでTextureを残したままポリゴン数を削減できる。Decimateも用途しだいでは問題なく使える。


3.3 方法② Remesh Modifier
今回はTexture Bakeの練習のために、あえてテクスチャが維持できないRemeshを用いる。
- lowpolyモデルを選択して、Remesh Modifierを追加
- Remesh > Voxel > Voxel Size を左右にドラッグして、形状が最低限維持できる状態にする
- 下図ではVoxel Size: 0.0223程度

参考:
3.4 Remeshの適用
Remesh Modifierを適用(Apply)する。

3.5 Smoothing
ハイポリとローポリの両方にShade Smoothを設定する。
両方に必要なので注意。

4. Texture Bake
4.1 Texture Bakeとは
ポリゴン構造が変化することで、テクスチャー構造も変化する。元のUV Mapが使えなくなるため、新しいUV Mapを作成した上でテクスチャを投影し直す。この手法をBakeと呼ぶ。Bakeはローポリ化目的に限らず、Normal MapやBump Map、Generativeなテクスチャ等、ベイクすることでレンダリング時間削減の目的でも行われる。

参考:
4.2 ローポリ用のマテリアルの作成
lowpolyオブジェクトを選択した上で、Material Propertiesパネルを表示する。

shiisaa_metashapeをUnlink(×アイコン)する- 新規マテリアルの作成

4.3 ローポリ用のテクスチャ画像の作成
- Shading Workspaceに切り替える
- Shader EditorでImage Textureノードを追加
- Image TextureノードのColorソケットとPrincipled BSDFのBase Colorソケットを接続

Image Textureノードの「New」をクリック。
- Name:
Baked - Width: 2048, Height: 2048(解像度が高いほどノイズは小さくなるが処理が重くなる)

Image Editorで作成したBakedを読み込んでおく。

4.4 ローポリ用のUV Mapの構築
- UV Editing Workspaceに切り替える
- 下図のように3D ViewportはEdit Modeになっているので、Aキーですべての頂点を選択
- 左のUV EditorにBakedを読み込む
- 下図右下のUV Mapsには何もない=UV Mapは存在しないことが確認できる

UVメニュー > Smart UV Project をクリック。
メモ: Smart UV Projectは機械構造に適しており人体には不向きらしい。Unwrapを使う場合もある。

下図では何も変更せずにUnwrapをクリック。

- UV Mapが作成される
- 下図右下のUV MapsにUVMapが追加されていることが確認できる

4.5 Bakeのためのレンダリング設定
BakeにはCyclesレンダラーを使用(Eeveeでは不可)するので、Render Properties > Render Engine: Cyclesに切り替える。また、以下の複数の設定を行う。
- Render > Max Samples: 1(テクスチャ投影なので処理を軽くするため)
- メモ: 10に設定している事例もある。どの程度の数値でクオリティに差が出るのか不明。
- Render > Denoiseのチェックを外す
- Light Path
- Total: 3
- Diffuse: 3
- Glossy: 3
- Transmission: 3
上記設定値は、YouTube等で調べた方法だが、はっきりとした根拠は不明。

参考:
- Light Pathの設定値: YouTube - Remesh and Optimize your 3D Scans | Blender Tutorial | Texture Baking Tutorial
- Cageの使い方: YouTube - Blender Secrets - Using a Cage for Perfect Baking
続けて、Bakeの設定を行う。
- Bake Type: Diffuse
- Influence > Color のみにチェックを入れる(他を外す)
- Selected to Active にチェック
- Extrusion: 0.1(0.01〜0.1程度)
- オブジェクトの表層の厚み方向のテクスチャの投影範囲
- 人体のように胴体と腕が近いような状況で調整必要(腕のテクスチャが胴体に投影される等が起こる)
- 問題が起こるようならCageの設定も必要

4.6 Bake
- Shading Workspaceに切り替える
- lowpolyオブジェクトを選択して、位置をクリア(Option+G)

メモ: このときにlowpolyオブジェクトのImage Textureノードを選択している必要があると解説しているYouTubeもあるが、選択していなくてもBakeできている。
lowpolyをアクティブな状態(薄いオレンジ)でshiisaa_metashapeと複数選択。
- 方法① Cmdキーを押しながら、shiisaa_metashape(highpoly)、lowpolyの順で選択
- 方法② SHIFTキーを押しながら、lowpoly、shiisaa_metashape(highpoly)の順で選択(Outlinerで連続して表示されている場合のみ)

Bakeボタンを押す。

下図のように処理状況が表示される。MacBook Air 2022で5秒程度でレンダリング完了する。

Bakeが完了して、lowpolyのテクスチャが生成される。

shiisaa_metashapeを非表示にして確認する。MaterialのRoughnessを1.0に設定すると光沢がなくなり、もとのテクスチャのみの表示が可能。

この時点ではテクスチャ画像はメモリにあるだけで保存されていない。Image Editor > Imageメニュー > Save で忘れずに保存する。

必要に応じてOBJデータを書き出す。その際、highpolyは非表示にした状態でlowpoly(位置はリセットした状態)の書き出しを行う。
5. 人体スキャンデータのローポリ化
5.1 人体スキャンデータの準備(調整前)
すでに調整している場合は5.5から始める。

Viewport OverlaysのStatisticsにチェックを入れてポリゴン数を表示しておく。

5.2 不要なものの削除

Edit Mode、X-Rayモードに切り替える。不要な頂点を選択して削除(X)する。
必要なオブジェクトの一部を削除したい場合はDissolve(溶解、Cmd+X)やSculptのスムーズを行う。

5.3 姿勢の調整
私もかなり姿勢が悪くなっていることがわかる。CGなので真っすぐしてもよいだろう。SculptモードのPoseツールで調整できる。

5.4 調整したデータの書き出し
調整したデータは他に利用する場合のためにOBJ等に書き出しておくとよい。MaterialのPath ModeはCopyにしておく。

5.5 調整済モデルの読み込み
Outlinerでハイポリモデルの名称を highpoly に変更しておく。

以降、シーサーと同様なので省略して紹介。
5.6 ローポリ化
Remeshでポリゴン程度に削減する。まず、Voxel Sizeで顔の凹凸や指の状態が維持できる程度に調整する。この時点で15万ポリゴン以上程度。

次にAdaptivityを調整することで、凹凸を維持したまま、凹凸の低い部分のポリゴン数を下げることができる。下図では25,000ポリゴンまで下げている。
- Voxel Size: 0.0122
- Adaptivity: 0.25
設定値によってポリゴンが破綻する場合もあるので、Adaptivityはあまり下げすぎないほうがよい。

lowpoly用テクスチャ画像の作成、UV Mapの作成等を行う。

テクスチャ生成後に破綻している場所があれば、設定値を見直す。

最後にテクスチャ画像の保存を忘れずに行う。highpolyは非表示にした状態でlowpoly(位置はリセットした状態)の書き出しを行う。もしくは、書き出し設定のIncludeをSelection Onlyにする。MaterialのPath ModeはCopyにする。
