Unreal Engine

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

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

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

はじめよう

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

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

  2. 対象のプラットフォームのPhoton SDKをダウンロードしてください

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

  4. UE4プロジェクトの「Source」フォルダの「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 || !defined __clang__ && !defined _EG_PS4_PLATFORM && !defined _EG_PSVITA_PLATFORM && defined __GNUC__ && (__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.h"を以下に示します。

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

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

Back To Top

備考

UE4 iOSビルドに関するヒントは、以下で参照できます。

Back To Top

すぐに実行可能なデモ

すぐに実行可能な概念の証明は [こちら]からダウンロードしてください(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で置き換えます。
  • 再生をクリックします。

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