Unityの向こう側へ

12,013 views

Published on

通信・連携に関するUnity開発事例紹介

Published in: Technology

Unityの向こう側へ

  1. 1. 2013年12月4日 AID勉強会: Unity祭り Unityの向こう側へ ∼ 通信・連携に関する事例紹介 ∼ 株式会社ポケット・クエリーズ 代表取締役 佐々木 宣彦
  2. 2. 自己紹介
  3. 3. 自己紹介
  4. 4. My First Unity (本田圭佑の公式iPhoneアプリ)本田圭佑のフリーキック世界王者への道
  5. 5. Unity と 他プラットフォーム の 連携パターン 内部的な連携 外部との連携 Web(API)サーバ スマートフォン ブラウザ iOS/ Android  等 HTML センサなど Javascript dll 他の   Unity   アプリ MySQL  など ネイティブ側 SDK ネイティブ側 連携プラグイン Unity側   連携プラグイン PHP  など Web   Player Unity側   連携プラグイン Unity HTTP WebSocket NetworkView
  6. 6. 連携パターン① ネイティブ連携(スマートフォン)
  7. 7. 開発事例 広告配信サービス『AID』SDK の Unityプラグイン開発 スマートフォン iOS/ Android  等 ネイティブ側 SDK ネイティブ側 連携プラグイン Unity側   連携プラグイン Unity
  8. 8. iOSプラグイン関数    呼び出しの流れ ①AidManger.prefabにアタッチしている    AidManager.csにて、プラグイン関数呼び出し開始
  9. 9. iOSプラグイン関数    呼び出しの流れ ②DllInportにて定義されているiOS側の関数     を呼び出す。 ③呼び出されるiOS側の関数
  10. 10. iOS側関数からUnity側関数を呼ぶ流れ ①iOS側ではUnitySendMessage関数を用いて、    現在のSceneのGameObjectに向けて関数呼び出しを行う ②呼び出されるUnity側の関数
  11. 11. 連携パターン② ブラウザ連携(WebPlayer)
  12. 12. iOS側関数からUnity側関数を呼ぶ流れ UnityからHTML側のJavaScript関数を呼ぶ サンプル ブラウザ ①iOS側ではUnitySendMessage関数を用いて、   HTML  現在のSceneのGameObjectに向けて関数呼び出しを行う Javascript Web   Player Unity Unity側からHTML側のJavaScript関数を呼び出す
  13. 13. iOS側関数からUnity側関数を呼ぶ流れ 開発事例 部品製作のためのテストアプリ『アバタースナップショット』 HTML部分 Unity(WebPlayer)部分
  14. 14. HTML側JavaScriptから    Unity側関数を呼ぶ流れ ①HTML側ではSendMessage関数を用いて、    現在のSceneのGameObjectに向けて関数呼び出しを行う ②呼び出されるUnity側の関数
  15. 15. 参考   (WebPlayer内の画面を    スナップショット画像化して    サーバに送る処理)
  16. 16. 連携パターン③ サーバ連携(HTTP)
  17. 17. 開発事例 API連携: 育成ゲーム『あいうら 放課後☆カニ倶楽部』 Web(API)サーバ MySQL  など PHP  など HTTP Unity
  18. 18. API 連携: あいうら 放課後☆カニ倶楽部 での実装例 取得・管理データ •  •  •  •  •  •  •  アプリ起動回数(月・日ごと) プレイ回数(月・日ごと) 広告タップ箇所・回数(月・日ごと) ユーザデータ・ゲームデータ 課金データ サーバ側からアプリ側へデータ更新 Push通知 取得・管理データ •  •  •  •  •  •  •  システムメンテナンス情報 取得API     ユーザデータ・ゲームデータ 取得API     ユーザデータ・ゲームデータ 更新API     ゲーム起動・プレイ回数データ 更新API     広告タップデータ 更新API     課金データ 登録API     配信広告データ 取得API   •  Push通知管理画面
  19. 19. サーバAPI関数を呼ぶ流れ ①定義したサーバAPIアクセス用関数 ②サーバAPIからのレスポンス受取時に     最終的に呼び出されるコールバック関数
  20. 20. ③WWWクラスでPost通信開始 ④サーバAPIからのレスポンスデータ (JSON)をパースして値取り出し ⑤コールバック関数を呼び出し
  21. 21. このサーバAPIのしくみですが 密やかにサービス販売・ソース販売しています。。。 ご希望の方、この仕組みを使って下さい
  22. 22. 連携パターン④ 他のUnityとの連携(NetworkView)
  23. 23. 開発事例 自転車シミュレータ 『cycle Street』(株式会社フローベル様) 他の   Unity   アプリ 回転センサ dll Unity側   連携プラグイン NetworkView Unity
  24. 24. 3台のPC(Unity)で NetWorkView通信 Player①   PC 観客閲覧用PC Player②   PC
  25. 25. 移動には NavMesh を使用 NavMehによる自立移動 と NetworkViewによる位置同期 バッティングする(チラツキ発生)ので、工夫が必要
  26. 26. NetworkViewによる同期内容 自転車+競輪選手の     Transform(位置)情報 自転車+競輪選手の     Animation情報
  27. 27. 開発事例 自転車シミュレータ 『cycle Street』(株式会社フローベル様) Oculus対応版も昨日完成 スポルテック2013 にて展示しています! (株式会社フローベル様) 12/5(木) ∼ 12/7(土) 東京ビッグサイト
  28. 28. 最後に その他 開発した連携モジュール・実装経験 ・ Kakao  SDK  プラグイン   ・ entag!  SDK  プラグイン   ・ リアルタイム通信(チャットアプリ)     ・ 課金(iOS・Android)   ・ GameCenter   ・  Facebook  連携   ・  Twitter連携   ・  Push通知連携(iOS/Android) 本セッションに関するお問合せは こちらまで 技術交流、ビジネス交流、大歓迎です。 query@pocket-queries.co.jp

×