Weitere ähnliche Inhalte
Kürzlich hochgeladen (10)
Photon Fusionのはじめの一歩
- 2. FUSION SDKのダウンロード
要件
Unity 2020.3以降
アセットシリアライゼーションを、テキストに設定
Project Settings>Editor>Asset Serializationと移動し、モードをForce textに設定
Mono.Cecil (com.unity.nuget.mono-cecilパッケージ)
ダウンロード
https://doc.photonengine.com/ja-jp/fusion/current/getting-started/sdk-download
- 26. 接続① HOST GAME MODE
EditorとEXEで、実行された状態で次の組み合わせで接続確認を行います。
ひとつをHostで起動、ひとつをClientで起動します。2人のプレイヤーがスポーンし、WASDキーで操作
できます。
- 27. 接続② HOST GAME MODE
EditorとEXEで、実行された状態で次の組み合わせで接続確認を行います。
両方ともStart Auto Host or Clientで起動します。 2人のプレイヤーがスポーンし、WASDキーで操作でき
ます。
- 28. 接続③ SERVER GAME MODE
EditorとEXEで、実行された状態で次の組み合わせで接続確認を行います。
ひとつをServerで起動、ひとつをClientで起動します。 1人のプレイヤーがスポーンし、WASDキーで操
作できます。Server役では、プレイヤー機能はなくなりClientの調停役として動きます。
- 29. 接続④ SHARED GAME MODE
EditorとEXEで、実行された状態で次の組み合わせで接続確認を行います。
両方ともStart Shared Clientで起動します。 2人のプレイヤーがスポーンし、WASDキーで操作できます。
- 31. NETWORK RUNNER/NETWORK EVENTS/PLAYER SPAWNER
Network Runnerが中核のコンポーネン
ト。
Network Eventsで呼び出すメソッドを指
定することでイベントに対応した処理
を付け加えることができます。
自前で実装する場合は、
INetworkRunnerCallbacksを継承して、
処理を実装します。Network Runnerと
同じGameObjectに張り付けると、
Runnerが見つけてくれます。
Player Spawnerでスポーンさせるプレイ
ヤーのプレハブの指定ができます。
- 34. NETWORK PROJECT CONFIG
メニューFusionからNetwork Project Configを選択する。
Network Project Configに利用するPrefabを登録する必要がある。 通常
Fusionツールセットが自動的にプレハブを検出して登録しますが、
Rebuild Object Tableを押すことで、手動で検出することもできます。
- 37. PUNとのクラスとプロパティの対応
PUN Fusion 説明
PhotonNetwork NetworkRunner Fusionのコアとなるコンポーネント。
PhotonView NetworkObject
(SimulationBehaviour/NetworkBehaviour)
NetworkObjectはGameObjectにネットワークIDを割り当て、ネット
ワーク上で共有できるようにします。すべてのプレイヤーが見るこ
とができ、シーンの動的な部分であるGameObjectには、
NetworkObjectスクリプトを設定します。
PhotonRigidbodyView NetworkRigidbody RigidBodyの同期を行うコンポーネント。
PhotonTransformView NetworkTransform Transformの同期を行うコンポーネント。
PhotonView.IsMine NetworkObject.HasStateAuthority
NetworkObject.HasInputAuthority
InputAuthority:そのオブジェクトに対するユーザーの入力を受け付
ける権限。
StateAuthority:ユーザーの入力をもとにオブジェクトの状態を最終
的に決定し、その状態を他のクライアントに上書きする権限。
Hinweis der Redaktion
- 専用サーバー(Dedicated Server)、クライアントホスト型(Client Hosted)、共有モード(Shared Mode)に対応しています。
共有モード(Shared Mode)はPUNと似ており、ネットワークオブジェクトの権限がプレイヤーに分配されます。シーンオブジェクトは自動的に1人のプレイヤーにコントロールされるようになっています。
- SimulationObjectまたはNetworkObjectから継承されるあらゆるクラスはRunnerおよびオブジェクトメンバーへアクセス可能
PUNでのスクリプトは通常photonView.IsMineを確認してクライアントがオブジェクトを所有しているかのみですが、FusionではObject.HasStateAuthority と Object.HasInputAuthorityの状態を個別で管理します。
(PUNと同じにするのであれば、Shared Modeで、IsMineをObject.HasStateAuthorityに置き換える。)
- https://doc.photonengine.com/ja-jp/fusion/current/manual/network-object
- Fusionツールセットが自動的にプレハブを検出して登録しますが、NetworkProjectConfigを選択して、Unity InspectorのRebuild Object Tableを押すことで、手動で検出することもできます。
- NetworkObjectはGameObjectにネットワークIDを割り当て、ネットワーク上で共有できるようにします。すべてのプレイヤーが見ることができ、シーンの動的な部分であるGameObjectには、NetworkObjectスクリプトを設定します。