Closed omachi closed 9 years ago
アニメーションデータに含まれる配列は、連続して同じ値をもつことが多いため、連長圧縮をかけて容量を減らすよう修正します。 圧縮配列はCompressedXXXArrayクラスで処理しており、通常の配列のようにインデックスでアクセスできるようになっています(二分探索するため、計算量はlog n)。
データに互換性を持たせるため、通常の配列と圧縮配列のどちらかにデータが存在すれば動くようになっており、以前のデータも再インポートせずにそのまま動くようにしました。
圧縮処理のタイミングとしては、sspjインポート時に圧縮されるほか、インスペクタで圧縮/非圧縮を切り替えることができます。
また、Calculate in advanceでインポートしたデータの場合、MeshAliesの参照が変化しているかどうかをチェックし、変化がない場合はMeshを書き換えないようにして処理速度を改善しています。
変更点が多いため、このまま取り込むのは難しいと思いますが、将来的な更新の際にお力になれば幸いです。
ありがとうございます。反映させて運用してみたいと思います。
ISSUE
FIX
圧縮
アニメーションデータに含まれる配列は、連続して同じ値をもつことが多いため、連長圧縮をかけて容量を減らすよう修正します。 圧縮配列はCompressedXXXArrayクラスで処理しており、通常の配列のようにインデックスでアクセスできるようになっています(二分探索するため、計算量はlog n)。
データに互換性を持たせるため、通常の配列と圧縮配列のどちらかにデータが存在すれば動くようになっており、以前のデータも再インポートせずにそのまま動くようにしました。
圧縮処理のタイミングとしては、sspjインポート時に圧縮されるほか、インスペクタで圧縮/非圧縮を切り替えることができます。
速度改善
また、Calculate in advanceでインポートしたデータの場合、MeshAliesの参照が変化しているかどうかをチェックし、変化がない場合はMeshを書き換えないようにして処理速度を改善しています。
Note
変更点が多いため、このまま取り込むのは難しいと思いますが、将来的な更新の際にお力になれば幸いです。