15
10

More than 3 years have passed since last update.

[UE4] 動画ファイル(mp4など)をpakファイルに含めて外部から見えないようにしよう!

Last updated at Posted at 2019-12-08

はじめに

UE4にはMedia Frameworkという機能があり、この機能のおかげでmp4などの動画ファイルを簡単に再生することができます。
https://docs.unrealengine.com/ja/Engine/MediaFramework/HowTo/index.html
image.png
しかし、以下のページに書かれている通り、動画ファイルを「Content/Movies」に入れてパッケージングしないと実行ファイルでは正しく動画が再生されません。
https://docs.unrealengine.com/ja/Engine/MediaFramework/HowTo/FileMediaSource/index.html
image.png
ただし、上記の手順を踏んだ場合、動画ファイルがpakファイルに含まれずそのままパッケージに格納されるため、動画ファイルがユーザから丸見えという問題があります…

解決方法①

追記:Mac, iOS, tvOSの場合はこの方法ではエラーが出るので後述の「Content/Movies」以下に動画ファイルを置く方法を使用して下さい

image.png
実はこの問題、プロジェクト設定/Packagingにある Additional Non-Asset Directories to Package 機能を使うことで回避可能です!
Additional Non-Asset Directories to Package.uasset/.umap形式以外のファイルもpakファイルに含めるための機能です。そのため、例えばPakMoviesというフォルダに動画ファイルに格納した後に上図のように設定することで、動画ファイルをpak内に隠蔽しつつ正常に動画再生することが可能になります。

ちなみに、iniファイルに直接書きたい場合はDefaultGame.iniに以下のように追記します。

[/Script/UnrealEd.ProjectPackagingSettings]
+DirectoriesToAlwaysStageAsUFS=(Path="PakMovies")

解決方法②

image.png
先程説明したとおり、「Content/Movies」以下にある動画ファイル(正確には.uasset /.umapファイル以外)は強制的に外部から丸見え状態でパッケージに含まれます。この挙動を制御するための項目がUE4.22から追加されました。

Exclude movie files when stagingを有効にした場合、「Content/Movies」以下にあるSpecific movies to Packageで指定された動画ファイルのみをpakファイルに含めるようになります。そのため、今回のケースでは上図のように設定することになります(Specific movies to Packageの設定項目には拡張子は含めてはいけません)。

Additional Non-Asset Directories to Packageはフォルダ単位の大雑把な管理でしたが、この追加機能を使うことで動画ファイル単位での細かい管理が可能になります!

具体的にどのような処理をしているのか興味のある方は、
Engine\Source\Programs\AutomationTool\Scripts\CopyBuildToStagingDirectory.Automation.csCreateStagingManifest 関数をご確認くださいまし。

まとめ

プロジェクト設定/Packagingにある項目を活用して、見られたくない動画ファイルはpakファイルにどんどんしまっちゃおうね~
おしまい

おまけ

Additional Non-Asset Directories to Package に Content/Moviesフォルダを設定してもpakファイルに隠蔽されないのでご注意を

15
10
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
15
10