スライドバーを表示

Photon Unity Networking イントロ

はじめに

Photon Unity Networking (PUN)は、マルチプレイヤーゲームのためのUnityのパッケージです。Photonのバックエンドを通して、認証オプション、マッチメイキング、速やかで信頼性の高いゲーム内通信などを提供します。

PUNはUnityで対応されているほとんどすべてのプラットフォームへのエクスポートします。また、PUNには二つの種類があります:

PUN FREE

PUN FREE Unity Plugin プラットフォームほぼ全てへエクスポート可能。iOS、Androidの場合は、Unity 4 ProかUnity 5が必要になります。

PUNFREEをダウンロード

PUN PLUS

PUN FREE Unity Plugin Unityライセンスであればなんでも、対応するプラットフォーム全てへエクスポート可能 100CCUのPhoton Realtime買い切りプランも含まれています。

PUN PLUSを購入 USD95で利用できます。

注意:Unity5の場合、どちらのPUNパッケージにも同じファイルが含まれています。100 CCUライフタイムプランにPUN+を購入しても、クライアント側ではPUN Freeを使用することができます。

PUN、PUN+、Unity Networkingの比較

  PUN PUN+ UN  
価格 無料 $ 95 無料
無期限の無料CCU 20 100
ワールドワイド・ホスティング UNにはマスタサーバが必要
Unity Networkingと互換性あり Old Unity Networking, not UNet
Unity FREE: ウェブ, スタンドアローン
Unity 4FREE: iOS, Android UNはモバイルでパンチスルーの問題あり
Unity 5 FREE: iOS, Android UN needs Relay Service for mobiles
ホストマイグレーション
ルーム、ロビーのサポート
プレイヤーサービス品質(QoS)

記事Photon Unity Networking (PUN) とUnity Networking (UN)の比較 で二つの比較の詳細をご確認ください。

必須コード

PUNを最大限に利用するには、いくつかのスクリプトを書く必要があります。このページでは、開始するにあたり最も重要なスクリプトを紹介します。

Marco Poloチュートリアルを作動することをお勧めします。

接続

上記のコードでPhotonに接続して機能を利用開始できます。

ConnectUsingSettingsはクライアントのゲームバージョンを設定します。PUN Setup Wizardから書き込むConfigファイルを使用してPhotonServerSettingsに保存されています。

マッチメイキング

次に、既存のルームへの入室またはルームの作成を行います。ゲームに参加またはゲームを作成するためのメソッドコールの例を次に記載します:

友達同士でプレイするにはPhoton Chat、Facebookなどでコミュニケーションを取り、ルーム名を決めてJoinOrCreateRoomを使います。ルーム名があれば以下の方法で他のプレイヤーに見えないように作れます。

まだ存在しないルームの場合、JoinOrCreateRoomでルームが作成されます。ルームが満員の場合、(仮に実装している場合)OnPhotonJoinRoomFailedが呼び出されます。

ゲームプレイ

GameObjectトは「ネットワーク上のゲームオブジェクト」としてインスタンス化することができます。GameObjectには識別するPhotonViewコンポーネントおよび所有者(またはコントローラ)があります。所有者は他の全てを更新します。PhotonViewObservedフィールドにスクリプトをドラッグすることで、継続的な更新を送信することができます。スクリプトは次のようにOnPhotonSerializeViewを実装する必要があります:

クライアントは、頻度の少ない動作のためにリモートプロシージャコール を行うことができます。

GameObjectsとは別で独自のイベントを送ることもできます。

サポートについて

Photonチーム(通称Photonian)は万全なサポート体制を敷いています。質問やアプリの不具合の解決には次の方法をお試しください:

  • 問題が発生した場合:フォーラムに質問を投稿してください。
  • プライバシーを重視する場合やサポートが必要な場合はdeveloper@photonengine.jpまでご連絡ください。

スピーディーな対応のために

スピーディーに対応できるよう、再現の手順と共に以下の情報を明記してください:

  • Photon Client SDKのバージョン

    • SDK zipファイル名に含まれています。
    • PUNの場合はPhotonNetwork.versionPunの数値をご連絡ください。
  • Photon Cloud

    • Connect*()コールで設定されるゲームバージョンAppId両方ご連絡ください。
    • ルームに関する問題の場合はRoomNameServer Addressをご連絡ください。C#の場合、ルーム内でclient.CurrentServerAddressをログすることで取得可能です。
    • RegionServer Addressをご連絡ください。
  • Photon Server

    • サーバをホスティングしている場合、Server SDK Versionをご連絡ください。これはSDKのzipファイル名に含まれています。
    • ログを添付してください。

ご意見をお聞かせください

特定のドキュメントに関する指摘、デモの要望、FAQの要望等のドキュメントに関するご意見がございましたら是非お聞かせください。developer@photoncloud.jpまでお気軽にご連絡ください。

より詳しくPhotonについて知りたいですか?

まずは 無償プランを試してみよう。
イベント会場で我々に会いにきてください。
MTGの要望はこちらへ。

 ドキュメントトップへ