facebook twitter hatena line email

「Unity/photon/fusion/位置回転同期」の版間の差分

提供: 初心者エンジニアの簡易メモ
移動: 案内検索
(位置補完の遅延)
(パケット間隔)
 
(同じ利用者による、間の10版が非表示)
行1: 行1:
 
==位置回転同期周り==
 
==位置回転同期周り==
 
NetworkTransform で制御する
 
NetworkTransform で制御する
 +
 +
NetworkTransform は、Prefabから生成された、インスタンスオブジェクト自体を共有するものではなく、Prefabは、ローカルのものを使うっぽい。
  
 
==補完を使わず瞬間移動==
 
==補完を使わず瞬間移動==
行12: 行14:
 
* 上限の0.2に、すると、0.2秒ぐらい遅れて表示される
 
* 上限の0.2に、すると、0.2秒ぐらい遅れて表示される
 
* 下限の0に、設定しても、多少遅れてるような気がする(多分ネットワーク送受信分が遅れる)
 
* 下限の0に、設定しても、多少遅れてるような気がする(多分ネットワーク送受信分が遅れる)
 +
 +
==FixedUpdateNetworkのフレームレート==
 +
* Photon/Fusion/Resources/NetworkProjectConfig アセットの Config/Simulation/TickRateで、設定できる。デフォルトは60。
 +
* TickRateを、60と設定すると、FixedUpdateNetwork()が、1秒間に60回実行される。
 +
* TickRateの値を、小さく(60から10に)すると、プレイヤーの動きが速くなる。プレイヤーの速度(Runner.DeltaTime * PlayerSpeed)などを、その分小さくして帳尻を合わせれば良い。
 +
 +
参考:https://doc.photonengine.com/ja-jp/fusion/current/manual/network-object/fixed-update-network
 +
 +
==パケット間隔==
 +
Photon/Fusion/Resources/NetworkProjectConfigの
 +
以下値を大きくすると、レイテンシーが増加し、状態同期の精度が低下しますが、データ使用量は減少します。
 +
* ClientPacketInterval:クライアント側パケット間隔
 +
* ServerPacketInterval:サーバー側パケット間隔
 +
 +
参考:https://doc-api.photonengine.com/en/fusion/current/class_fusion_1_1_simulation_config.html

2023年11月7日 (火) 15:31時点における最新版

位置回転同期周り

NetworkTransform で制御する

NetworkTransform は、Prefabから生成された、インスタンスオブジェクト自体を共有するものではなく、Prefabは、ローカルのものを使うっぽい。

補完を使わず瞬間移動

TeleportToPosition を使う

参考:https://zenn.dev/photon_japan/articles/0ff7a5b9171666

位置補完の遅延

TargetInterpolationDelay にデフォルトで0.03秒が、入ってる。

  • 上限の0.2に、すると、0.2秒ぐらい遅れて表示される
  • 下限の0に、設定しても、多少遅れてるような気がする(多分ネットワーク送受信分が遅れる)

FixedUpdateNetworkのフレームレート

  • Photon/Fusion/Resources/NetworkProjectConfig アセットの Config/Simulation/TickRateで、設定できる。デフォルトは60。
  • TickRateを、60と設定すると、FixedUpdateNetwork()が、1秒間に60回実行される。
  • TickRateの値を、小さく(60から10に)すると、プレイヤーの動きが速くなる。プレイヤーの速度(Runner.DeltaTime * PlayerSpeed)などを、その分小さくして帳尻を合わせれば良い。

参考:https://doc.photonengine.com/ja-jp/fusion/current/manual/network-object/fixed-update-network

パケット間隔

Photon/Fusion/Resources/NetworkProjectConfigの 以下値を大きくすると、レイテンシーが増加し、状態同期の精度が低下しますが、データ使用量は減少します。

  • ClientPacketInterval:クライアント側パケット間隔
  • ServerPacketInterval:サーバー側パケット間隔

参考:https://doc-api.photonengine.com/en/fusion/current/class_fusion_1_1_simulation_config.html