2015年5月17日日曜日

C++のクラスを他のUE4プロジェクトにエクスポートする方法

4月の初め頃に、C++で作成したクラスを別のUE4プロジェクトに移行する方法をUE4 AnswerHubに質問していました、もうその存在を忘れかけていた、つい先日、教えてもらう事ができました。


どうやら、シンプルに一発でエクスポートする方法があるわけではなく、UE4.7.6現在としては手作業でマクロ名などを修正して、地道にエクスポートしていくのが正解のようでした。クラス数が多くなると面倒ですね。

他の方の回答で、Pluginとしてパッケージ化すると、どのプロジェクトでも使えるよと教えて頂きましたが、まだそこまでやりたいと思わなかったので、まだ試していません。


エクスポート手順

Windows 8.1前提で書いてますが、Macでは、VSプロジェクトへクラスを追加するところだけXcodeに置き換えれば良いと思います。

  1. コピー先のプロジェクトがBlueprintプロジェクトで、尚且つC++コードをひとつも作ってなければ、Actorクラスから派生したC++クラスをダミーで作っておきます。そうするとVisual Studioのソリューションファイルやフォルダなどが自動生成されるので楽です。というか、それ以外の方法は、今の僕には分かりません。
  2. エクスポートしたいクラスのファイル(例 ClassForExport.h , ClassForExport.cpp)をソースプロジェクトの SourceProject\Source\SourceProject からエクスポート先プロジェクトの DestinationProject\Source\DestinationProject へコピーします。
  3. コピー先ClassForExport.cppの
    #include "SourceProjectName.h"
    を以下のように変更します。
    #include "DestinationProjectName.h"
  4. ClassForExport.h の以下の SOURCEPROJECT_API マクロの部分を DESTINATIONPROJECT_API に書き換えます。
    class SOURCEPROJECT_API AMyActorForExport : public AActor
  5. 追加するクラスをVisual Studioに認識させます。slnファイルをダブルクリックしてVisual Studioを起動します。ソリューションエクスプローラーを右クリックして、Add - Existing Item(英語版メニュー)を選択し、先ほどのクラスファイルを選択します。
  6. プロジェクトを再ビルドします。

関連記事

0 件のコメント:

コメントを投稿

Related Posts Plugin for WordPress, Blogger...