728x90
반응형
Test.cpp
UFUNCTION(Server, Unreliable)
void ServerEquipButton();
처럼 RPC를 선언하고
Test.cpp
void ServerEquipButton_Implementation()
{
if(CombatComponent)
{
CombatComponent->EquipWeapon(OverlappingWeapon);
}
}
void Equip()
{
if(CombatComponent)
{
// 서버에서 동작했다면 바로 Equip을 실행하고
if(HasAuthority())
{
CombatComponent->EquipWeapon(OverlappingWeapon);
}
// 클라이언트라면 RPC를 사용해 서버에게 알려준다.
else
{
ServerEquipButton_Implementation();
}
}
}
와 같이 Implement함수를 정의하고 HasAuthority를 이용해 서버 - 클라이언트 실행부를 나누어서 실행하였지만 제대로 클라이언트에서 무기를 집었을 때 서버로 올바르게 전달이 되지 않았다.
이유는 RPC 함수에 함수명_Implementation()으로 정의는 하였지만, 호출해서 사용을 할 때엔 함수의 원형 이름을 불러주어야 하는 것이었다.
void ABlasterCharacter::Equip()
{
if(CombatComponent)
{
// 서버에서 동작했다면 바로 Equip을 실행하고
if(HasAuthority())
{
CombatComponent->EquipWeapon(OverlappingWeapon);
}
// 클라이언트라면 RPC를 사용해 서버에게 알려준다.
else
{
// 이렇게
ServerEquipButton();
// ServerEquipButton_Implementation();
}
}
}
기본적인건데 난 몰랐음 ㅜㅜ 근데 어쩌라고 지금부터 배우고 알았으면 됐지
728x90
반응형
'Unreal' 카테고리의 다른 글
[UE5/언리얼엔진5] TSubClassOf, TSoftClassPtr 캐스팅 방법 (2) | 2024.01.24 |
---|---|
[UE5/언리얼엔진5] 블렌더를 이용해서 믹사모 애니메이션 루트 본 추가 (0) | 2023.12.01 |
[UE5/언리얼엔진5] AI 생성 시 컨트롤러 작동 안 함 (0) | 2023.09.01 |
[UE5/언리얼 엔진5] 언리얼엔진 문자열 변환 정리 - 정리 중... (0) | 2023.07.25 |
[UE5/언리얼엔진5] 블루프린트에서 드롭다운 메뉴, 탭 선택 안됨, 목록 선택 불가능 (0) | 2023.07.14 |