gg三浦 様
お世話になっております。SS6Player for Unity担当です。
> また、インポートによって生成される画像だけを他プロジェクトに移動したところ圧縮が問題なく効いたため、アニメーション関連の設定によって変更が効かないのではないかと考えております。
端的には、SS6Player for Unity(以降SS6PU)ではこのような制限をかけていないはずです。
直接テクスチャをフォルダなどにドロップした場合などと比較して、特別な設定をしているとすれば、(テクスチャインポータのInspector上での項目としては)
- 「Texture Type」が「Sprite (2D and UI)」になっている。
- 「Sprite Mode」が「Multiple」であるとともに「Packing Tag」が設定されている。
- 「(Advanced内)Generate Mip Maps」がチェックされていない。
1はビルドターゲットの制約やテクスチャ形式によっては、テクスチャがPOT(2のn乗ピクセル幅)で正方形しか使用できない場合などがあり、その際にUnityが自動的にテクスチャを補正するのですが……それで不都合な伸張が起こらないようにこのTypeに設定されています。
※基本的にテクスチャがPOTでない場合、動作機種などによっては正常動作しない場合があるので、できるだけPOTにすることを推奨しています。
2は主に「Convert to Unity-Native」モードでインポートした場合に使用される項目(スプライトの取扱の設定)なので、「SS6Player」モードではほぼ無視していただいて結構です。
3は通常SpriteStudioのデータにMip-Mapをかけることはしないと思われるので、チェックを外しています。
その上で、例えば当方でSS6のデータをSS6PUにインポートしたテクスチャの圧縮に関するインスペクタを出してみますと(インポート時の各種設定はデフォルトのままです)……
下記のように、各プラットフォーム毎で使用可能なテクスチャ方式が出現します。
これらの圧縮形式が出てこないということでしょうか?
※もしそうであるなら、何か(SS6Playerとは)別の要因な気がします。
一応、圧縮形式が出てこないものについて、下記を検証してみていただけないでしょうか?
- PNGなどの汎用フォーマットであるか?(BC圧縮などの機種依存する形式ではないか?)
- POT(テクスチャのピクセル幅が2のn乗)テクスチャである(必ずしも正方形である必要はありません)。
- チャンネル(画像の色ビット深度)が8bit画像である。
※ただ、上記でなかったとしても圧縮形式の選択ができないことはないと思いますが……。
また、これは蛇足ではあるのですが……念のため。
昨今のGPUハードウェアでの圧縮形式は、ほとんどの場合「圧縮後のファイルサイズは一定」であることが多いです。
※BC圧縮(DXT含む・大抵の場合、非圧縮画像の1/4)・PVRTC圧縮(非圧縮画像の1/6か1/12)・ASTC圧縮(?x?でのブロックサイズによって圧縮率が変わります)など。
以上となります。
お手元の詳細な状況がわからないので、テンプレート的な内容になってしまい、申し訳ございません。
何卒今後ともよろしくお願いいたします。