Engine続行するにはJavascriptを有効化してください。Realtimeインディーかプロのディベロッパーかを問わず、誰でもリアルタイムマルチプレイヤーゲームを開発してグローバルに配信可能です。PUNインディーかプロのディベロッパーかを問わず、誰でもリアルタイムマルチプレイヤーゲームを開発してグローバルに配信可能です。Quantumマルチプレイヤーゲーム開発の革新に参加しよう!MOBA、ブローラー、RTS、戦闘ゲーム、スポーツゲームを迅速な予測ネットワーキングエンジンで開発できます。Chat同時接続数をスケールできるクロスプラットフォームのチャットシステムをあなたのアプリに簡単に統合できます。Voice大規模かつインターナショナルな最先端のライブボイスチャット。すべてのマルチプレイヤーエンジンと併用可能。Classic(PUN1とも呼ばれます)はPUNのはじめの主要バージョンです。現在は、リファクタリングおよび機能拡張されたPUN2に切り替わっています。新しいプロジェクトはPUN2をご利用いただき、また可能であれば既存のプロジェクトについてもPUN1からPUN2へ移行していただくよう強く推奨しています。Cloassicは今後数か月メンテナンスされます。重要なバグの修正や新しいUnityバージョンのサポートは行いますが、新機能の追加はPUN2のみとなります。Migrationホストマイグレーションは、オンラインマルチプレイヤーゲームで知られているコンセプトの1つです。ホストマイグレーションは、「ホスト」ピアのスムーズかつシームレスな遷移をおこなうためのものです。「ホスト」とは、ゲームについてより広範囲な制御をおこない、そのゲームがもっとも依存しているピアを意味します。通常、「ホスト」とはゲームを開始(ホスト)したクライアントで、他のプレイヤーはこのクライアントに接続するか、または参加することでゲームをプレイできるようになります。Photonでは、本来「ホスト」は存在しません。その代わりにルームごとに「特別」なクライアントが存在し、そのクライアントが「マスタークライアント」と呼ばれます。デフォルトでは、このクライアントはその他のクライアントと同様に通常のクライアントです。マスタークライアントに、他のクライアントよりも多くのタスクを処理させるよう設定しない限り、この状態は保持されます。Photonが実現すること「ホストマイグレーション」について、Photonには汎用的なソリューションはありません。簡単に実現できるようにしてあります。Serverはすぐに検知し、ルーム内の別のアクターをマスタークライアントに割り当てます。デフォルトでは、もっとも小さいアクター番号のアクティブなアクターが選択されます。newMasterClient)Photonにはクライアント、サーバー、プラグインSDKから明示的にマスタークライアントを変更する方法があります。クライアントから変更するには、以下を使用します:PhotonNetwork.SetMasterClient(photonPlayer);メソッドは、オペレーションが送信されるかどうかを返します。Top必要なことPhotonは、以前のマスタークライアントがルームのステートに関して保持していたすべての情報を、新たなマスタークライアントに引き継ぐわけではありません。情報の引継ぎは明示的におこなうことではありませんし、またマスタークライアントがすでにアクティブでない場合(接続されていない、反応しないなど)など、実行するのに遅すぎる場合があるためです。Photonはプレイヤープロパティまたはキャッシュイベントを、マスタークライアントから別のマスタークライアントへは移動しません。Photonは古いマスタークライアントが保持していたイベントを、新たに選択されたマスタークライアントには再送信しません。このため切替が発生した際には、ディベロッパーが責任を持ってルームステートが消失しないよう留意することが重要です。Top推奨マスタークライアントの概念は,すべての種類のゲームに適しているわけではありません。アクションゲームの場合には、マスタークライアントではなくカスタムサーバー側のコード(セルフホスティングされているサーバーアプリケーションまたはプラグイン)に依存するべきです。ゲームへの参加プレイヤーが多ければ多いほど,余分なタスクを処理するのに単一のクライアントに依存する必要性は減ります。マスタークライアントのみにイベントを送信するのは避けるべきです。消失しないよう,データを複製してください。すべてのアクターに送信することによって、マスタークライアントの切替が容易になります。すべてのアクターがルームステートをトラッキングしているため、新たに割当てられたマスタークライアントはすでに完全なルームステートを保持しています。マスタークライアントの切替が発生した場合に備えてゲームデータを保持するには,カスタムルームプロパティが最も信頼性の高いオプションです。マスタークライアントがルーム内で常にイベントを送信している場合には,マスタークライアントから最後に受信したイベントのタイムスタンプを保存し,ゲームループ内でその値を常に確認することで,マスタークライアントのタイムアウト検知のメカニズムを実装できます。想定されたとおり、マスタークライアントがイベントを送信していない点を検知した場合には、明示的にマスタークライアントを切り替えることができます。難しいのは、タイムアウト値の選択でしょう。この値が低すぎると誤検出になり、マスタークライアントの切替が必要以上に頻繁に発生することになります。この確認を単一のアクター(おそらく、次のマスタークライアント候補)またはすべてのアクターでおこなうかを選択する必要があります。モバイルプラットフォーム上では,アプリケーションのまとまりがつかなくなる場合があります。バックグラウンドでは、PUNは確認にのみ専用のスレッドを使用します。このスレッドによってクライアントは1分間アクティブに保たれますが、他には何も影響をおよぼしません。ディベロッパーは、バックグラウンドのマスタークライアントのシナリオをどのように処理するのかを決める必要があります:アプリケーションがバックグラウンドに移行したら、ただちにPhotonから切断する。マスタークライアントを明示的に切替える。バックグラウンドのスレッドを非有効化する。キープアライブACKのみのバックグラウンドスレッドを無効にします。