この記事でのバージョン
Unity 6000.1.11f1
はじめに
UnityではMultipleモードを使うことで、1枚の画像に複数のSpriteを設定出来ます。
![]() |
![]() |
サイズなどを指定し、自動で分割も出来るのでかなり便利なのですが、
![]() |
キャラクターの色違いの画像がある場合など、
同じように分割したい場合に全部に設定するのは結構大変です。
![]() |
そんな時に便利な、metaファイルをコピーする方法を以前、紹介したのですが、
![]() |
この方法でもコピーする数が多かったり、後から設定を変えたくなった時にはまだ大変でした。
ということで、テンプレート画像と同じインポート設定をフォルダ内の全テクスチャに自動適用する
エディタ拡張を作ったので、今回はそれの紹介です!
![]() |
TextureImportSettingsSynchronizer
さっそくですが、そのエディタ拡張のTextureImportSettingsSynchronizerのコードです。
これをEditor以下のフォルダに入れて、
TEMPLATE_PATHとTARGET_FOLDERのパスを好きな所に設定すれば準備完了。
//テンプレートと対象フォルダ private const string TEMPLATE_PATH = "Assets/Template.png"; private static readonly string TEMPLATE_BASE = Path.GetFileNameWithoutExtension(TEMPLATE_PATH); private const string TARGET_FOLDER = "Assets/Textures/Target";
例えば上記の設定のままだと以下のような感じで、自動で設定を同期します。
(対象のフォルダに入れた時に設定がコピーされる感じ)
![]() |
また、上部のメニューのToos/Sync Texture With Templateを押すことで、
テンプレ画像の設定を、対象フォルダ内の画像全てに後から反映することも可能です。
![]() |
なお、完全に透明な画像の分割はしないようにしてるので、
![]() |
もし透明な画像も分割したい場合は、以下をコメントアウトなどで無効にしてください。
//透明チェック、完全透明はスキップ if (IsRectFullyTransparent(rawTex, s.rect)) { continue; }