simplestarの技術ブログ

目的を書いて、思想と試行、結果と考察、そして具体的な手段を記録します。

Unity:UNETの使い方1

最初に基本となるネットワークゲームを作る要素について紹介します。

前々回の記事にて uGUI ボタンが一個あるだけのシーンを作りました。

ここに PlayerObject と NetworkManager という名前の空のオブジェクトを追加しました。

PlayerObject オブジェクトには Network Transform コンポーネントを追加します。
NetrowkManager オブジェクトには NetworkManager と NetworkManagerHUD を追加します。

さて、この状態でゲームを実行すると
HUDによるボタンが現れます。

f:id:simplestar_tech:20151220180850p:plain

今回は家の外からの通信で、自宅で実行中のゲームのオブジェクトを動かしたいと思います。
それを行う場合は LAN の外となるので Enable Match Maker を選びます。

さて、この機能を有効にするにはですね、事前登録が必要になります。
Unity Connect でプロジェクトと Multiplayer の設定を行います。

自分のUnityアカウントを持っていれば可能ですね。
あとはエディタの雲ボタンを押すことで、Unity Connect プロジェクトを選べたり
Multiplayer の状態を調べたりできます。

f:id:simplestar_tech:20151220181042p:plain

この雲ボタンを押すというのが、なんとも見つけにくい操作方法でした。
なにはともあれ、実行して
Enable Match Maker ボタンを押して Create Internet Match ボタンを押して
次の状態になれば待受完了です。

f:id:simplestar_tech:20151220181119p:plain

Android 用にビルドして Android にも入れてみましょう。

あれ、Find しても先に進まないぞ

AndroidManifest.xml を見てみるとインターネット接続についての設定がなかった
これを付けます。

Unity の Player Settings から設定可能でした。
Internet Access の項目を Require にすると、インターネットアクセスを要求するようになります。

ここだけ変えてビルドしたものを Android 上で動かすことで
接続に成功することを確認しました。

Enable Match Maker ボタンを押して Find Internet Match ボタンを押して Join します。

これで自宅外の環境からいつでもアクセスが可能なオンラインゲームが作れます。

Unity 神っすね、こういうことするためにどれだけの知識と労力が必要なことか!
ボタンをポチポチしてできる時代が今ここに!