쾌락없는 책임 (공부)/Unreal
-
[Unreal] 에디터를 재 실행했을 시 BP 클래스가 깨지는 경우쾌락없는 책임 (공부)/Unreal 2024. 10. 11. 21:35
개요LoadErrors: Warning: CreateExport: Failed to load Outer for resource 'DefaultSceneRoot_GEN_VARIABLE': BlueprintGeneratedClass /Game/GameMode/BP_agPlayGameMode.BP_agPlayGameMode_C LoadErrors: Warning: CreateExport: Failed to load Outer for resource 'SimpleConstructionScript_0': BlueprintGeneratedClass /Game/GameMode/BP_agPlayGameMode.BP_agPlayGameMode_C LoadErrors: Warning: CreateExport: Failed..
-
[Unreal] 액터가 volume 안에 있는지 확인하기쾌락없는 책임 (공부)/Unreal 2024. 4. 20. 10:16
개요 마을의 '영역'을 만들게 되면서 해당 영역에 Enter 하게 되면 플레이어가 해당 영역에 있다는걸 나타낼 예정입니다. 그런데 문제는 플레이어가 마을에서 스폰하게 되는 경우입니다. 이 경우에는 BeginPlay 시점에 Overlap 이벤트가 자동적으로 불리게 되지 않아 문제가 됩니다. 이를 해결하기 위해 BeginPlay 시점에 특정 액터가 안에 있음을 알게 하는 방법 2개를 알아보도록 하겠습니다. bGenerateOverlapEventsDuringLevelStreaming 위 변수 딸깍이면 레벨이 로드되는 중에도 Overlap 이벤트를 발생시킬 수 있게 됩니다. 에디터에서 위 옵션을 체크하거나 생성자에서 true 로 설정해주면 됩니다. void UPrimitiveComponent::BeginComp..
-
[Unreal] Enum을 String 으로 변경하는 템플릿 함수쾌락없는 책임 (공부)/Unreal 2024. 1. 14. 14:24
template static FORCEINLINE FString GetEnumName(const EnumType InValue) { return StaticEnum()->GetNameStringByValue(static_cast(InValue)); } template static FORCEINLINE FString GetEnumDisplayName(const EnumType InValue) { return StaticEnum()->GetDisplayNameTextByValue(static_cast(InValue)).ToString(); } GetNameStringByValue, GetDisplayNameTextByValue 를 통해 enum 의 이름과 DisplayName을 알아내는 템플릿 함수입니다. ..
-
[Unreal] Spectator 에서 스팀 이름 가져오기쾌락없는 책임 (공부)/Unreal 2023. 7. 14. 23:28
개요 일단 이걸 하기 전 Online Subsystem Steam 플러그인을 활용하고 이를 통해 세션을 제작해야 합니다. 이 과정을 거치면 PlayerState에서 PlayerName이 스팀의 닉네임으로 설정됩니다. 그리고 이번 글에서 알려드릴 건 이 스팀 닉네임을 Spectator에서 가져오는 것입니다. Spectator Pawn 에서 관전자를 변경하는 방법 일단 다른 게임에서 보이듯 죽고 나서 관전할 플레이어를 변경할 수 있는 기능을 구현했습니다. 이는 GameMode에서 Spectator Pawn으로 할당하는 Pawn 클래스에서 관리를 하는데 아래 코드와 같은 모습입니다. void AFASpectatorPawn::SpectateNextPlayer() { if (APlayerController* Pl..
-
[Unreal] Render Through Object, 오브젝트 뒤에 있는 플레이어 보이게 하기쾌락없는 책임 (공부)/Unreal 2023. 7. 12. 10:14
개요 Apex Legend의 블러드 하운드, 오버워치의 위도우 메이커. 이 캐릭터들의 스킬에서 공통점이 있다면 오브젝트 뒤에 있는 적들의 모습을 볼 수 있다는 점입니다. 이를 통해 보이지 않는 적들을 찾아낼 수 있습니다. 이런 요소를 제작하고 있는 게임에 넣어보고자 Post Process Volume을 활용했고 이 과정을 한번 정리해 보려고 합니다. Post Process Material 제작 개요 일단 Content Browser에서 우클릭을 해서 Material을 만들어 줍니다. 저 같은 경우 PP_SearchOutEffect라는 이름을 사용했습니다. 만든 Material의 Domain을 Post Process로 설정해 줍니다. 이제 본격적인 개념을 알아봅시다. 중간에 아무 장애물이 없는 경우 Cus..
-
[Unreal] CustomDepth Stencil Value 결과가 이상한 경우쾌락없는 책임 (공부)/Unreal 2023. 7. 11. 22:29
개요 인게임에 Custom Depth를 사용하는 효과가 2개 있습니다. 하나는 인터렉팅이 가능한 오브젝트들에 보이는 아웃라인 효과, 벽 뒤 플레이어를 감지할 수 있는 투시 효과. 그런데 아웃라인 효과와 투시 효과는 각자 다른 메쉬들에게 이루어져야 했고 이들을 구분하기 위해 Stencil 값을 활용했습니다. CustomDepth Stencil Value를 활용하면 0~255까지의 수로 구분을 할 수 있어 아웃라인 효과는 50, 투영 효과는 100으로 할당해 줬습니다. 다만 이후 결과를 보게 되면 이런 이상한 모양이 나오게 됩니다. 의도하던것과 다르게 Mesh의 일부만을 이 효과를 적용시키게 되는 문제가 있었습니다. 해결 - Project Setting을 해주자 Project Setting > Engine ..