PUN Classic(PUN1とも呼ばれます)はPUNのはじめの主要バージョンです。         現在は、リファクタリングおよび機能拡張されたPUN2に切り替わっています。         新しいプロジェクトはPUN2をご利用いただき、また可能であれば既存のプロジェクトについてもPUN1からPUN2へ移行していただくよう強く推奨しています。 こちらをご参照ください: "移行情報". PUN Cloassicは今後数か月メンテナンスされます。       重要なバグの修正や新しいUnityバージョンのサポートは行いますが、新機能の追加は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の速度は位置アップデート間の動きをスムーズにします。

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

補足

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

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

ドキュメントのトップへ戻る