Amazon11/12まで!スマイルSale開催中!セール会場へ

UnityのPreset Manager|画像インポート設定・Filter・既存素材への適用

新しく追加するUI画像のTexture TypeやPixels Per Unitをそろえるなら、TextureImporterのPresetを作り、Preset Managerへ登録します。

Presetのファイル名だけではPNG限定にならず、既存の画像へReimportするだけでもデフォルトPresetは適用されません。

適用する項目と画像の範囲を先に決めます。

手順の参照はUnity 6.3 LTS(6000.3)の公式資料です。

既存画像の操作環境はUnity 2020.1系で、今のInspectorの表示名とは異なる場合があります。

この改稿でUnity Editorを操作し、インポートやFilterの一致を実行確認したわけではありません。

以下の少数素材で期待値を照合してから実プロジェクトへ設定してください。

目次

PresetとPreset Managerの違い

条件・症状手順・確認する結果
Preset AssetImporter等の設定値を保存して別の対象へコピーする。適用後の対象とPresetは自動連動しない。
Preset Manager新しいAssetのインポートやComponent作成等で使うデフォルトを管理。型・Filter・適用順を指定する。
既存画像デフォルトを登録/変更しただけで更新されない。選んだImporterへ明示適用するか、Resetの範囲を確認する。
今回の対象TextureImporterの画像インポート設定。Sprite Atlasへまとめる作業やPrefabの階層生成は別の記事。
スポンサーリンク

1. 小さい確認用フォルダーと基準画像を用意する

  1. Assets/PresetTest/UIとAssets/PresetTest/Otherを検証用に用意し、少数のコピー画像で試します。元画像やImport設定の変更前状態をバージョン管理等へ残します。
  2. UIへ使う基準画像をProjectで選び、Texture Type=Sprite (2D and UI)に設定します。Sprite Modeは1枚を1SpriteとするSingleか、切り出すMultipleかを目的で選びます。
  3. Pixels Per Unitはプロジェクトの寸法に合わせます。たとえば100を使うなら、その値を今回の期待値とします。元記事の1をすべてのUIに推奨する意味ではありません。
  4. Filter Mode・圧縮・Max Size・Read/Write・sRGB・Platform Override等をどこまで共通化するか決めます。無関係なImporter設定まで上書きしないよう、次の部分Presetを確認します。

2. TextureImporterのPresetを作成する

基準画像のImport設定を決め、必要なApplyを行ってからPresetを保存します。

Unity 6.3のPreset作成資料はPreset selectorからCreate Newを選ぶ手順です。

旧画像のSave current to…と現在の表示を取り違えないでください。

  1. Projectで基準画像を選び、Inspector右上のPreset selector(スライダー形のアイコン)を開きます。
  2. Create NewからAssets内へ.presetを保存します。例はAssets/Presets/UITextureImporter.presetです。Presetsというフォルダー名やPng_Importerというファイル名自体に適用条件はありません。
  3. 保存したPresetをProjectで選び、Importerの型がTextureImporterであること、必要な値が保存されていることを確認します。

次の2画像はUnity 2020.1系の作成・保存資料です。

現在のCreate Newを操作した証拠ではありません。

インスペクター右上のプリセットアイコンをクリックして開くメニューを示す画面。
アセッツフォルダ内にプリセットファイルを保存する手順を示す画面。

3. 必要な設定だけを適用する部分Preset

同じPresetへTexture Typeだけ保存したつもりでも、ほかのImporter項目が含まれていれば同時に変わることがあります。

Presetの作成後、公式の部分適用手順に従ってプロパティをExclude Propertyで除外できます。

必要な共通値を残し、個別に保ちたい設定を除外します。

  1. PresetをInspectorで開き、対象の共通値と個別値を確認します。
  2. 個別に保ちたい項目を右クリックしてExclude Propertyにします。まとまった除外が必要ならInclude/Exclude all propertiesと個別項目を組み合わせます。
  3. すでに別の値を持つコピー画像へ手動適用し、対象値だけが変わり、除外した設定が残るか確認します。保存済みPresetを後で編集しても、以前適用した画像は自動更新されません。

4. Preset Managerへデフォルトを登録する

  1. Edit > Project Settings > Preset Managerを開きます。Add Default PresetからImporter/TextureImporterの型を選びます。
  2. TextureImporterのPreset欄へ作成したPresetを設定します。PresetのInspectorからAdd to defaultを使う方法も公式にあります。
  3. Filterを設定する前に、TextureImporterのほかのデフォルト設定がないか確認します。Filter空欄は対象型全体へ適用する広い設定になるため、3D用Texture等が同じ対象へ入らない条件を決めます。
  4. 複数のPresetが条件に合う場合は上から下の順に適用され、下側が上側の値を上書きし得ます。全Preset/Filterの組合せを確認します。必要ならチェックを外して一時的に無効化します。

次は旧Add TextureImporter defaultの画面です。

現在の表示名はUnity 6.3 Preset Manager資料で確認してください。

インスペクターでボタンをクリックしてプリセットをデフォルト設定に追加する手順を示す画面。

5. Filterの候補と対象外画像を確認する

公式のFilter資料にあるglob構文はglob:"検索パターン"で、大文字・小文字を区別します。

*は1つのパス部分、**はフォルダー/子フォルダーを含む指定です。

拡張子だけ、特定フォルダー直下、子フォルダー込みは別条件です。

例として検証用フォルダー直下のPNGだけなら、glob:"Assets/PresetTest/UI/*.png"をFilter候補にします。

これは公式構文を基にした未実行の例です。

使用版と実際のAssetパスで一致を確認し、対象外画像まで変わる場合はPresetを一旦無効化してFilterを修正します。

子フォルダーも必要な場合は公式の**の例を参照し、別の期待値で試してください。

プリセットマネージャーでフィルター設定を行い適用条件を絞り込む画面。
条件・症状手順・確認する結果
新規UI/Icon.png設定した対象値(例Sprite/Single/PPU100)が入ることを確認。
新規Other/Texture.pngUI用Presetが適用されず、意図した他のImporter設定が保たれることを確認。
新規UI/Icon.PNG・UI/Sub/Icon.png大文字拡張子と子フォルダーを別々に試す。上の直下*.png候補の対象にするかを決める。
既存UI/Old.pngデフォルト登録やReimportだけで変わったと判断しない。手動適用の手順と比較する。

6. 既存画像へ適用する:Reimportとの違い

Unity 6.3の公式資料は、既存AssetへReimportしてもデフォルトImporter Presetを適用しないと説明しています。

既存画像は選択したImport設定のPreset selectorから明示的にPresetを適用します。

複数選択時もImporterの型と対象数を確認し、少数で値を照合してから増やします。

  1. 既存のコピー画像1枚を選び、変更前のTexture Type/PPUと個別設定を記録します。
  2. InspectorのPreset selectorから対象Presetを選びます。適用後の値と、除外した値が保たれたかを確認します。必要なApplyを行います。
  3. Preset Managerのデフォルトを使うResetも公式に記載されていますが、ほかの初期値/一致するデフォルトを含めて変わり得ます。特定の2項目だけを変更したいときは、部分Presetの明示適用を先に試します。
  4. SceneでSpriteの寸法、表示、アニメーションやUIの参照を確認し、保存して再読込します。PPUやSprite Modeを変えることで、見た目の大きさや切り出しの条件が変わる場合があります。

設定が効かない・範囲が広すぎるとき

条件・症状手順・確認する結果
新規画像に適用されないPresetの型、デフォルト有効チェック、Filterの実パス/大文字、適用順、別AssetPostprocessorの処理を確認。
旧画像が変わらない新規インポートと既存Reimportを区別。Preset selectorから明示適用する。
3D画像までSprite化空Filterや広い条件、他のPresetを確認。一旦無効化し、対象外の新規コピー画像も試す。
個別圧縮等が変わる部分Presetの除外と後続Presetの上書きを確認。変更前の.meta/設定記録から戻す。
Preset変更が既存へ反映されない適用は設定コピーで、Presetとの自動連動ではない。必要な対象だけ再適用する。

Presetを削除する前にデフォルト登録を無効化/解除し、将来の新規画像への適用を止められるか確認します。

すでに変えた画像の設定は解除だけで戻りません。

変更前のImporter設定や.metaを復元し、表示を確認してください。

今回の実行確認は未実施です。

Unity版、Presetの保存項目、Filter、複数Presetの順序、新規/既存/対象外の画像と前後の値を記録すれば、条件を変えたときに再確認できます。

画像をまとめる用途はSprite Atlasのガイド、UIの寸法はCanvasのガイドへ。

環境設定の記事は、ほかにもあります。

スポンサーリンク

よくある質問:UnityのPreset Managerで画像インポート設定をそろえる

PresetとPreset Managerは、何が違いますか?

Presetは、AssetImporter等の設定値を保存して別の対象へコピーするもので、適用後の対象とPresetは自動連動しません。

Preset Managerは、新しいAssetのインポートやComponent作成等で使うデフォルトを管理し、型・Filter・適用順を指定します。

既存画像は、デフォルトを登録・変更しただけでは更新されません。

新しく追加するUI画像の設定をそろえるには?

TextureImporterのPresetを作り、Preset Managerへ登録します。

記事では、Texture TypeやPixels Per Unitなどをそろえる例を挙げています。

Presetのファイル名だけではPNG限定にならず、適用する項目と画像の範囲を先に決めます。

Presetの一部の設定だけを適用できますか?

はい。

公式の部分適用では、PresetのプロパティをExclude Propertyで除外できます。

必要な共通値を残し、個別に保ちたい設定を除外します。

保存済みPresetを後で編集しても、以前適用した画像は自動更新されません。

Preset Managerに、デフォルトを登録する方法は?

Edit > Project Settings > Preset Managerを開き、Add Default PresetからImporter/TextureImporterの型を選んで、TextureImporterのPreset欄へ作成したPresetを設定します。

PresetのInspectorからAdd to defaultを使う方法も公式にあります。

Filter空欄は対象型全体へ適用する広い設定になるため、3D用Texture等が同じ対象へ入らない条件を決めます。

複数のPresetが条件に合うと、どうなりますか?

上から下の順に適用され、下側が上側の値を上書きし得ます。

全Preset/Filterの組合せを確認してください。

必要ならチェックを外して、一時的に無効化できます。

既存の画像にも、デフォルトのPresetは適用されますか?

いいえ。

Unity 6.3の公式資料は、既存AssetへReimportしてもデフォルトImporter Presetを適用しないと説明しています。

既存画像は、選択したImport設定のPreset selectorから明示的にPresetを適用します。

複数選択時もImporterの型と対象数を確認し、少数で値を照合してから増やしてください。

設定が効かない・範囲が広すぎるときは?

新規画像に適用されない場合は、Presetの型、デフォルト有効チェック、Filterの実パス/大文字、適用順、別AssetPostprocessorの処理を確認します。

3D画像までSprite化される場合は、空Filterや広い条件、他のPresetを確認し、一旦無効化します。

Presetを削除する前に、デフォルト登録を無効化または解除し、将来の新規画像への適用を止められるか確認してください。

すでに変えた画像の設定は、解除だけでは戻りません。

この記事の内容は、実機で検証されていますか?

手順の参照はUnity 6.3 LTS(6000.3)の公式資料です。

既存画像の操作環境はUnity 2020.1系で、今のInspectorの表示名とは異なる場合があります。

この改稿でUnity Editorを操作し、インポートやFilterの一致を実行確認したわけではありません。

少数素材で期待値を照合してから、実プロジェクトへ設定してください。

最新の仕様は、Unityの公式マニュアルで確認してください。

次に学ぶ・作業環境を選ぶ

学習を続けたい方や、作業環境を整えたい方は、目的に合うガイドをご覧ください。

Unityのおすすめ書籍

開発PCの選び方

周辺機器の優先度

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

この記事を書いた人

須澤 元貴のアバター 須澤 元貴 代表社員

MOTOKI合同会社 代表社員。
アニメ・映像業界とゲーム業界で、2D・UI・3D・アニメーション制作、映像編集、ツール制作に携わってきました。
現在はWordPressを中心にWebサイトの制作とカスタマイズを手がけています。
著書に『Unity デザイナーズ・バイブル』『Unityゲーム プログラミング・バイブル 2nd Generation』(ボーンデジタル)。
岡山県出身、埼玉県在住。

目次