UnrealEngine/Plugins †インストールされているPluginを調べる。 †[Edit (編集)]メニューから[Plugins(プラグイン)]編集イターフェイスを開く。 メインの[Window]メニューから、プラグインエディタにアクセスできる。 コード付きのプラグインは、Sourceフォルダを持つ。 Plugin Folders †プラグインは、Unreal Engine のプラグイン用の検索パスに置くこと。
基準となる Plugins フォルダの下に、サブディレクトリを作ってpluginをそこに置いても構わない。 pluginが見つからない限り、自動的に下位のサブディレクトリをスキャンする。 ただし、1つでもpluginを発見すると、それより下位のサブディレクトリはスキャンしない。 Unreal Engine は .upluginという拡張子のファイルを探すことで、個々のplugin を発見する。 これはテキストファイルで、基本情報を保持している。 Code in Plugin †Visual Studio や Xcode でプロジェクトを生成すると、 (*.Build.cs ファイルが存在する)Source フォルダを持つ plugin が追加され、 ソースコードを調べやすくなる。 このような plugin は、プロジェクトをコンパイルする際に、 Unreal Build Toolが自動的にコンパイルする。 pluginには何個もソースフォルダが存在して構わないが、普通は1個である。 plugin では、新しい UObject 型 (UCLASS, USTRUCT, etc) を、そのモジュールの下位フォルダで宣言することができる。 plugin のソースファイルは、他のC++のモジュールとほとんど同じである。 plugin で異なるのは、Public source file のヘッダである。 たいていの plugin では、 Public source folder にあるヘッダで public APIs をエクスポートする必要はない。したがって通常 Public source folder は空である。 例外は以下の通り。
Content in Plugins †Unreal Engine は バイナリだけではなく、コンテンツを含むpluginをサポートしている。 コンテンツを含む場合は、'CanContainContent?' 設定を 'true' にすること。 まだ、実装中なので、動かないかも。 Plugins in your Game Project †あなたのゲームプロジェクトの 'Plugins/' フォルダの下位にある plugin は、 game engine や editor が起動するときに発見されロードされる。 ソースフォルダや *.Build.cs ファイルを含むモジュールを plugin が含んでいる時は、 plugin のコードは C++ のプロジェクトファイルに自動的に加えられる。 ソースのサブフォルダを持たない plugin の場合は、プロジェクトジェネレータに無視され C++プロジェクトのファイルとしては表示されない。しかし、バイナリが存在する限り、 起動時にロードされる。 Engine Plugins †Engine ディレクトリにある built-in plugins は、全てのゲームプロジェクトで利用できる。 ゲームモジュールそのものや、ゲームモジュールのplugin よりも前にロードされる。 Engine plugins は次の要件を満たす必要がある。
Plugin の配布 †
デフォルトでは、ソースコード、バイナリ、コンテンツだけが plugin でパッケージされる。 追加ファイルを含めたい場合は、Config/FilterPlugin?.ini というファイルを作り、 追加パスを記述する。 [FilterPlugin] /ThirdParty/... /MyOtherFolder/... Plugin Descriptor files †plugin descriptor は、ファイルの拡張子が .uplugin である Json 形式のファイルである。 ファイル名の最初の部分は常にplugin の名前になる。 { "FileVersion" :3, "FriendlyName" :"UObject Example Plugin", "Version" :1, "FriendlyVersion" :"1.0", "Description" :"An example of a plugin", "Modules" : [ { "Name" :"UObjectPlugin", "Type" :"Developer" } ] } Module Descriptors { "Name" : "UObjectPlugin", "Type" : "Developer", } Icon File を必要とする
Pluginの例 †
|