お世話になっております。
CharacterにWidgetComponentを追加してキャラクタの頭上にプレイヤー名を表示しようとしています。
WidgetComponentの “Space” を"Screen" に指定、PIEから Number of Players を 2、Net Mode を Play As ListenServer でゲームをプレイすると、Widgetがサーバ側のリモートキャラクタに表示されません。(画像)
("Screen"ではなくデフォルトの"World"では表示される)
クライアント側は自キャラ、リモートキャラクタともに表示されます。
非プレイヤーキャラクもサーバ、クライアントともに表示されます。
ThirdPersonのサンプルを作成しましたのでご確認いただけないでしょうか?
よろしくお願いします。
お世話になっております。
非常に再現しやすい再現プロジェクトのご提供、誠にありがとうございます。
ご報告いただいた現象ですが、 //UE5/Main CL40686163 にて修正されておりました。当方でも当該CLを5.5.4に適用し、問題をFixできることを確認できました。
簡易な修正ですので、参考までに以下に差分を掲載いたします。
Engine\Source\Runtime\UMG\Private\Components\WidgetComponent.cppWidgetComponent.cpp 1721行目あたり
`ULocalPlayer* UWidgetComponent::GetOwnerPlayer() const
{
if (OwnerPlayer)
{
return OwnerPlayer;
}
if (APawn* OwningPawn = Cast(GetOwner()))
{
if (APlayerController* OwningController = Cast(OwningPawn->GetController()))
{
- if (ULocalPlayer* OwningLocalPlayer = OwningController->GetLocalPlayer())
- {
- return OwningLocalPlayer;
- }
- return OwningController->GetLocalPlayer();
}`一度ご確認いただけますと幸いです。
以上、よろしくお願いいたします。
ランチャーからの起動でしたので、ご案内いただいた該当CLの更新を取り込んでの確認はできていないのですが、リリースされたUE5.6で修正されているのが確認できました。
ご回答ありがとうございました!
よろしくお願いします。
ご確認ありがとうございました。
それでは本件は回答済みとして、Closeさせていただきます。
また何かありましたら、お気軽にご相談ください。
以上、よろしくお願いいたします。