最初に基本となるネットワークゲームを作る要素について紹介します。
前々回の記事にて uGUI ボタンが一個あるだけのシーンを作りました。
ここに PlayerObject と NetworkManager という名前の空のオブジェクトを追加しました。
PlayerObject オブジェクトには Network Transform コンポーネントを追加します。
NetrowkManager オブジェクトには NetworkManager と NetworkManagerHUD を追加します。
さて、この状態でゲームを実行すると
HUDによるボタンが現れます。
今回は家の外からの通信で、自宅で実行中のゲームのオブジェクトを動かしたいと思います。
それを行う場合は LAN の外となるので Enable Match Maker を選びます。
さて、この機能を有効にするにはですね、事前登録が必要になります。
Unity Connect でプロジェクトと Multiplayer の設定を行います。
自分のUnityアカウントを持っていれば可能ですね。
あとはエディタの雲ボタンを押すことで、Unity Connect プロジェクトを選べたり
Multiplayer の状態を調べたりできます。
この雲ボタンを押すというのが、なんとも見つけにくい操作方法でした。
なにはともあれ、実行して
Enable Match Maker ボタンを押して Create Internet Match ボタンを押して
次の状態になれば待受完了です。
Android 用にビルドして Android にも入れてみましょう。
あれ、Find しても先に進まないぞ
AndroidManifest.xml を見てみるとインターネット接続についての設定がなかった
これを付けます。
Unity の Player Settings から設定可能でした。
Internet Access の項目を Require にすると、インターネットアクセスを要求するようになります。
ここだけ変えてビルドしたものを Android 上で動かすことで
接続に成功することを確認しました。
Enable Match Maker ボタンを押して Find Internet Match ボタンを押して Join します。
これで自宅外の環境からいつでもアクセスが可能なオンラインゲームが作れます。
Unity 神っすね、こういうことするためにどれだけの知識と労力が必要なことか!
ボタンをポチポチしてできる時代が今ここに!