반응형
월드에 존재하는 액터 중 게임 플레이에 중요한 액터인 플레이어나 몬스터와 같은 대상은 월드에서 소멸시킬 때,
자기 자신이 Destroy()를 바로 호출하는 것보다 게임 모드를 통해서 해당 액터를 제거해주는 것이 좋다.
게임 모드는 게임의 전체적인 룰을 관리하는 역할을 한다.
게임 모드가 해당 레벨의 몬스터를 관리하고 있을 수도 있고
네트워크 기반 게임을 고려한다면 게임 모드에서 현재 서버에 존재하는 액터의 스폰과 소멸을 관리해야 동기화를 간편하게 처리할 수 있다.

타워라는 대상이 소멸시키기 위해서 Destroy() 함수를 호출할거라면
게임모드를 한 번 거쳐 가는 방식을 사용한다.

플레이어의 경우 Destroy()를 하기 보다는 월드에서 잠시 숨기는 방식을 사용하는 경우가 일반적이다.
플레이어는 처리할게 조금 많다.
1. 렌더러를 끈다.
2. Tick을 끈다.
3. 입력을 끈다.
4. 마우스를 숨긴다.(선택)

1. 렌더러를 끈다 : Set Actor Hidden In Game (true)
- 게임에서 해당 액터를 숨길거냐?
2. Tick을 끈다 : Set Actor Tick Enabled (false)
- 어차피 화면에 보이지도 않을거 Tick을 꺼서 성능 낭비 하지 않겠다.
3. 입력을 끈다 : DisableInput (APlayerController* )
- 화면에 보이지도 않으니 불필요한 입력도 끈다.
4. 마우스를 숨긴다 : *(APlayerController*).bShowMouseCursor = false
반응형
'Unreal Engine > 기능 구현' 카테고리의 다른 글
| [Unreal Engine 5] 월드에 존재하는 특정 액터들 가져오기 (0) | 2025.07.05 |
|---|---|
| [Unreal Engine 5] Timer에 인자를 주고 싶을 때(Timer Delegate) (0) | 2025.07.04 |
| [Unreal Engine 5] 나를 스폰한 대상 찾기 (0) | 2025.07.04 |
| [Unreal Engine 5] 데미지 적용(On Take Any Damage) (0) | 2025.07.04 |
| [Unreal Engine 5] Hit Event와 델리게이트(Delegate) (0) | 2025.07.04 |
