▣ 먼저 Widget Blueprint를 생성하고 CrossHair 이미지를 넣어 컴파일 저장합니다.
▣ Build.cs로 코드로 가서 UMG 키워드와
PrivateDependencyModuleNames.AddRange(new string[] { "Slate", "SlateCore" }); 주석을 해제합니다.
이 두가지는 UMG에 대한 코드를 사용하기 위함입니다.
▣ .h 헤더파일로 가서 두 개의 유저위젯 변수를 추가합니다.
▣ TSubclassOf는 UClass 유형의 안전성을 보장해 주는 템플릿 클래스입니다. 예를 들어 디자이너가 대미지 유형을 지정하도록 해주는 프로젝타일 클래스를 제작 중이라 가정합시다. 그냥 UPROPERTY 유형의 UClass를 만든 다음 디자이너가 항상 UDamageType 파생 클래스만 할당하기를 바라거나, TSubclassOf 템플릿을 사용하여 선택지를 제한시킬 수도 있습니다. 그 차이점은 아래 코드와 같습니다:
▣ .cpp 파일로 와서 UserWidget.h 헤더를 추가합니다.
▣ 그리고 HUD변수에 위젯블루프린트 Class를 가져와서 저장하고 위젯을 보이게 하는 코드를 완성합니다.
FClassFinder<>경로지정 시 WidgetBlueprint가 앞에 들어가고 매트 뒤에 _C를 붙여야 오류를 방지할 수 있습니다.
https://docs.unrealengine.com/4.26/en-US/API/Runtime/UMG/Blueprint/UUserWidget/AddToViewport/
https://docs.unrealengine.com/4.27/en-US/API/Runtime/UMG/Blueprint/CreateWidget/
▣ 이 블루프린트와 동일한 작업이라고 생각하고 코드를 작성하면 이해하기가 쉽습니다.
▣ 그리고 키를 누르면 함수가 호출되는 코드에 HUD 위젯이 사라지는 코드도 추가합니다.
https://docs.unrealengine.com/4.27/en-US/API/Runtime/UMG/Blueprint/UUserWidget/RemoveFromViewport/
▣ 컴파일 저장 후 플레이하면 CrossHair가 나타나는 걸 확인할 수 있고 키를 누르면 사라지는 것도 확인할 수 있습니다.
'[ Unreal5 ] > - 언리얼엔진5 실습' 카테고리의 다른 글
언리얼엔진5 Blend Poses Enum (0) | 2024.04.23 |
---|---|
언리얼엔진5 c++ PlaySound (0) | 2024.04.23 |
언리얼엔진5 c++ socket에 StaticMesh 적용 (0) | 2024.04.20 |
언리얼엔진5 c++ GameMode Default Pawn (2) | 2024.04.20 |
언리얼엔진5 c++ AnimInstance Montage 구르기 (1) | 2024.04.18 |
댓글