[unity 2022]Source Texture of Sprite is using compressed format. To ensure no loss in source pixel details when packing to SpriteAtlas, please use uncompressed format in TextureImporter.

2021 から 2022 へのアップデート時、このメッセージが大量に表示されました。
このメッセージの対処方法について説明します。

SpriteAtlas 配下のスプライトは非圧縮にすること

Unity Technologies の返答を日本語訳したところ、SpriteAtlas 配下にある Sprite は非圧縮にしてほしいようです。

はい、スプライトのソーステクスチャがSpriteAtlasの一部である場合、非圧縮形式を使用してください:

1) スプライトがSpriteAtlasの一部である場合、SpriteAtlasのテクスチャのみが配布されます。
2) SpriteAtlas テクスチャがパックされるとき、ソース テクスチャの元のピクセルをフェッチする必要があります。それらが圧縮されている場合、これは通常解凍を含み、圧縮されたフォーマットによっては非可逆ピクセルになるかもしれません。
3) スプライトが SpriteSheets の一部である場合、圧縮形式によってはアーティファクトが発生する可能性があります。
4) また、解凍を伴わないため、SpriteAtlasのパッキングを高速化します(解凍に時間がかかるフォーマットもあります)。

そのため、ソーステクスチャには非圧縮フォーマットを使用し、SpriteAtlasには希望の圧縮フォーマットを使用することを常に推奨します。

Unity Technologies

SpriteAtlas 作成時に、個々の Sprite 圧縮を解凍して SpriteAtlas 画像を作ってしまうので、見た目がピクセルパーフェクトにならず、処理の時間もかかる、とのこと。

2022 で警告が出るようになりましたが、2021 以前も警告が出ないだけでこの問題は抱えていたのかもしれません?

現状 Unity 初心者を除けばほとんどの Sprite は単体で使われず SpriteAtlas 化することが多いと思いますので、Sprite は基本非圧縮と考えておいた方がいいかもしれません。

Sprite の情報を一括変換する方法は以下で紹介しました。併せてご覧ください。


返信を残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

CAPTCHA