こんにちは、Unityエンジニアのオオバです。
Unityの待ち時間ランキング第1位はアセットインポートです。
Unityプロジェクトによってアセットインポート時間はとてつもなく長くなります。そんなお困りのあなたに耳寄りな情報。 Unity2021の新機能「Asset Import Overrides」を使うと爆速でアセットインポートが終わります。
例えば購入したアセットストアをUnityで触りたいとき、インポート時間が面倒くさくて買ったまま眠っていることありませんか?「Asset Import Overrides」を使えばアセットインポート時間を大幅に圧縮することができ、Unityエディタでの確認も苦ではなくなります。 ぜひこの記事を通して爆速インポートテクニックを手に入れてください。
👉DOTweenの教科書を読んでUnityアニメーションをプログラミングしてみよう!
Unity2021新機能「Asset Import Overrides」とは?
「Asset Import Overrides」とはUnity2021で実装された新機能です。一言で表すと「テクスチャのアセットインポートを一括で変更する機能」です。 つまりテクスチャ個別に設定した圧縮フォーマットを一括変更できるのです。
設定場所はBuild Settingsウィンドウ下部の「Asset Import Overrides」です。
デフォルト状態では、アセットインポート設定を上書きしません。
👉 初心者が覚えておくべき11のUnityエディタ機能【Unityの使い方】
圧縮フォーマットを一括変更できるメリットは?
テクスチャの圧縮フォーマットを一括変更できると、テクスチャインポート処理をスキップすることができ、インポート時間が大幅に減ります。つまり 「非圧縮の状態」でインポートできる ため、圧縮テクスチャに変換する処理時間がまるまるなくなるのです。
テクスチャ個別に圧縮フォーマットを設定する方法
通常個別でテクスチャをインポートするときは、ASTC、ETC2、PVRTCといった圧縮テクスチャを指定します。設定箇所はテクスチャのInspectorウィンドウの下部にあります。
formatタブ を開き設定します。以下の図ではAndroid向けのテクスチャ設定です。
最近のAndroid端末は「ASTC」を採用することが多いです。
テクスチャを非圧縮で取り込む場合は、以下の図のようにformatをRGBA32bitにします。すると圧縮テクスチャに変換することがなくなるため、テクスチャインポート時間は大幅に短くなります。
Asset Import Overridesで非圧縮テクスチャをインポートする方法
Asset Import Overridesを使ってテクスチャを一括で非圧縮インポートする方法を紹介します。設定はとても簡単で「Force Uncompressed」に設定してApplyボタンをクリックするだけです。
Asset Import Overridesのデフォルト状態は No Override です。この状態ではテクスチャは何も変化はありません。個別の設定が優先されます。
上図が非圧縮でテクスチャをインポートする設定です。Asset Import Overridesを「Force Uncompressed」に設定して、Apply Overridesボタンをクリックするだけ。
以上で設定は終了です。以降テクスチャのインポート時間はほぼ0になります。どのくらい効果があるのかチェックしてみます。
3GBの大物アセットでインポート時間を計測
Asset Import Overridesでどのくらいインポート時間が短縮するのか確認していきます。
今回使用するアセットはこちらRocky Hills Environment - Mega Packです。
Rocky Hills Environment - Mega Packはハイクオリティなフィールドアセットで、全体でファイル容量が3GBあります。
アセットインポートだけで相当の時間がかかりそうですよね。ではインポート時間を計測します。アセットのダウンロードはあらかじめ完了しているものとします。ダウンロードスピードは通信環境によって大きく変わりますので、今回の検証からは除外しました。あくまで Unityへのインポート時間の検証 です。
👉 【2024年版】Unityアセットストアで無料・有料アセットを購入する方法
【驚きの結果】待ち時間が1/20に短縮!!
結論から話すとインポート時間は 1/20 に短縮しました。
- デフォルト状態 : 33分41秒
- 爆速状態 : 1分50秒
これは驚きました。こんなに早くなるとは...。3GBで1分50秒。普段使う小規模アセットだと、おそらく一瞬でインポートは終了すると思います。1分50秒かかっている原因は、テクスチャ以外にもアセットが格納されているからだと考えられます。例えばメッシュの圧縮時間です。
3GBが2分弱でテストできるのはとても嬉しいですね。
Importing small AssetsでUnityが起動しない時に試す6つの方法
Importing small AssetsでUnityが起動しないときの6つの方法を紹介します。
Asset Import Oveerridesを事前に設定する方法
Unity HubからUnityエディタを起動するときにオプションを設定することで、事前にAsset Import Overridesを適用できます。
Unity Hubの「コマンドライン引数を加える」ボタンをクリックしましょう。
上図のようにコマンドライン引数
-overrideTextureCompression forceUncompressed
を追加します。 するとUnityエディタを開く前にAsset Import Overridesを設定した状態で起動できるのです。
Asset Import Overridesの注意点
最後にAsset Import Overridesの注意点を紹介します。 Asset Import OverridesはあくまでUnityエディタ用に使用することです。 つまり製品版に使用する用途で作られていないということです。
Asset Import Overridesで非圧縮テクスチャに設定すると、メモリ使用量が爆増するためゲーム製品に使えません。あくまでUnityエディタ上での作業スピードを上げるためのテクニックです。
ビルド時にAsset Import Overridesを無効にする
Asset Import Overridesを適用した状態でビルドすると設定が引き継がれます。つまり非圧縮テクスチャがゲーム内に取り込まれるということです。
これを回避するためにはビルドする前に設定を戻す必要があります。しかし、Asset Import Overridesの設定を戻すとインポート時間に再び悩まされることになります。そうならないために回避する方法を紹介します。
ビルド用Unityプロジェクトを別途用意します。そして、このプロジェクトのAsset Import Overridesは無効にしておくのです。すると不要にアセットインポートを実行することなくビルドできます。
くれぐれもAsset Import Overridesを適用した状態でビルドしないようにしてください。
Asset Import Overridesまとめ
Unity2021から登場した Asset Import Overrides について解説しました。一言でいうと、 アセットインポートを爆速化する設定 です。この新機能により大容量のアセットをサクッとテストすることが可能になりました。そして、日々の開発の待ち時間も大幅に短くできます。
Unity2021はゲーム開発者の生産性を大きく向上してくれる気がしています。テクスチャのインポート自体は地味ではありますが、ボディブローのように開発時間を圧迫してくる存在です。
最近のスマホゲームはとてもリッチ化しており、膨大なテクスチャを使用します。新しく参画したメンバーはアセットインポートで一日を潰すこともありました。そこに現れたAsset Import Overridesは救世主と言えます。
また、 長時間のアセットインポート が、購入アセットをお蔵入りにする原因の1つでした。待ち時間が面倒くさいですよね。しかし「Asset Import Overrides」のおかげで3GBのアセットも2分じゃくまで短縮しています。今後アセットストアで購入したものは積極的にUnity2021で確認していきます。アセットインポート時間がなければストレスの大部分は排除されます。 購入したタイミングで使ってみる ことでお金を払った価値は生まれます。
オオバは正直感動しました。Unityを始めて11年悩まされていましたからね。この感動は実際にやってみないとわからないものです。ぜひ、Unty2021をインストールしてAsset Import Overridesを体験してみてください。
もしUnityのアップデート方法がわからない方は、こちらの記事で詳しく解説しています。ぜひ読んでみてください。
その他Unity2021のオススメ機能をこちらの記事で紹介しています。ぜひ読んでみてください。
最後に宣伝になりますが、本記事はTwitterで先行して発信しています。
基本的にブログよりTwitterの方で先に情報発信しています。UnityやUIデザインについて興味がある方はぜひフォローしてみてください。フォローはこちら
この記事が気に入ったらフォローしよう
「Unity初心者大学」というUnity初心者向けのYouTube始めました!!
ぜひチャンネル登録をお願いします!
最後まで読んでいただきありがとうございました!
すばらしいUnityライフをお過ごしください。
- Unity2021.3.0f1