Photon Unity Networking (PUN)のバージョンが1.50になりました

photon_realtime_turquoise

Photon運営事務局です。

Photon Unity Networkingのバージョンが1.50になりました。
これによって、便利な機能がたくさん増えました。
今回は、その中でもPhotonTransformViewとPhototnAnimatorViewについて簡単に紹介したいと思います。

PhotonTransformView

PhotonTransformViewコンポーネントとは、transform、rotation、scaleの同期をGUIで行うことが可能なPhotonコンポーネントです。
これらはチェックボックスで同期をするかどうか選択することが可能です。
使い方は下記の通りです。

  1. 同期したいオブジェクトにPhotonViewを追加する
  2. 同様にPhotonTransformViewを追加する
  3. PhotonViewのObserved ComponetsにPhotonTransformViewをドラッグ&ドロップで追加する

これでTransformの同期が完了です。
さらにPhoton Unity Networking v1.50からの追加機能として補完・推測の機能があります。

Interpolation(補完)
キャラクターがスムーズに動作するようになる
ただ状況によっては、最新位置にテレポートする場合があります。

Extrapolation(推測)
以前受信したデータに基づいて同期されたキャラクターは実際に今あるべき場所を推測します。
あまり速度を変更しないオブジェクトの場合有効的です。特に瞬時に移動するようなオブジェクトにはExtrapolationは利用しないでください。

さらに補完・推測の方法には4つの方法からそれぞれ選択可能です。
これらについては、おいおい説明したいと思います。

pun1.5-2

PhotonAnimatorView

PhotonAnimatorViewコンポーネントは、Animatorが追加されているオブジェクトに追加するだけで
簡単にPhoton上でアニメーションを同期することが可能です。

使い方はAnimatorを同期したいオブジェクトにPhotonAnimatorViewを追加するだけです。
PhotonAnimatorViewにはLayer WeightとParametersの項目があります。

Layer Weightでは同期するアニメーションレイヤーを指定することが可能です。
Parametersでそれぞれのアニメーションを同期するかどうか指定できます。
同期方法はDiscreteかContinuousを選択できます。

Discreteの場合は、OnPhotonSerializeViewで自動で1秒間に10回シリアライズとして送信されます。Continuousの場合はOnPhotonSerializeViewで最後に呼ばれたときに同時に送信する仕組みとなっています。

pun1.5-1

Photon Unity NetworkingのDemosのフォルダにある「Mecanim Demo」でこれらの機能を用いていますので、是非一度ご覧ください。

Photon Unity Networking Free
https://www.assetstore.unity3d.com/#!/content/1786