This document is about: PUN 1
SWITCH TO

PUN Classic (v1)、PUN 2、Boltはメンテナンスモードとなっております。Unity2022についてはPUN 2でサポートいたしますが、新機能が追加されることはありません。お客様のPUNプロジェクトおよびBoltプロジェクトが停止することはなく、将来にわたってパフォーマンス性能が落ちることはありません。 今後の新しいプロジェクトについては、Photon FusionまたはQuantumへ切り替えていただくようよろしくお願いいたします。

2D Jump And Runデモ

2D Jump And Run Demo

このシーンではPhotonを使って2Dオブジェクトを同期する方法や、位置や物理の更新を組み合わせて同期オブジェクトの動きをスムーズにする方法を説明します。メインキャラクターには2つのコンポーネント:PhotonTransformViewPhotonRigidbody2DViewが適用されます。PhotonTransformViewの詳細はRPG Movement Demoで確認できます。

screenshot of 2d jump and run demo
Animated Demo Characters

PhotonRigidbody2DViewの簡単なインスペクターからオブジェクトの速度や角速度を同期させることができます。これらによってキャラクターが動くので、ローカルクライアントと同じようにリモートクライアントでスムーズな動作が可能になります。

photonrigidbody2dview in jump and run demo
PhotonRigidbody2DView in Jump And Run Demo

Unityの物理シミュレーションは予測的ではないので、同じ入力でもわずかに異なる結果が出力される場合があります。物理データの同期だけに依存するとそのわずかな違いが蓄積されて他に接続しているクライアントのシミュレーションが同期できなくなります。それを防ぐために、PhotonRigidbody2DViewPhotonTransformViewを組み合わせて使います。PhotonTransformViewは実際の正しい位置を定期的に送ります。PhotonRigidbody2DViewの速度は位置アップデート間の動きをスムーズにします。

速度を同期することにより、キャラクターがレベルオブジェクトにぶつかった際に適用される衝撃力が適切か確認できます。 シーンで生成される物理キューブでデモンストレーションすることが可能です。

補足

いくつかのコリジョンボックスは、複数の赤いタイル(上に立つことのできるタイル)を覆っています。すべての赤いタイルに個別のコライダーがあると、キャラクターがボックス間で「動けなく」なり、動きがぎこちなくなります。

コライダーは少ない方がパフォーマンスは向上します(このデモには関連しません)。

Back to top