目次
はじめに
UEFNでゲームを作るとき何も考えずにアセットを入れると以下のようなErrorが出てセッションが起動できなくなる場合があります。対応が大変だったので、修正方法についてまとめます。
環境 : Version UE5.2 UEFN
個人の備忘録としてまとめています。誤った情報がある場合があります。
コメントにてご指摘のほどお願いいたします。
解説
➀原因
使っているアセットがでかすぎます!
外部からアセットを直接読み込むと陥りやすい現象です。
プロジェクト→プロジェクトのサイズからどのくらい使っているか確認できます。
使用できるサイズを超えるとタイトルのエラーになります。
そして、たいていの場合は解像度の高いテクスチャが一番の原因になっていることが多いです。
②やばそうなアセットを探そう
最大のアイテムを基準と、パッケージ別を選択することで、何が大きいかを調べることができます。0.5MBを超えるアセットは危険です。
いざ、深淵をのぞきに行きます。
テクスチャの場合、その解像度の高さが原因となります。
③テクスチャを圧縮する
でかいサイズのアセットを圧縮します。
通常のUnrealEngineであればパッケージングをLocalで行うので、最大テクスチャサイズを設定するだけで完了しますが、UEFN上ではuassetをアップロードしているのでこれだけではErrorが出てしまいます(エディタはテクスチャサイズの可逆性を担保する必要があるため)。解像度が落ちてしまいますが2K以上のテクスチャの読み込みをUEFNが禁止しているので割り切って圧縮しましょう。
圧縮は非常に大変なので、本当にそのテクスチャは使わないといけないのか?検討することも大切です。
そのため一度テクスチャをpngで出力して圧縮して再インポートしなければなりません。該当のやばいテクスチャを右クリックバルクエクスポートをすることでまとめて出力できます。
外部のペイントツールなどを利用して画像を1024や512を目安に圧縮(リサイズ)します。
非可逆圧縮になってしまうのでオリジナルデータのバックアップを取っておきましょう。圧縮したら、圧縮前と同名のテクスチャで書き出しましょう。
2048×2048から1024×1024に抑えるだけで13MBから3MBまで軽量化することができました。
画像の圧縮が完了したらUnrealEnigneに書き戻します。
該当のテクスチャがあるコンテンツフォルダで同名のアセットを入れると上書きすることができます。
これによりマテリアルなどの参照はそのままにテクスチャ圧縮によるuassetのサイズを軽量化できます。
これを繰り返してアップロードサイズ範囲内になるまでアセットを軽量化しましょう。
メッシュの場合はDCCツールでリメッシュする必要があります。UVが破綻してテクスチャが利用できなくなったりするため、やや上級者向けです。
参考資料
最後に
UE4やUE5向けの記事を書いています。
皆様の応援が投稿のモチベーションになりますので
コメントやTwitterのフォローなどしていただけるとありがたいです。
それではよきゲーム開発を。