0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

【Strix】PhotonからStrix Cloudに移行してみた ~プレイヤー&オブジェクト編~

Last updated at Posted at 2021-07-29

今記事は以下の記事のプレイヤー編です。

まだメインの記事を読んでない方はそちらから読んでいただけると幸いです。

Strix Cloudにおけるプレイヤーの扱いまでを解説していきたいと思います。

##ネットワークオブジェクトの生成

PUN2ではPhotonViewコンポーネントでオブジェクトを管理していました。
StrixではStrixReplicatorコンポーネントでオブジェクトを管理します。

GameObjectにStrixReplicatorコンポーネントをアタッチします。
image.png

後は普通にGameObjectをロードして、Object.Instantiate()で生成することができます。
PUN2のように特殊な関数は使用する必要はありません。

###StrixReplicatorコンポーネント

StrixReplicatorのプロパティを比較すると以下の表のように置き換えられます。

PUN2 Strix 説明
Owner roomMember PUN2ではPlayerクラス
StrixではCustomizableMatchRoomMemberクラスで管理します
IsMine isLocal 同じbool型で取得できます

それ以外でよく使うプロパティ

名前 説明
sendRate 1あたりにプロパティを更新する頻度です。高くしすぎると通信を圧迫します。
ConnectionClosedBehaviour 接続が失われたときの動作です。
DestroyしてほしいときはDelete
Ownerを引き渡すときはChangeOwner
syncDestroy オーナーのオブジェクトが破棄されたときに、このオブジェクトが破棄されるかを決めます。

##Strixにおけるプレイヤーの扱いとID

プレイヤー情報はPUN2ではPlayerクラスですが、
StrixではCustomizableMatchRoomMemberで管理します。

PUN2 Strix 説明
ActorNumber GetPrimaryKey() ActorNumberprimaryKeyと同義です
NickName GetName()
CustomProperties GetProperties() PUN2ではHashtableですが
StrixではDictionary<string,object>です

###自身のプレイヤーの取得

    CustomizableMatchRoomMember localMember = StrixNetwork.instance.selfRoomMember;

ルームに参加していない際はnullになるので注意してください

###プレイヤーのリストの取得

    IList<CustomizableMatchRoomMember> roomMembers = StrixNetwork.instance.sortedRoomMembers;

primaryKey順にソートされたリストです。IList型なので普通に配列のようにアクセスできます。

    IDictionary<long, StrixReplicator> networkInstances = StrixNetwork.instance.NetworkInstances;

StrixReplicatorを取得したい場合はNetworkInstancesでprimaryKeyで取得できます。

次回はStrixにおけるオブジェクト同期を解説します!
【Strix】PhotonからStrix Cloudに移行してみた ~オブジェクト同期編~

##参考リンク

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?