PUN Classic (also called PUN1) is the original and first major version of PUN. It is now replaced by PUN2 which is refactored and enhanced. We highly recommend starting new projects with PUN2 and if possible migrating existing ones from PUN1 to PUN2 by following our "Migration Notes". PUN Classic will be maintained for the coming months. We will fix important bugs and support new Unity versions but new features will be added only to PUN2.

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の速度は位置アップデート間の動きをスムーズにします。

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

補足

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

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

To Document Top