UnityでPhotonメモ
経緯
- ちょっとしたアクションゲームのMockをマルチプレイ体験させることになった
Unityのマルチプレイで調べる
Unity Mult Player(Unityデフォではいってる)
Photon(1.0と2.0がある。)
monobit engine
Photonにする(しかも1) → 煮詰まったら聞ける人が身近にいたのと、1.0ならwebで情報沢山出てくるから
調べる(Photon)
Unity用は Photon Unity Network(略称はPUN) Photon Unity Networking 2: Main Page
Tutorialはリンク切れ。基本説明はある イントロダクション | Photon Engine
メモ
Photonサーバに接続 → ロビー接続 → ルーム接続(or作成)の流れ
ルーム内のプレイヤーは、ルームマスターとその他に分かれる。
「ロビーにinしたら」などのコールバックが多数ある。同期したい内容が含まれるプレハブにPhotonViewコンポーネントを付ける
同期したい内容をPhotonViewに登録していく
位置同期したいならPhotonTransformViewコンポーネントを使ってPhotonViewに登録すると便利かも
アニメーターの同期はPhotonAnimatorViewコンポーネントを(略)
変数はスクリプト内にOnPhotonSerializeView()を使って送受信する。(スクリプトをPhotonViewに登録)変数同期は何個か手段がある
同期とステート | Photon Engine
今回はphotonview.RPCを使った
なんでだっけ → web上の資料で分かりやすいのがあったからだけ・・・。IncetanceとDestry
発生と消去はPhoton専用のを使う各クライアントでそれぞれ処理を行うと、多重処理になるのでフラグで判別して使い分ける
isMasterCliant → ルームマスターかどうか
isMine → gameobject等の持ち主が自分かどうか(Instanceすると所有権が付く)
isLocal → ローカルプレイヤー(要するに自分)かどうか
参考や調べるのに使ったサイト
Unityオンラインゲーム作成【Chapter1】Unity上のPhoton設定と開発準備 - Uniblo-ゆにブロ-
Photonについて大まかに理解するために見たページまとめ - Qiita
Unity-技術メモ-PUN カテゴリーの記事一覧 - うら干物書き
Photon | script life 千夜一夜 プログラミング別館