Unreal Engine

すべてのC++ベースのPhoton SDKは、既製のUnreal Engineと互換性があります。

Unreal Engine SDKと組み合わせて使用できるマルチプレイヤーSDKの詳細は、以下のとおりです。

PhotonSDKはすべて、ダウンロードページから入手可能です。

はじめよう

Unreal Engine SDKと互換性のあるPhotonマルチプレイヤーゲームSDKを統合するには、以下のステップにしたがってください。

  1. Unreal Engine SDKをダウンロードしてください。

  2. 対象のプラットフォームのPhoton SDKをダウンロードしてください: iOS, Android (NDK), Windows, Mac OS X

  3. UE4 「C++」プロジェクトのみがサポートされています。

  4. UE4プロジェクトの「ソース」フォルダ内「Photon」フォルダに、任意のPhoton SDK(Windows、Android、またはiOS)を解凍します。

    ヘッダーファイルと、事前にビルドされたライブラリのみが必要です。複数の異なるプラットフォーム用にライブラリを追加することもできます。 サンプルフォルダのレイアウト:

            \---Source
            +---Photon
            |    +---Common-cpp
            |    |    \---inc
            |    |        (*.h)
            |    +---LoadBalancing-cpp
            |    |    \---inc
            |    |        (*.h)
            |    |---Photon-cpp
            |    |    \---inc
            |    |        (*.h)
            |    +---lib
            |    |    +---Android
            |    |        (*.a)
            |    |    +---iOS
            |    |        (*.a)
            |    |    \---Windows
            |    |        (*.lib)
  5. UE4ヘッダーとの非互換性に対応するため、Photonヘッダーを修正します。 FLOATEG_FLOATに名称変更するか、または参照プロジェクトからSource\Photon\photon.patchを適用します。

            Photon/Common-cpp/inc/Enums/TypeCode.h
        @@ -18,7 +18,7 @@
        -            static const nByte FLOAT              = 'f'; /**<float*/
        +            static const nByte EG_FLOAT           = 'f'; /**<float*/
        //
        Photon/Common-cpp/inc/Helpers/ConfirmAllowed.h
        @@ -76,7 +76,7 @@
        -            static const nByte typeName = TypeCode::FLOAT;
        +            static const nByte typeName = TypeCode::EG_FLOAT;
        //
        Photon/Common-cpp/inc/Helpers/ConfirmAllowedKey.h
        @@ -43,7 +43,7 @@
        -            static const nByte typeName = TypeCode::FLOAT;
        +            static const nByte typeName = TypeCode::EG_FLOAT;
  6. UE4でコンパイルした場合に現れる、RTTI検出問題を修正するためにPhotonヘッダーを修正します。

            Photon/Common-cpp/inc/Helpers/TypeName.h
        @@ -14,7 +14,7 @@
        -#if defined _CPPRTTI || defined __GXX_RTTI || (__GNUC__ < 4 || (__GNUC__ == 4 && (__GNUC_MINOR__ < 3 || (__GNUC_MINOR__ == 3 && __GNUC_PATCHLEVEL__ < 2))))
        +#if defined _CPPRTTI || defined __GXX_RTTI
  7. UE4プロジェクトの*.Build.csファイルを編集して、特定のプラットフォーム用のライブラリを読み込み、Photonプラットフォームを定義します。 UE4ドキュメントと、以下にリンクされているデモ Source/PhotonDemoParticle/PhotonDemoParticle.Build.csを参照してください:

            private string PhotonPath
        {
            get { return Path.GetFullPath(Path.Combine(ModulePath, "..", "Photon")); }
        }
        //
        if ( Target.Platform == UnrealTargetPlatform.Android)
        {
            // Set _EG_WINDOWS_PLATFORM for Windows, _EG_IPHONE_PLATFORM for iOS and _EG_IMAC_PLATFORM for OS X
            Definitions.Add("_EG_ANDROID_PLATFORM");
            //
            PublicAdditionalLibraries.Add(Path.Combine(PhotonPath, "lib", "Android", "libcommon-cpp-static_debug_android_armeabi_no-rtti.a"));
            PublicAdditionalLibraries.Add(Path.Combine(PhotonPath, "lib", "Android", "libphoton-cpp-static_debug_android_armeabi_no-rtti.a"));
            PublicAdditionalLibraries.Add(Path.Combine(PhotonPath, "lib", "Android", "libloadbalancing-cpp-static_debug_android_armeabi_no-rtti.a"));
        }
  8. プロジェクトソース内に、適切なPhoton API ヘッダーと、いくつかの回避策を含めます。 参照プロジェクト内のsource\photon-importを以下に示します。

  9. インポートしたPhoton APIをプロジェクトのソースコードに使用してください。

  10. 選択したプラットフォーム用にUE4プロジェクトをビルドします。

備考

UE4 iOSビルドに関するヒントは、以下で参照できます。 https://answers.unrealengine.com/questions/21222/steps-for-ios-build-with-unrealremotetool.html

すぐに実行可能なデモ

すぐに実行可能な概念の証明は [こちら]からダウンロードしてください(https://www.photonengine.com/Download/Photon-Unreal-SDK_DemoParticle-UE4.zip)

  • 上記のステップ1と2にしたがってください
  • ダウンロードしたパッケージを解凍
  • 上記のステップ4にしたがってください
  • ./PhotonDemoParticle.uprojectのコンテキストメニューを開き、「Visual Studioプロジェクトファイルを生成」を選択します
  • 複数の異なるバージョンのUnreal Engineを所有している場合には、対象のエンジンバージョンを選択してOKをクリックします。
  • UEがプロジェクトファイルを生成します。これには数秒間かかることがあり、UEは「Generating」メッセージボックスを消すことで、完了を示します。
  • Visual StudioでPhotonDemoParticle.slnを開きます
  • ソリューションプラットフォームとして、「Win64」を選択します
  • ソリューション構成として「DebugGame_Editor」を選択します
  • ソリューションエクスプローラーでGames/PhotonDemoParticleへと進み、そのプロジェクトをビルドします
  • そのVSプロジェクトをデバッグまたは実行しますーこの結果、photonDemoParticleがUEプロジェクトとして読み込まれ、UEエディタが起動します
  • UEエディタのの「World Outliner」タブから、「PhotonLBClient」 -> 「Demo」 -> 「App ID」へと進みます。
  • そのフィールドの内容を、弊社ウェブサイト内のあなたのダッシュボードに表示されているAppIDで置き換えます。
  • 再生をクリック

 ドキュメントのトップへ戻る