SpriteStudio / SS5PlayerForUnity

OPTPiX SpriteStudio 5 Player for Unity
http://www.webtech.co.jp/spritestudio/
MIT License
39 stars 15 forks source link

アニメーションデータの圧縮処理 #124

Closed omachi closed 9 years ago

omachi commented 9 years ago

ISSUE

 アニメーションデータに含まれる配列は、連続して同じ値をもつことが多いため、連長圧縮をかけて容量を減らすよう修正します。  圧縮配列はCompressedXXXArrayクラスで処理しており、通常の配列のようにインデックスでアクセスできるようになっています(二分探索するため、計算量はlog n)。

 データに互換性を持たせるため、通常の配列と圧縮配列のどちらかにデータが存在すれば動くようになっており、以前のデータも再インポートせずにそのまま動くようにしました。

 圧縮処理のタイミングとしては、sspjインポート時に圧縮されるほか、インスペクタで圧縮/非圧縮を切り替えることができます。

2015-05-25 13 54 28

速度改善

 また、Calculate in advanceでインポートしたデータの場合、MeshAliesの参照が変化しているかどうかをチェックし、変化がない場合はMeshを書き換えないようにして処理速度を改善しています。

Note

 変更点が多いため、このまま取り込むのは難しいと思いますが、将来的な更新の際にお力になれば幸いです。

DKAlpha commented 9 years ago

ありがとうございます。反映させて運用してみたいと思います。