今回はUnity 5.6に新しく追加されたSpriteEditorのポリゴン調整機能について。
Spriteとポリゴン
Unityはスプライトを表現する際、QUAD(4頂点の板ポリ)ではなくポリゴンに切り抜いたメッシュを使用して表現します。
これは画面の描画時に塗る範囲を可能な限り削減する手法で、描画面積の削減…特に高解像度なモバイル環境下では非常に効果的に機能します。
例えば下ではFullRect(QUAD)と透過でくり抜いたSpriteのオーバードローを比較します。オレンジの濃い部分は描画的に無駄な部分です。
Quadで描画した方が、透過でくり抜いた絵よりオレンジの部分が多い事が分かります。
ただ、一つSpriteの作るポリゴンには不満があります。それは「高解像度な画像は頂点数が増える」という点です。
例えば黒髪の女の子、1920x1280の解像度を持つキャラクターですが、ポリゴン数が578程あります。そのレベルの解像度を描画するならフィルレートとポリゴンのバランスとして悪くは無いのですが、少々多すぎる気もしなくもないです。
SpriteEditorでポリゴンを削減
Unity 5.6からSpriteEditorでポリゴンの調整が可能になりました。
SpriteEditorのEdit Outlineから調整が可能です。
当初は膨大な頂点があるので、適当に間引き座標を調整して行きます。頂点を範囲選択してDeleteで消せます。全部は消せないので、幾つか適当に残します。
また、頂点と頂点をクリックしてドラッグすれば、新しい頂点を増やす事も出来ます。
穴を空ける
SpriteEditorでポリゴンに穴を空ける事も出来るようになりました。例えば上記のキャラは腕と腰や肩の隙間があります。ここの描画は勿体無いので、ポリゴンに穴をあけます。
ドラッグで範囲を指定すると、四角い穴が空けられます。後は穴の形を調整すれば、透明の部分をくり抜けます。
ちゃんとくり抜くと、頂点数の割に透明な部分を大分減らせます。
関連
その他
最近WarRobotsが面白くてブログサボリ気味。ぐむむ
いっその事「盾コサックへの道」でも書こうかしら