PhotonCloudPUN2の更新情報

こんにちは!ジェイです。MonobitEngineと違って、PhotonCloudPUN2はまだまだ順調に更新されてます。
アップデートした際に、仕様変更によるエラーが出る可能性があるので、まとめました。
特にCloseConnectionで指定したプレイヤーをキックする場合、その前にEnableCloseConnectionをtrueにする必要があるのは要注意です!
更新の詳細は changes-library.txt を参照してください。

https://assetstore.unity.com/packages/tools/network/pun-2-free-119922

v2.38 (2021.10.12)
ライブラリを4.1.6.9に更新しました。

v2.37 (2021年9月27日)
追加:CustomTypeのデシリアライゼーションの長さのチェック。
追加: PhotonNetwork.EnableCloseConnection(デフォルトはfalse)。これは画期的な変更です。この値をtrueに設定した場合のみ、CloseConnectionが動作するようになりました。ライブラリが4.1.6.7に更新されました。

v2.36 (20. 9月 2021)
更新内容 : Realtime APIを更新しました。
更新内容 : ライブラリを4.1.6.6に更新しました。

v2.35 (2021年8月24日)
変更点 : CheckConnectSetupXboxOne()でAuthOnceWssとDatagram Encryption(GCMモード)を許可するようにしました。これは ExpectedProtocol と EncryptionMode を静かに設定します。Datagram Encryptionはネイティブなプラグインでのみ可能です。
変更点:UtilityScripts/Culling/にInterest Cullingを追加しました。

追加しました。1秒あたりのインタレストグループの変更に対するレート制限。アルゴリズムがどうであれ、1秒間に4~6回以上インタレストグループを変更しないことは理にかなっています。

変更:GetActiveCellsメソッドで、セルリストの「近くにある」部分をソートするようにしました。これにより、順番が変わっただけで興味のあるグループを変更しないようになりました("nearly "の計算のため、そのようなことが起こる可能性があります)。
変更点:シーンビューのグリッドは、オーバーラップするセル(ルート、ノード、リーフ)の様々なエリアインデックスを変位させるようになりました。

注:全体的に、セルを選択するアルゴリズムは、単なるクイックショーケースです。これは、グループを1つずつ購読解除することを避け、また、近くのグループを1つずつ購読することを避けるべきです(エリアの1つの軸に沿ってのみ移動しながら)。

修正しました。OwnershipUpdateイベントでNullReferenceExceptionが発生する可能性がありました。PhotonViewが不明な場合、これがログに記録されるようになりました。これは、受信メッセージキュー(ディスパッチ)を一時停止せずにシーンをロード(または初期化)した場合によく発生します。オブジェクトのオーナーシップが変更された場合、マスタークライアントは新しいプレイヤーにこれを知らせますが、参加するクライアントがまだオブジェクトを知らない場合は失敗します。
ライブラリを4.1.6.5に更新しました。

v2.34.1 (2021年7月28日)
更新 : PhotonNetwork.PunVersionを "2.34.1 "に更新しました。以前のバージョンでは、誤って「2.33.3」を使用していました。
更新 : Unity 2021では、不明瞭だったCompilationPipeline.assemblyCompilationStartedがCompilationPipeline.compilationStartedに変更されました。

v2.34 (2021年7月26日)
変更点:マスタークライアントが切り替わるたびに、"room PhotonViews "のPhotonView.Ownerと.Controllerが適切に変更されるようになりました。Room PhotonViewsはIsRoomView(CreatorActorNr == 0をチェックする)によって識別されます。
変更 : NullReferenceExceptionやその他のエラーが発生しないように、コード変更などで再コンパイルが行われた場合、PUNはEditorでプレイモードを終了する必要があります。再コンパイル後に接続を維持することはできないので、これは大きな後退ではありません。ログには、クライアントがプレイモードを終了した理由を示すヒントが含まれます。
変更:PhotonNetworkのコンストラクタは、再コンパイルによる例外を避けるために、NetworkingClientを作成します(Editorにて)。
変更されました。PhotonNetwork.StaticResetは、RuntimeInitializeOnLoadMethod(RuntimeInitializeLoadType.BeforeSceneLoad)として実行されていましたが、AfterAssembliesLoadedを使用してより早く実行されるようになりました。
更新 : ライブラリを 4.1.6.4 に更新しました。

v2.33.3 (2021年7月7日)
修正:正当なViewIDを持たないPhotonViewsのクリーンアップをスキップしていました。これによりNullReferenceExceptionが発生する可能性があります(プレイモードを終了するときなど)。
RegisterPhotonViewは、view.removedFromLocalViewListをfalseに設定します。これは、内部的に使用される値です。

v2.33.2 (2021年07月06日)
修正しました。photonView.ViewID = 0を割り当てると、アクティブなビューのリストからPhotonViewが削除される。
追加:様々なクラスに名前空間がなかったのを、名前空間を設けるようにしました。

v2.33.1 (2021年6月24日)
更新 : ライブラリを4.1.6.3に更新しました。
注:これはPhotonNetwork.PunVersionに明確な値がなく、Asset Storeにも別のリリースがありません(前回のリリースは同じ日)。

v2.33 (2021年6月24日)
修正 : PhotonView.AmOwnerの計算。オーナーがactorNumber 0に設定されている可能性があり、その場合は代わりにMaster Clientをオーナーとして適用します。そのため、AmOwnerが間違っていました。
修正 : プレイヤーが部屋に入るとコントローラーが更新される。オーナーが戻ってきてコントロールを取り戻す可能性があるため、すべてのクライアントがビューを更新する必要があります。
修正 : ControllerActorNrの割り当ては、割り当てられたコントローラーがアクティブでないかどうかをチェックします。その場合、マスタークライアントが介入します(アサイン時に右)。
追加:設定ファイルが存在するかどうかのチェックを追加し、存在する場合にCreateAssetを使用しないようにしました。
JoinRandomOrCreateRoom()を追加しました。これはRealtimeでは実装されていましたが、PUNでは実装されていませんでした。
変更:名前の不一致を修正するために、列挙型のCustomAuthenticationTypeを変更しました。それぞれPlayStation4とPlayStation5を使用します。古いバリアントはobsoleteとして利用できます。
修正:Asteroids Demoにおいて、リモートコントローラーが非アクティブの場合、リモートシップが入力に反応しない。
修正しました。AsのKeyNotFound問題の可能性があります。

If you liked this article, support the creator with a tip!

Sending tips requires user registration.Find details about tips here.

Search by Article Tags

Monthly Archive

Search by Exclusive Perks

Search Articles