I From Japan Staff Blog

I From Japan の開発者ブログです

(UE4/BP) ネットワーク上でプレイヤーが作成した部屋の検索などをする方法

 

blog.i-fromjapan.com

 

 

こんばんは

 

ヨシバルです。

 

 

本日は昨日までの続きではなく僕の進捗と、その実装方法について書きます。

 

 

 

まだ、Steamなどを使ったオンラインの実装方法は僕のブログでは書いていないのですが

 

オンライン実装自体はいろいろな入門書を読んでできているが

プレイヤーが作った部屋を検索する方法がわからない!!という方向けです!

 

 

 

それでは本日は

 

 

Unreal Engine 4オンラインでプレイヤーが作った部屋を検索する方法

 

 

です!

 

 

 


【オンライン】プレイヤールーム検索システム

 

 

 

 

 

 

 

実は、公式ではこの機能はまだ実装されていないです。

 

 

 

では、どうするんですか!?

 

C++を書くんですか!?!?

 

 

 

安心してください。書きませんよ(古いね)

 

 

 

日本では有志でBlue Printのノードを作って公開している方は、あまり居てないのですが

 

海外の有志たちはかなりアクティブなので

たくさん公開してらっしゃいます。

 

ありがとうございます。

 

 

Epic Gamesの公式コミュニティなので英語が読める方はぜひ見てみてください!

見ているだけでも、かなり面白いですよ!

リンクです

 

 

 

ここのフォーラムにあった

Advanced Sessions Pluginを使うことで実装することができます。

 

 

こちらからダウンロードできます。

 

 

このサイトを開いて少し下に行くと

 

 

f:id:ifromjapan:20161005221335p:plain

 

 

バージョンごとにダウンロードできる種類が違うので

僕は4.13.1を使っているのでこの赤い丸で示したリンクからダウンロードしました。

 

 

 

Zipファイルでダウンロードできるのでそれを解凍してください。

 

f:id:ifromjapan:20161005221638p:plain

 

 

こいつですね。

 

こいつを

Project フォルダー直下のPluginsのフォルダに入れます。

Pluginsフォルダが無ければ作ってください。

 

f:id:ifromjapan:20161005221849p:plain

 

だいたいドキュメントフォルダーの中のUnreal Projectにそれぞれのプロジェクトフォルダが入ってます。

 

入れ終わったらUE4を再起動してください。

 

 

f:id:ifromjapan:20161005222258p:plain

 

 

 

プラグインの中をチェックしてコイツが出てきたら成功です!

 

 

 

それではノードの方に入ります!

f:id:ifromjapan:20161005222749p:plain

 

UE4の既存のCreate SessionをCreate Advanced Sessionに置き換えます。

 

プラグインの導入に成功していたら出てきます。

 

 

f:id:ifromjapan:20161005223252p:plain

 

 

ここのExtra Settingでセッションを作成する時に様々な設定をすることができます

 

今回はセッションの名前を設定したいので

Make Literal Session Property String で名前を設定します。

Keyは後でこの名前で検索をかけるので覚えておいてください。

今回はServerNameをKeyに設定して

Valueの所をサーバーの名前をユーザーが設定したTextを入れときます。

 

 

セッションを作成するのはこれで終わりです。

 

次はセッションを検索する方法です

 

f:id:ifromjapan:20161005224256p:plain

 

 

既存のFind SessionをFind Session Advancedに置き換えます。

 

このノードのFiltersに検索の設定をかけれるはずなのですが、4.13では動かないみたいなので違う方法で検索をかけます。

 

 

検索結果のArrayをLoopで回して検索をかけます

 

f:id:ifromjapan:20161005225015p:plain

 

 

 

こんな感じですね。

 

ここのSetting Nameに先程の設定したName "ServerName"といれて

 

それがユーザーが検索をかけているStringと一致するかどうかで判断します。

 

セッションの名前以外にも、サーバーの人数や使用しているマップなどでも検索をかけれるのでかなり便利ですね!

 

 

海外有志のように日本の有志たちも活性化していければいいですね!

 

 

僕もブログが書き終わったらプロジェクトを公開しようと思っているので

ブログと合わせて見て頂ければより理解が深まるのではないでしょうか!!

 

 

 

それではまた明日!

 

 

 

blog.i-fromjapan.com