関連ブログ
- [UE4][UE5]開発環境の容量を少しでも減らす 2024.08.14UE
- [UE5] PushModel型のReplicationを使い、ネットワーク最適化を図る 2024.05.29UE
- [UE5]マテリアルでメッシュをスケールする方法 2024.01.17UE
CATEGORY
2014.12.05UE4UE/ Blueprint
改訂バージョン: Unreal Engine 4.19 |
※この記事はUnreal Engine 4 (UE4) Advent Calendar 2014の12月5日分の投稿です。
今回は”コンテントブラウザ上では見えないのに残っているゴミファイル”、通称リダイレクターの解説とその解決の仕方を書こうと思います。このリダイレクターの処理の仕方を間違えると、アセットのリンクが外れてテクスチャが剥がれたりするので、きっちり仕組みを理解しましょう。
まず、UE4のファイル整理の大原則として、OSのエクスプローラーは使わず、ファイル移動の際には必ずコンテントブラウザから行わねばならないというルールがあります。UE4の各ファイルは他のアセットを参照(※)していて、コンテントブラウザ以外からファイルを変更してしまうと、その参照(リンク)が切れてしまうからです。
※Contentフォルダをルートとした絶対アドレスで参照されています。
しかし、次のような操作を行うと、”コンテントブラウザ上では見えないが、エクスプローラー上にはファイルが残ってしまう”ことがあります。
この残ってしまったMT_TESTこそが、リダイレクターです。
このリダイレクターは、リネームやファイル移動の際、リンクが切れないように計らってくれるとても大事なファイルです。何かしらの理由でリネームやファイル移動の際に、別ファイルからMT_TESTに張ってあるリンクをMT_TEST2に書き換えられない場合、そのままだとリンクが切れてしまいます。それだと困るので、このMT_TESTが参照された際に「このファイルはMT_TEST2に既にリネームされたよ」とリダイレクトしてくれるのです。
よって、ソースコントロールを使って複数人で開発している時、リダイレクターが出来たらこれも一緒にコミット(SVN)/チェックイン(P4)しなくてはいけません。
※末尾に添付した条件の時以外は、リダイレクターは生成されず、各アセットのリンクが更新されるようです。その際は、各更新したアセットもソースコントロールにアップロードしないといけません。
リダイレクターを修正する(消す)には、いくつかの方法があります。ただし、参照しているすべてのアセットの再保存が必要なので、他の人が触っていない時間帯が良いでしょう。
フォルダーを右クリックし、「フォルダでリダイレクタを修正」を行います。
コンテントブラウザのフィルタから、「その他のフィルター」→「リダイレクターを表示」を選択すると、コンテンツブラウザにリダイレクターが表示されるようになります。
そして、リダイレクターを右クリックし、「修正する」を行うと解消されます。
深夜にJenkins等で走らせる場合は、この方法が良いでしょう。
下記のコマンドをUE4Editor.exeに対して送ると、そのプロジェクトに属しているファイルすべてを修正してくれます。
1 |
UE4Editor.exe ProjectName -run=fixupredirects |
Epicのドキュメントによると、2週間に1度くらいきれいにした方が良いと書いてありました。ファイルが荒れる前に解消しましょう。
リダイレクターはいつも作成される訳ではありません。主に次の場合に作成されます。