通知
すべてクリア
30/04/2023 8:55 am
最終課題の制作の中での質問になります。
サーバーとクライアントで実行を試しながら進めているのですが、
widgetの表示が更新されず、またactorがdestoryした際もクライアント側は残ったままになります。
widget側のBPに追加したカスタムイベントをサーバーで実行にして、そのwidgetを読み込んでいるBP(今回はEnemyのBP)で常にアップデートしているのですが、
クライアント側に反映されるために必要な設定箇所のあたり等お教えいただく事は可能でしょうか。
30/04/2023 8:56 am
EnemyBPのHP変数がレプリケーションされてるか確認してみてください。よろしくお願いいたします。
変数のレプリケーション項目がチェックされてないと変数が同期化されないです。
30/04/2023 8:56 am
ありがとうございます。
BPでは意識できておりましたが、C++側でHPを実装していたためレプリケーションの意識ができていませんでした。
以下のプロパティと各種関数の設定をすることで同期できるようになりました。
UPROPERTY(Replicated)
float Current_HP;
void AEnemyCharacterBase::GetLifetimeReplicatedProps(TArray& OutLifetimeProps) const
{ Super::GetLifetimeReplicatedProps(OutLifetimeProps);
// リプリケートするプロパティを定義
DOREPLIFETIME(AEnemyCharacterBase, Current_HP);
}
また、widgetの削除処理についてですが、サーバーで実行をマルチキャストにしたところ解決いたしました。
This post was modified 2年前 by Student