概要
[MenuItem( "hoge/hoge" )] private static void Hoge() { var assetPath = "Assets/New Sprite Atlas.spriteatlas"; var spriteAtlas = AssetDatabase.LoadAssetAtPath<SpriteAtlas>( assetPath ); var packingSettings = spriteAtlas.GetPackingSettings(); packingSettings.enableRotation = !packingSettings.enableRotation; spriteAtlas.SetPackingSettings( packingSettings ); var textureSettings = spriteAtlas.GetTextureSettings(); textureSettings.readable = !textureSettings.readable; spriteAtlas.SetTextureSettings( textureSettings ); }
Sprite Atlas V1 であれば上記のようなコードでパラメータを変更できる
[MenuItem( "hoge/hoge" )] private static void Hoge() { var assetPath = "Assets/New Sprite Atlas.spriteatlasv2"; // ★ 拡張子を変更 var spriteAtlas = AssetDatabase.LoadAssetAtPath<SpriteAtlas>( assetPath ); var packingSettings = spriteAtlas.GetPackingSettings(); packingSettings.enableRotation = !packingSettings.enableRotation; spriteAtlas.SetPackingSettings( packingSettings ); var textureSettings = spriteAtlas.GetTextureSettings(); textureSettings.readable = !textureSettings.readable; spriteAtlas.SetTextureSettings( textureSettings ); EditorUtility.SetDirty( spriteAtlas ); // ★ SetDirty も試してみる }
Sprite Atlas V2 だと上記のようなコードを実行してもパラメータが変更されなかった
SetDirty をしても反映されなかった
検証環境
- macOS Monterey バージョン 12.5.1
- Unity 2022.1.11f1