この記事でのバージョン
Unity 2018.2.5f1
はじめに
今回は1クリックで3Dモデルのポリゴンを削減するMesh Simplifyというアセットの紹介です!
Mesh Simplify - Asset Store |
イメージとしては以下のような感じ。
なお、本記事に出てくる3Dモデルは以下のものを使っています。
The Starfighter | 3D Space | Unity Asset Store |
Riko | 3D Humanoids | Unity Asset Store |
ポリゴン数を削減
さっそく本題のポリゴン数を削減する方法ですが、
Mesh SimplifyをAddし、Vertexで削減後のポリゴン数を%で指定したら、
Compute meshボタンを押すだけ。
これだけでMesh SimplifyをAddした
オブジェクトやその子以下のオブジェクトに付いてるMeshのポリゴンを削減してくれます!
(MeshRendererでもSkinnedMeshRendererでもOK)
また、どれだけ削減したかもMesh Simplifyで確認出来ます。
(左が削減後、右が削減前)
ちなみに元のメッシュが変更されているわけではないので、
Restore Original Meshボタンを押せば削減前のMeshにすぐに戻せますし、
Preview Original Meshにチェックを入れる事でオリジナルのMeshを表示出来るので、
削減前後のポリゴンの比較も簡単に行えます。
設定と保存
デフォルトでは子以下にあるオブジェクトのMeshも削減しますが、
Mesh SimplifyをAddしたオブジェクトだけを対象にしたい場合はRecurse Into Childrenを無効にします。
また、デフォルトでは削減後のメッシュはファイルとして保存していませんが、
Enable Prefab Usageを有効にすると、削減後にメッシュを保存するようになります。
(有効にした時のどこに保存するか聞かれる。)
ただし、メッシュの保存には時間がかかるので、
最初は無効にして、どれぐらい削減するか調整し、最後に保存するという感じなると思います。
なお、残りの設定の意味は以下の通りです。
どれもポリゴン削減時に出来るだけ見た目を維持しようというものなので、基本的に有効で大丈夫です。
- Use Edge Length : エッジの長さを考慮に入れる
- Use Curvature : 三角形の間の角度を考慮入れる
- Protect Texture : マッピングの整合性を維持しようとする
- Keep Borders : オブジェクトの境界線を形成する頂点を維持しようとする
ポリゴンをより減らす、または減らさない部分を指定
Mesh Simplifyはポリゴンをより減らす、または減らさない部分を指定する事も可能です。
やり方はVertex Relevance Modifiersを開いた所にあるAdd New SphereでSphereを生成し、
Sphereのサイズや場所、Relevanceを調整するだけ。
SphereはScene上で確認でき、青い球が影響範囲で赤い点が影響する頂点です。
なお、Relevanceの値が大きいほど影響が大きくなり、
正の値だとポリゴンを減らさないように、負の値だとより減らすようになります。
おわりに
そこそこな値段はしますが、簡単で使いやすい良アセットでした!
ポリゴン減らしたくない所、より減らしたい所を直感的に指定出来るの点や、
Unityエディタ上だけで完結する点も最高です……!
Mesh Simplify - Asset Store |