気ままなUnityエンジニアブログ

新米Unityエンジニアが送る解説アウトプットブログです。Twitter : @UjinUnity

MENU

【Unity】Editorスクリプトを作ってテクスチャーのimport設定を自動化しよう!

スポンサーリンク

Unityで画像を読み込む度に手動で設定を弄るのは面倒ですよね。

そんな時は読込時に自動設定機能を追加しましょう!。

 

自動化するイメージ画像の設定

 

f:id:Wojtek:20190619003739p:plain

今回はこの設定を自動化する様にします。

 

イメージ画像読込時の処理

f:id:Wojtek:20190619003758p:plain

Asset → Editor フォルダを作成して.csを作成しましょう。

この「OnPreprocessTexture」は画像の読み込み時および 画像の設定の更新時 にも作動します。

TextureImporter はその名の通り Import時の設定クラスです。

こちらで画像の設定を変更していきます。

 

設定処理を追加

f:id:Wojtek:20190619003814p:plain

ご覧の通り追加しました。

 

PixelsPreUnit ワールド空間座標の 1 単位分に相当する、スプライトのピクセル数。

 

今回はドット絵に合わせた設定になっているため、

  • textureType は Sprite
  • PixelsPreUnitは100
  • MeshTypeなどの設定はImporterではできなかった

となっております。

そして「SetPlatformTextureSettings 」ですが、こちらはPlatformごとに設定を切り替えることができます。

今回はDefaultの状態で使用しております。

 

画像読み込み時のみ作動する様に変更

f:id:Wojtek:20190619003826p:plain

 

先ほどのままだと、画像設定を変更した場合もこの関数が呼ばれてしまいます。

それを防ぐために .metaファイルがある場合はreturn する処理を記載しましょう。

using System.IO を追加して、上記画像の処理を追加してください。

これで準備は整いました。

 

画像を読み込もう

f:id:Wojtek:20190619003836p:plain

 テキトーな画像でもいいので、Unity-Projectに読み込んで見ましょう。

読み込んだ後、上記の設定になって入れば成功です!

 

画像読み込みなどを自動化できれば、多人数で開発する時でも設定の漏れを無くせますし、設定を変更する時間を短縮できるなどメリットだらけです。

 

1つ注意点があるとすれば、Editor系は便利ですがしっかりと組まないと既存のファイルなどに影響を及ぼす場合が有ります。

ますはスモールプロジェクトなどでキチンと動作チェックをしてから本番環境に導入しましょう!。