Engine続行するにはJavascriptを有効化してください。Realtimeインディーかプロのディベロッパーかを問わず、誰でもリアルタイムマルチプレイヤーゲームを開発してグローバルに配信可能です。PUNインディーかプロのディベロッパーかを問わず、誰でもリアルタイムマルチプレイヤーゲームを開発してグローバルに配信可能です。Quantumマルチプレイヤーゲーム開発の革新に参加しよう!MOBA、ブローラー、RTS、戦闘ゲーム、スポーツゲームを迅速な予測ネットワーキングエンジンで開発できます。Chat同時接続数をスケールできるクロスプラットフォームのチャットシステムをあなたのアプリに簡単に統合できます。Voice大規模かつインターナショナルな最先端のライブボイスチャット。すべてのマルチプレイヤーエンジンと併用可能。v3Photonでのシリアル化Photonとクライアントは、非常に最適化されたバイナリプロトコルを通信に使用しています。このバイナリプロトコルは簡潔で、容易に解析できます。Photonは送信前に、すべてのデータをこのバイナリプロトコルに変換する必要があります。この処理は、通常使用されるデータ型について自動的に実行されます。ほとんどのクライアントAPIでは、必要となる他のクラスに独自のシリアル化手順を登録することも可能です。以下を参照してください。type_infoに予約バイトが必要です。基本タイプはtype_infoに1バイト必要です。多くのコレクションは、コレクションの型に対して追加のもう1バイトを必要とします。コレクションの型がtype_infoの一部であるHashtableやObject配列、Byte配列の場合にはその限りではありません。厳密に型指定されたコレクションは要素の型を一度送信します。要素ごとにtype_infoを送信するわけではありません。すべてのコレクションは、長さを保管するのに2バイトを必要とします。これは長さの型がshortであることによります。バイト配列はこのルールの例外です。バイト配列はintの型で、長さを保管するのに4バイト必要です。文字列[]にnull値を含めることはできません。代わりに空白を使用してください。以下の型には多くの場合対応しており、Photonのバイナリプロトコルで認識されます。リストに載っている全ての型を備えていない言語では、SDKがサポートする型が少ない場合もあります。通信する全てのクライアントにカスタムタイプを登録してください。Types上記リストに含まれていない型の場合、重要な値をシリアライズ化または非シリアライズ化する必要があります。基本的には二つのメソッドを書いてクラスをバイト配列に変換してから戻します。登録が完了すれば、メッセージにその型のインスタンスを含むことができます。1バイトはこれがカスタム型であることを示し、そしてもう1バイトはカスタムコード型用です。Photonでは256のカスタム型をサポートしています。カスタム型コードの推奨数は255以下です。2バイトは必要な型情報のため、もう2バイトはペイロード長のためです。4バイトのオーバーヘッドがあるので、バイトの少ないデータの登録は避けた方が良いかもしれません。Serverは不明のカスタムタイプをそのまま転送することもできます。Cloudではタイプの登録をする必要がありません。通信する全てのクライアントにカスタム型を登録してください。必要な場合にはサーバーサイドもしくはプラグインにカスタム型を登録してください。RegisterTypeメソッドは、ブーリアンの結果を返します。この結果で型が登録可能か判断します。カスタム型の登録中に何かしらのエラーが生じた場合は、メソッドがfalseを返し、変更は何も起こりません。それ以外の場合、登録は正常に行われtrue値が返されます。カスタムコードがすでに使用されている場合は、登録は正常に行われずメソッドはfalseを返します。同一のカスタム型に対して登録済みのシリアル化・デシリアル化メソッドの上書きは行われず、古いものが使われ続けます。Serverのシリアル化で不明なタイプを登録するには、TryRegisterCustomTypeを使います。MyCustomType.Deserialize);タイプをbyte-arrayに書き込んで受信側に再生成するには二つの方式が必要です。