Diarkis サーバーへの接続と切断

ここでは簡単なチュートリアルを通じて Diarkis Unreal Engine Plugin (以降、UE Plugin) のインストール手順や Unreal Engine から Diarkis Module の初期化と終了方法や Diarkis サーバーへの接続方法などの基本的な使い方について解説します。

circle-info

このチュートリアルは UE 5.6.1 を使用しています。異なるバージョンをお使いの場合、UI や挙動が異なる可能性があるため、同じバージョンの使用をお勧めします。

プロジェクトの作成

Blank テンプレートから新規プロジェクトを作成します。

このチュートリアルでは C++ を選択します。

UE Plugin のインストール手順

  1. DiarkisPluginSample の解凍

    • DiarkisPluginSample を解凍します。

  2. Plugins フォルダに Diarkis フォルダを移動

    • 解凍した DiarkisPluginSample の Plugins フォルダ内の Diarkis フォルダをチュートリアルプロジェクトの Plugins フォルダにコピーします。

  3. UE Plugin をプロジェクトの依存関係に追加

    • Source/Tutorial/Tutorial.Build.cs を開き、 以下のようにプラグインを依存関係に追加します。

  4. プロジェクトを再ビルド

    • UE Plugin を追加した後、プロジェクトを再ビルドします。

GameInstanceSubsystem の子クラスの作成

Diarkis サーバへの接続、切断を行うために GameInstanceSubsystem の子クラスを作成します。

Tools -> New C++ Class をクリックし、親クラスに GameInstanceSubsystem を指定します。

TutorialSubsystem という名前でクラスを作成します。

このチュートリアルではここで作成した TutorialSubsystem クラスを使用して、UE Plugin の基本的な使い方を解説します。

Diarkis Module の初期化と終了

はじめに Diarkis ランタイム・ライブラリ および Diarkis Module を初期化するために DiarkisInterfaceBase::DiarkisInit() を呼び出します。 この処理はアプリケーション全体で最初に一度だけ実行する必要があります。 また、アプリケーションの終了時に DiarkisInterfaceBase::DiarkisDestroy() を呼び出して Diarkis 全体の終了処理を行います。この処理は DiarkisInterfaceBase::DiarkisInit() と対になっていて、DiarkisInit 同様にアプリケーションのライフサイクル全体で一度だけ呼び出してください。

このチュートリアルでは GameInstanceSubsystem の子クラスを使い、Initialize 関数の中で DiarkisInterfaceBase::DiarkisInit() を呼び出し、Deinitialize 関数の中で DiarkisInterfaceBase::DiarkisDestroy() を呼び出します。

ここでは 1 クライアントからの利用を前提とした簡単なチュートリアルのため、DiarkisInit 関数の logDirName 引数で "logs" を指定していますが、実際には uid を指定するなど複数クライアントでもログが上書きされないように設定してください。

LogTemp カテゴリーのみ表示するようにフィルタを設定します。

ゲームを実行し、ゲーム起動時に LogTemp: UTutorialSubsystem: Initialize - Calling DiarkisInit が表示され、ゲーム終了時に LogTemp: UTutorialSubsystem: Deinitialize - Calling DiarkisDestroy が表示されることを確認します。

Diarkis サーバーへの接続と切断

TutorialSubsystem クラスに処理を追加し、ゲーム起動時に Diarkis サーバーへの接続、ゲーム終了時に切断を行います。

最終的なコードは下記になります。

処理を追加した後は、再度ビルドし、ゲーム起動時に "Connected to the UDP server" というログが表示され、ゲーム終了時に "Disconnected from the UDP server." というログが表示されることを確認します。

このチュートリアルでは UID を固定の文字列 "AAAA" として指定していますが、実際にはユーザー情報に合わせて設定します。

このチュートリアルではエンドポイントに "127.0.0.1:7000" を指定し、クライアントキーに空文字 "" を指定していますが、ご利用の環境に合わせて変更してください。

ここでは ConnectUdp 関数の戻り値で接続できたかどうかを判断していますが、エンドポイントに接続できない場合、タイムアウトされるまで処理が止まります。実際のゲームでは応答性のために ConnectAsync 関数と コールバック関数を使い、接続できたかどうかを判断することをお勧めします。詳細については次のページを参照してください。

ここまでで UE Plugin を使い、Diarkis サーバーへの接続と切断が実行できました。

最終更新

役に立ちましたか?