園児ニアのメモ

ただのエンジニア。何でも屋みたいな扱い受けてます。

【Unity】EazyWifiController使ってみた

結構使っているのですが書いていなかったので...
簡単にですが紹介します。

Easy WiFi ControllerというAssetを紹介します。
f:id:nanokanato:20171107110448p:plain:w300

2017年11月現在は$37.80です(4,303.91円)

こちらはiPhone,AndroidをコントローラーにするAssetです。

サンプルにはいろいろなコントローラーとそのコントローラーで動かすUnityのサンプルが入っています。
Client:コントローラー側
Server:ゲーム等のサンプル側

コントローラーは自由にカスタムできるので実機じゃないと繋がらないコントローラーをEazyWifiControllerでUnityEditor用として代用したりすることができます。
もちろん実機同士でも可能です(iPhoneのゲームを別のiPhoneをコントローラーとして操作など)

コントローラーの接続条件

コントローラーの接続条件として
EazyWifiManager.csの値のPeerType以外が同じ、
各ボタン、ジョイスティック等のControllNameが正しい、
回線が安定している同じWifiに接続されていることである必要があります。

EazyWifiManagerのPeerTypeでClientかServerかを指定します。
Serverは同じWifiに接続されているEazyWifiManagerの値が同じClientのアプリを検索して接続します。
接続後はControllNameを元に各ボタンの値を取得します。

問題点など...

  • Wifiが使える環境でないといけないので外でやる場合はテザリング用にもう一台iPhoneなどを用意する必要がある。
  • コントローラーは接続されているがボタンが動作しないなど...
    • ControllNameが違う値だった
  • ジョイスティックの値がズレている
    • コントローラー側が90度回転していた。
      どちらが正位置か分かりづらい。
  • 同じWifiで1人プレイようのゲームを同時に2人で操作しているとコントローラーが入れ替わってしまう場合がある
    • 別のWifiに繋ぐ
    • EazyWifiManagerのApplicationNameを変える

上記、解決法が見つかり次第追記していこうかなと思います。