忍者ブログ

DeltaLabWorks

UE4のコード再利用手順

×

[PR]上記の広告は3ヶ月以上新規記事投稿のないブログに表示されています。新しい記事を書く事で広告が消えます。

コメント

ただいまコメントを受けつけておりません。

UE4のコード再利用手順

前に作ったプロジェクトのコードを再利用する手順

とりあえずモジュールのクラスを継承するとこまではできたのでメモをあげる




おkっぽい方法
本当にうまくいくかはわからないし、やるべきでないことをやっているかもしれないし、やらなくていいことをやっているかも知れない

再利用する(新しくモジュールにする)プロジェクトの名前 : <ModuleName>
次のプロジェクトの名前 : <GameName>
とする

・Unreal Projects\<ModuleName>\Source\<ModuleName>フォルダをUnreal Projects\<GameName>\Sourceフォルダの下に配置

・(やらなくていいかも)<ModuleName>.hの内容に
#include "Engine.h"
#include "Runtime/Engine/Private/EnginePrivate.h"
#include "<ModuleName>.h"
を追加(というか変更)

・<ModuleName>.cppの
IMPLEMENT_PRIMARY_GAME_MODULE(FDefaultGameModuleImpl, <ModuleName>, "<ModuleName>");

IMPLEMENT_GAME_MODULE(FDefaultGameModuleImpl, <ModuleName>);
に変更

・<GameName>.uprojectの
"Modules": [
 {
  "Name": "<GameName>",
  "Type": "Runtime",
  "LoadingPhase": "Default"
 }
]

"Modules": [
 {
  "Name": "<GameName>",
  "Type": "Runtime",
  "LoadingPhase": "Default"
 },
 {
  "Name": "<ModuleName>",
  "Type": "Runtime",
  "LoadingPhase": "Default"
 }
]
に変更

・(やらなくていいかも)Unreal Projects\<GameName>\Source\<GameName>.Target.csと<GameName>Editor.Target.csの
OutExtraModuleNames.AddRange(new string[] { "<GameName>" });

OutExtraModuleNames.AddRange(new string[] { "<GameName>", "<ModuleName>" });
に変更

・<GameName>.Build.csの
PublicDependencyModuleNames.AddRange(new string[] { ~ });

PrivateDependencyModuleNames.AddRange(new string[] { <ModuleName> });
に変更(修正2014/11/8)

・(上とどっちかはやらなくていいかも)<GameName>.Build.csの
PrivateDependencyModuleNames.AddRange(new string[] {  });

PrivateDependencyModuleNames.AddRange(new string[] { ~,  <ModuleName> });
に変更(修正2014/11/8)
 
・Unreal Projects\<GameName>にある<GameName>.uprojectを右クリックして「Generate Visual Studio~」を実行

・VisualStudioでリビルド
VSのソリューションエクスプローラから<GameName>を選んでリビルド->普通にビルドのほうが速いかも

以上でいけると思う

PR

コメント

プロフィール

HN:
Sankaku
性別:
非公開

P R