PUN Basic Tutorial を終えたので PUN2 完全に理解した

以前UdemyでPUNを用いたゲーム作成の学習を行っていました.
ただせっかく日本語のチュートリアルが公式にあるので,
まずそれを一旦一通りトレースして学ぶことにしました.

doc.photonengine.com

基本的にトレースしただけです.

github.com

ロビー

Callbackインタフェース

  • IConnectionCallbacks: 接続関連のコールバック
  • IInRoomCallbacks: ルーム内で発生するコールバック
  • ILobbyCallbacks: ロビー関連のコールバック
  • IMatchmakingCallbacks: マッチメイキング関連のコールバック
  • IOnEventCallback: 受信する全てのイベント用の単一コールバック
  • IWebRpcCallback: 受信中のWebRPCの操作応答に対する単一コールバック
  • IPunInstantiateMagicCallback: インスタンス化されたPUNプレハブの単一コールバック
  • IPunObservable: PhotonViewシリアライゼーションのコールバック
  • IPunOwnershipCallbacks: PUN所有権移行のコールバック

なるほどね.←わかってない

ロビーUI

Connect()メソッドにcontrolPanel.SetActive(false);はおかしくない?いらないと思います.

ゲームシーン

Room for 1で作成した環境をEnvironmentとしてオブジェクトをまとめて,
2,3,4ではEnvironmentのScaleを1.5倍,2倍,2.5倍にすればいいかなと思います.

ゲームマネージャーとレベル

特になし

プレイヤーの構築

プレハブがネットワーク上でインスタンス化されるためには、[Resource]フォルダの中になければいけない
PhotonViewコンポーネントが大事だと思った.

プレイヤーのカメラワーク

線形代数微積分の成績A,A++,
力学Iの期末試験で満点取ったことあるのにスクリプトの内容なんもわからん.
こういうスクリプトを見るたびに学生の頃,
こういうの意識した上で勉強したらモチベが違ったろうなあと後悔する.

Player Networking

同期系について書いてある.大事な章.後で再度読み返す.

プレイヤーのインスタンス

プレハブがネットワーク上でインスタンス化されるためには、[Resource]フォルダの中になければいけない
大事なことなので2回書いた

プレイヤーUIプレハブ

スクリプトミスがある.

CharacterController _characterController = _target.GetComponent<CharacterController> ();
// Get data from the Player that won't change during the lifetime of this Component
if (characterController != null)
{
characterControllerHeight = characterController.height;
}

変数にアンダーバー付け忘れあるある.

CharacterController _characterController = _target.GetComponent<CharacterController> ();
// Get data from the Player that won't change during the lifetime of this Component
if (_characterController != null)
{
characterControllerHeight = _characterController.height;
}