なんとなく日誌

覚え書きとか。twitter:https://twitter.com/noronoroxxxxxx

UE4でMOD対応ゲームを作る その2

前回は、UE4でMODを作るサンプルページをバージョン4.9のまま試した。

https://wiki.unrealengine.com/Modding:_Adding_mod-support_to_your_Unreal_Engine_4_project

noroue4.hatenablog.com


 しかし、現在のUE4はバージョン4.21.1。

このサンプルを動かすには、いくつか手を加える必要がある。

それほど手間ではない。試してみよう。
以下の動作を確認したOSはWindows10。
 

まずは、前回と同じく
GitHub - tomlooman/ModSampleGame: Unreal Engine 4 Modding Sample Game
からZIPファイルをダウンロードして、解凍する。

中を見ると、

ModSampleGame-master\ModSampleGame\Plugins\MyFirstMod\MyFirstMod.uplugin

f:id:noroUE4:20190102021927p:plain
upluginファイル

というファイルがあるはずだ。.upluginファイルはdescriptor(記述子)と呼ばれ、UE4エディタのプラグインの設定が書き込まれている。UE4でのMODは、UE4エディタのプラグインとして扱われる。

プロジェクトのルートフォルダ(.uprojectファイルがあるフォルダ)直下のPluginsフォルダ内に置かれたフォルダの中に.upluginファイルが存在すると、UE4エディタはこれをプラグインとみなし読み込む。

この.upluginの仕様が4.9と4.21で異なっているため、修正する。

 解凍直後のMyFirstMod.upluginには、

{
	"FileVersion" : 3,
	
	"FriendlyName" : "MyFirstMod",
	"Version" : 1,
	"VersionName" : "1.0",
	"CreatedBy" : "Tom Looman",
	"CreatedByURL" : "http://www.tomlooman.com",
	"EngineVersion" : "4.9.0",
	"Description" : "My First Mod",
	"Category" : "User Mod",
	"EnabledByDefault" : true,

	"Modules" :
	[
	],

	"CanContainContent" : true
}

 となっているはず。


まず、EngineVersionの行を
"EngineVersion" : "4.21.0",

に修正、あとどの行でもいいので
"Installed": true,
を追記しよう。
バージョンは4.21.1じゃないの?と思うかもしれないが、4.21.1にするとバージョンがあわないと警告が出る。
修正後は、

{
	"FileVersion" : 3,
	
	"FriendlyName" : "MyFirstMod",
	"Version" : 1,
	"VersionName" : "1.0",
	"CreatedBy" : "Tom Looman",
	"CreatedByURL" : "http://www.tomlooman.com",
	"EngineVersion" : "4.21.0",
	"Description" : "My First Mod",
	"Category" : "User Mod",
	"EnabledByDefault" : true,
	"Installed": true,

	"Modules" :
	[
	],

	"CanContainContent" : true
}

となる。


次に、起動するUE4エディタのバージョンを選択する。
ModSampleGame-master\ModSampleGame\ModSampleGame.uproject
を右クリックし、「Switch Unreal Engine version」「4.21」を選ぶ。

f:id:noroUE4:20190102021955p:plain
f:id:noroUE4:20190102022026p:plain
開くエンジンのバージョンを4.21にあわせる
もちろん、4.21.1しかインストールしていないのならこの作業は必要ない。
あとは、ModSampleGame.uprojectをダブルクリックしたらUE4エディタバージョン4.21.1が立ち上がる。

エディタが立ち上がったら、4.9の場合と同じく
Window→Project Launcher
を開き、右下の+マークを押してゲーム本体をビルドする設定と、MODをビルドする設定の、二つのプロファイルを作成する。

ゲーム本体の設定

f:id:noroUE4:20190102024714p:plain
f:id:noroUE4:20190102024741p:plain
ゲーム本体のビルド設定
4.9と異なるところは、「Include engine content」のチェックが外れているだけ。
ここにチェックが入っていると、エラーとなる。

MOD部分の設定

f:id:noroUE4:20190102025332p:plain
f:id:noroUE4:20190102025402p:plain
MOD部分のビルド設定

こちらも4.9とは逆に「Include engine content」のチェックが入っている。
ここにチェックが入っていないと、エラーとなる。
Package欄にグレーで保存される場所が入っているが、なぜかそこではなく
ModSampleGame-master4.21\ModSampleGame\Plugins\MyFirstMod\Saved\StagedBuilds\WindowsNoEditor\ModSampleGame\Plugins\MyFirstMod\Content\Paks\WindowsNoEditor
に保存される。

これで、準備は整った。あとは4.9の場合と同じく、右下のボタンを押してビルドしたら完成だ。

f:id:noroUE4:20190101211750p:plain
ビルドの実行
MODが正しく動作するか確認するには、
ModSampleGame-master4.21\ModSampleGame\Plugins\MyFirstMod\Saved\StagedBuilds\WindowsNoEditor\ModSampleGame\Plugins\MyFirstMod\Content\Paks\WindowsNoEditor
に保存されたMyFirstModModSampleGame-WindowsNoEditor.pakを適当な名前(なんでも大丈夫)に変更して、
ModSampleGame-master\ModSampleGame\Saved\StagedBuilds\WindowsNoEditor\ModSampleGame\Content\Paks
にコピーしたのち、
ModSampleGame-master\ModSampleGame\Saved\StagedBuilds\WindowsNoEditor\ModSampleGame.exe
をダブルクリックで起動する。
ゲーム実行中にコンソールを開いて
  open ModExampleMap
と打ち込んで、MODのマップに移動できたらOK。
f:id:noroUE4:20190102144924p:plain
MODマップ

バージョン4.21.1でもサンプルプロジェクトが正しく機能することが確認できたので、次回は自分でMODを作成する方法を試してみよう。
noroue4.hatenablog.com