[UE5] 플레이어 Role 머리 위에 띄우기
목차
플레이어 Role 머리 위에 띄우기
Travel in Multiplayer
게임에 입장한 플레이어가 Server쪽인지 Client쪽인지 구분해야 한다.
코드를 구현할 때 RPC를 고려하여야 한다.
OverheadWidget
OverheadWidget.h
더보기
#pragma once #include "CoreMinimal.h" #include "Blueprint/UserWidget.h" #include "OverheadWidget.generated.h" UCLASS() class MULTIPLAYER_API UOverheadWidget : public UUserWidget { GENERATED_BODY() public: UPROPERTY(meta = (BindWidget)) class UTextBlock* DisplayText; void SetDisplayText(FString TextToDisplay); UFUNCTION(BlueprintCallable) void ShowPlayerNetRole(APawn* InPawn); protected: virtual void OnLevelRemovedFromWorld(ULevel* InLevel, UWorld* InWorld) override; };
OverheadWidget.cpp
더보기
#include "OverheadWidget.h" #include "Components/TextBlock.h" void UOverheadWidget::SetDisplayText(FString TextToDisplay) { if (IsValid(DisplayText)) { DisplayText->SetText(FText::FromString(TextToDisplay));//TextToDisplay 변수로 들어오는 text로 설정. } } void UOverheadWidget::ShowPlayerNetRole(APawn* InPawn) { ENetRole RemoteRole = InPawn->GetRemoteRole();// Pawn의 Role이 뭔지 담는 변수 FString Role; switch (RemoteRole) { case ENetRole::ROLE_Authority: Role = FString("Authority"); break; case ENetRole::ROLE_AutonomousProxy: Role = FString("Autonomous Proxy"); break; case ENetRole::ROLE_SimulatedProxy: Role = FString("Simulated Proxy"); break; case ENetRole::ROLE_None: Role = FString("None"); break; } FString RemoteRoleString = FString::Printf(TEXT("Remote Role: %s"), *Role); SetDisplayText(RemoteRoleString);// Pawn의 Role이 무엇인지 화면에 띄워준다. } void UOverheadWidget::OnLevelRemovedFromWorld(ULevel* InLevel, UWorld* InWorld) { RemoveFromParent(); Super::OnLevelRemovedFromWorld(InLevel, InWorld); }
BP_BaseCharacter

실행화면

'⭐ Unreal Engine > UE Multiplayer FPS TPS + ListenServer' 카테고리의 다른 글
[UE5] Net Update Frequency 수정하기 (0) | 2023.09.27 |
---|---|
[UE5] 무기 줍기 - RPC 고려하기 (0) | 2023.09.21 |
[UE] Multiplayer 11: Menu Subsystem 수정하기 (0) | 2023.07.17 |
[UE] Multiplayer 10: Lobby 레벨 기본설정 및 변경하기 (0) | 2023.07.17 |
[UE] Multiplayer 9: 접속하는 플레이어 확인하기 (0) | 2023.07.17 |
댓글
이 글 공유하기
다른 글
-
[UE5] Net Update Frequency 수정하기
[UE5] Net Update Frequency 수정하기
2023.09.27 -
[UE5] 무기 줍기 - RPC 고려하기
[UE5] 무기 줍기 - RPC 고려하기
2023.09.21 -
[UE] Multiplayer 11: Menu Subsystem 수정하기
[UE] Multiplayer 11: Menu Subsystem 수정하기
2023.07.17 -
[UE] Multiplayer 10: Lobby 레벨 기본설정 및 변경하기
[UE] Multiplayer 10: Lobby 레벨 기본설정 및 변경하기
2023.07.17
댓글을 사용할 수 없습니다.