More Related Content
Similar to ARでVRアバターを表示するシステムを構築しよう (20)
ARでVRアバターを表示するシステムを構築しよう
- 10. 使ったもの
• HTC Vive、Galaxy S8
• Unity 2018.1 / .NET 4.6 / C#6.0
• VRM / UniVRM
• ARCore
• SteamVR、Final IK
• Photon Cloud、 Photon Voice
- 14. Photon Cloud/Voice
• Photon Cloud
• ドイツのExit Games社製の通信フレームワーク&クラウドサーバ
• 20人同時接続までなら無料で利用可能
• Unity向けSDK(PUN)を利用して開発する
• Photon Voice
• Photon Cloudと連動して音声通信機能を追加するサービス
- 15. 開発方針
• 「モダンな開発をしたい」
• .NET 4.6 + C# 6.0 で開発
• 全体的に挙動を非同期にする(Task, Observable, async/awaitの活用)
• DIをメインに使った開発
• static変数を使った参照解決をしない
• GameObject.Find禁止
- 50. ネットワーク同期のやり方
• PUN (Photon Unity Networking) の機能をそのまま使うだけ
https://github.com/TORISOUP/AR_VR_Viewer/blob/master/Assets/VrmArPlayer/
Scripts/Scene/Main/Common/AvaterSynchronizer.cs#L90-L134
- 57. ネットワーク同期 まとめ
• Photon Cloudを使えばクライアント実装のみで完結する
• VRMの動的ロードと合わせるには工夫が必要
• 同時接続数は1部屋あたり10人くらいが限界そう
• Photon Cloudの制約(メッセージ数上限)
• デモ用途なら十分
• 不特定多数への生放送に用いるには専用のインフラ構築が必要
- 97. その他実装のコツ まとめ
• 非同期処理は対処法を知っておくべし
• async/await, Task, UniRxの使い方を覚えておくと良さげ
• Zenjectを使ったDIが非常に便利
• 無駄なif文/switch文を減らせる
• わざわざマネージャクラスをシングルトン化する必要がなくなる
• デバッグやテストがやりやすくなる