언리얼5117 언리얼엔진5 c++ Material Random Setting ▣ StaticLoadObject()는 에디터 밖 (런타임)에서도 사용 가능한 동적 로더입니다.배열 경로에서 /Script/Engine.Material'... 형식은 에디터 자동 복사로 생긴 경로입니다. StaticLoadObject()에는 '/Game/...' 형식만 있으면 충분합니다. (다만 문제없으면 그대로 사용해도 무방합니다.) 2025. 5. 30. 언리얼엔진5 c++ AddImpulse를 활용한 액터 생성 및 던지기 ▣ 헤더에서 Notify랑 생성할 BP 변수 선언 ▣ 코드설명StaticLoadClass 블루프린트 클래스를 런타임에 로드함 SpawnActor 액터(책)를 월드에 생성 SetSimulatePhysics(true) 물리 적용 가능하게 설정 AddImpulse * Mass 질량에 따른 일정한 속도 변화 보장 Direction + Z 벡터 위로 던지는 포물선 구현 ▣ 생성하고 AddImpulse 할 엑터 설정 ▣ Simulate Physics 활성화 AddImpulse()는 물리 시뮬레이션이 켜져 있어야만 작동합니다.▣ 설정 방법:Simulate Physics 체크 Enable Gravity 기본 켜짐 (원하면 끌 수도 있음) Mass in Kg 기본값 OK (0.1 ~ 1.0 정도 추천)Static.. 2025. 5. 30. 언리얼엔진5 c++ BehaviorTree Blackboard 값을 코드로 변경하여 이동하기 ▣ FVector변수를 3D Widget으로 보이게 하고 에디터에서 위치를 변경하여 해당위치로 BehaviorTree에 있는 Blackboard 값을 변경하여 이동하게 하는 코드 ▣ MakeEditWidget = "true"로 설정된 변수는 에디터에서 월드 좌표로 동작합니다. 2025. 5. 9. 언리얼엔진5 c++ 충돌한 Blueprint 함수 호출방법 ▣ 전체 작동 흐름 PlayerCharacter의 Operate() 실행SphereTrace로 충돌한 액터 중 BP_TutorialEvent를 찾음ATutorialEvent로 캐스팅OperateEvent() 호출OperateEvent() 안에서 OperateEventEvent_BP() 호출블루프린트에서 구현한 이벤트 로직 실행 (예: 문 열기, 트리거 작동) 2025. 4. 29. 언리얼엔진5 c++ 플레이어 방향으로 수평 회전 ▣ 플레이어의 Pawn을 가져오는 부분 UGameplayStatics::GetPlayerPawn(...)는 현재 월드에 존재하는 0번 인덱스의 플레이어 컨트롤러가 조종하는 Pawn을 반환합니다.0 → 기본 싱글플레이어라면 첫 번째 플레이어결과: PlayerPawn 변수에 플레이어 액터가 저장됩니다. ▣ 서로의 현재 위치를 가져옴 GetActorLocation() → Actor의 현재 월드 좌표를 반환합니다.ZombieLocation: 좀비의 위치PlayerLocation: 플레이어의 위치 ▣ 방향벡터 계산 (수평 2D 기준) Player - Zombie: → 좀비에서 플레이어까지 향하는 방향벡터GetSafeNormal2D():이 벡터를 정규화(Normalize) 하되,Z 축(높이)은 무시하고 XY 평면 .. 2025. 4. 5. 언리얼엔진5 c++ (C++에서는 정의하지 않고, 블루프린트에서 Event 노드로 구현 함수) ▣ BlueprintImplementableEvent이 함수는 블루프린트에서 '이벤트로 구현 가능한 함수'라는 뜻입니다.다시 말해, 이 함수는 C++에서는 정의하지 않고, 블루프린트에서 Event 노드로 구현합니다.Event OnFireStarted_BP 라는 노드가 블루프린트 클래스 내에서 자동으로 생성됩니다. ▣ 전체 예시 흐름 C++에서 Fire() 함수가 실행됨.Fire() 내부에서 OnPistolFireBP() 호출.블루프린트의 Event OnPistolFireBP가 반응.블루프린트에서 원하는 연출(이펙트, 애니메이션 등)을 실행. 2025. 3. 24. 언리얼엔진5 Blueprint BGM 재생, 정지 ▣ Audio Component 추가 및 초기화블루프린트에 Audio Component를 추가합니다. 소리를 재생하고 페이드 아웃 타이밍을 설정합니다.Fade Out 함수 노드아래 노드를 연결합니다:Fade Out Duration: 페이드 아웃에 걸릴 시간 (초 단위). 2025. 1. 24. 언리얼엔진5 c++ ActorName Find 문자제거 ▣ 코드 분석 Hit.GetActor()->GetName()충돌된 액터의 이름을 가져옵니다. 이름은 FString 형식으로 반환됩니다. ▣ GetName설명:UObject의 이름을 반환하는 함수입니다.이름은 FString 형식으로 반환되며, 이는 해당 객체가 엔진 내에서 사용되는 고유 이름입니다.사용 예시:FString Name = Hit.GetActor()->GetName();주요 활용:디버깅 시 객체 이름 확인.이름을 기반으로 객체 필터링 또는 분류. ▣ LeftChop설명:문자열의 끝에서 지정한 길이만큼 제거하여 새로운 문자열을 반환합니다.사용 예시:FString Result = ItemName.LeftChop(3); // 끝에서 3글자 제거주요 활용:특정 패턴의 끝 부분을 제거하여 필요한 부분만 .. 2025. 1. 22. 언리얼엔진5 Pain Causing Volume (함정, 불, 발판 데미지 볼륨) ▣ 먼저 Pain Causing Volume을 추가합니다. ▣ 디테일탭에서 필요한 값을 조절합니다.Pain Causing 피해 유발 - 볼륨이 현재 대미지를 입힐지 말지입니다. Damage Per Sec 초당 대미지 - Pain Causing 이 켜져 있을 때 볼륨에 있는 액터에게 입히는 초당 대미지입니다. Damage Type 대미지 유형 - 액터에 가해지는 대미지 유형을 나타냅니다. Pain Interval Pain Causing 이 켜졌을 때 대미지가 적용되는 초단위 간격입니다. Entry Pain 진입 피해 - Pain Causing 이 켜진 볼륨에 들어설 때 Pain Interval 에 따른 지속 대미지에 추가로 즉시 적용할 대미지를 나타냅니다. ▣ 충돌한 대상 Player에 Event Da.. 2025. 1. 13. 언리얼엔진5 Blueprint Camera Zoom ▣ Timeline을 활용해서 0.3초에 0->1 값으로 Alpha이 바뀌는데 이걸 활용해서 카메라 줌과 위치를 변경하는 블루프린트 노드 제작했습니다. 2025. 1. 11. 언리얼엔진5 일정 시간 후 호출함수(람다 함수) ▣ FTimerHandle HitSoundDelayHandle 타이머 핸들(Handle): 이 변수는 타이머를 식별하는 데 사용됩니다. 특정 타이머를 관리하거나 중지(ClearTimer)하기 위해 필요합니다. FTimerHandle은 FTimerManager와 함께 작동하며, 타이머 설정, 실행, 삭제 등을 처리합니다. ▣ GetWorld()->GetTimerManager() 타이머 매니저(Timer Manager): GetTimerManager()는 타이머를 관리하는 클래스인 FTimerManager에 접근하는 함수입니다. 이를 통해 타이머를 생성, 시작, 정지, 리셋할 수 있습니다. GetWorld() 함수는 현재 월드의 포인터를 반환하며, 이를 통해 타이머 매니저를 사용할 수 있습니다. ▣ SetT.. 2024. 12. 20. 언리얼엔진5 Texture 성능최적화 ▣ LODBias 개념: 텍스처의 LOD(Level of Detail)를 조정하여 해상도를 단계적으로 낮추는 값입니다. 원래 텍스처의 해상도에서 한 단계씩 낮춰서 렌더링에 사용됩니다. 작동 원리 LODBias = 0: 텍스처의 원래 해상도 사용 (기본값). LODBias = 1: 텍스처 해상도를 절반으로 줄임 (예: 2048x2048 → 1024x1024). LODBias = 2: 텍스처 해상도를 4분의 1로 줄임 (예: 2048x2048 → 512x512).효과 메모리 사용량 감소: 해상도를 줄이므로 GPU 메모리 사용량이 줄어듭니다. 성능 향상: 낮은 해상도 텍스처를 사용하면 렌더링 속도가 향상됩니다. 품질 저하: 과도하게 LODBias 값을 높이면 텍스처가 흐릿하게 보일 수 있습니다. ▣ Maxi.. 2024. 12. 18. 언리얼엔진5 Material Base ▣ Base Color는 Unreal Engine의 PBR(Physically Based Rendering) 머티리얼 시스템에서 사용되는 핵심 속성 중 하나로, 재질의 기본 색상을 정의합니다. 표면의 고유 색상을 나타내며, 조명과 반사광의 영향을 받습니다. ▣ Metallic은 Unreal Engine의 PBR(Physically Based Rendering) 시스템의 주요 속성 중 하나로, 재질이 금속성을 얼마나 띄는지를 결정하는 파라미터입니다. 이 값은 0.0 ~ 1.0 사이의 값을 가지며, 재질의 시각적 특성에 큰 영향을 줍니다. 0.0 (비금속)재질이 금속적이지 않은 표면입니다. 예시: 나무, 돌, 흙, 플라스틱 등의 재질. 이런 재질은 Diffuse(확산광)와 Specular(반사광)를 모두 .. 2024. 12. 17. 언리얼엔진5 단축키 Gizmo - Translate(이동) : W Gizmo - Rotate(회전) : E Gizmo - Scale(크기) : R Grid Translate(이동) Snap Size 조절 : [ (작게) , ] (크게) Grid Rotate(회전) Snap Size 조절 : Shift + [ (작게) , ] (크게) 선택 오브젝트 숨기기 : H 선택 오브젝트만 보이기 : Shfit + H 오브젝트 모두 보이기: Ctrl + H 선택 오브젝트 카메라 포커스 F 선택 오브젝트 복사 : Ctrl + D , Alt + Gizmo 이동 선택 오브젝트 콘텐츠 브라우저에서 찾기 : Ctrl + B 에셋 탐색기 찾기 : Ctrl + P 선택 오브젝트 에셋 에디터 열기 : Ctrl + E 선택 오브젝트 레퍼런스 뷰어 열기 .. 2024. 12. 17. 언리얼엔진5 c++ Widget Texture 제거 ▣ SetBrush(FSlateBrush())는 UImage의 브러시를 기본값으로 설정하며, 텍스처가 제거됩니다. FSlateBrush 객체는 브러시 설정을 관리하며, 기본값으로 초기화되면 텍스처가 비어 있게 됩니다. ▣ ESlateVisibility 값: Visible: 완전히 보이는 상태. Hidden: 숨겨져 있지만, 레이아웃에서 공간을 차지함. Collapsed: 숨겨지며, 레이아웃에서 공간도 차지하지 않음. 2024. 12. 2. 언리얼엔진5 c++ Sphere Trace ▣ 코드설명 FDamageEvent() 함수를 사용하기 위해서는 Engine/DamageEvents.h 헤더를 추가해야 합니다. StartLocation: 좀비 메쉬의 hand_r라는 소켓 위치를 가져옵니다. 이는 좀비의 손 위치를 기준으로 충돌을 시작하는 지점을 설정합니다.EndLocation: SphereTrace의 시작과 끝 지점을 동일하게 설정(구체 중심). 여기서는 한 지점에서만 충돌을 검사하기 때문에 동일한 값을 사용합니다.SphereRadius: 충돌 체크를 수행할 Sphere의 반지름을 설정합니다. 여기서는 70.0f로 설정되어 있습니다.Params: 충돌 계산 중에 특정 액터를 무시하도록 설정합니다. 여기서는 NormalZombie(자기 자신)를 무시하도록 추가했습니다. SweepSi.. 2024. 11. 25. 언리얼엔진5 c++ Widget Image 투명도 설정 ▣ UImage를 사용하기 위해서는 헤더에 Compoents/Image.h를 추가해야 합니다. ▣ BloodEffect"라는 이름의 위젯 가져오기GetWidgetFromName(TEXT("BloodEffect"))는 UMG 위젯 내부에 있는 "BloodEffect"라는 이름의 컴포넌트를 찾습니다. 컴포넌트를 가져온 후 UImage로 형변환(Cast)하여 BloodImage 변수에 저장합니다. ▣ SetColorAndOpacity이미지의 색상(Color)과 투명도(Opacity)를 설정하는 함수입니다. FLinearColor는 4개의 float 값을 사용하여 색상을 정의합니다: (R, G, B, A). R, G, B: 색상 (빨강, 초록, 파랑) A: 투명도 (1.0은 불투명, 0.0은 완전히 투명) F.. 2024. 11. 22. 언리얼엔진5 c++ Hit 관련 처리 ▣ 검사 필요:Hit.GetActor()가 nullptr일 가능성이 있으므로 반드시 확인해야 합니다. Actor가 이미 다른 곳에서 Destroy 처리된 경우를 대비해 항상 유효성 검사를 해야 합니다.Destroy로 관리되는 Actor만 가능:Destroy()는 AActor에서만 유효합니다. 컴포넌트나 다른 객체는 이 메서드를 사용할 수 없습니다. 만약 사라지는 대신 Actor를 숨기거나 비활성화하고 싶다면, SetActorHiddenInGame(true) 또는 SetActorEnableCollision(false)와 같은 메서드를 사용할 수도 있습니다. ▣ API https://docs.unrealengine.com/4.27/en-US/API/Runtime/Engine/GameFramework/AA.. 2024. 11. 18. 언리얼엔진5 c++ Damage IgnoreHit random ▣ 코드 설명 IgnoreHitChance 설정: IgnoreHitChance 값으로 피격 반응을 무시할 확률을 설정합니다. 예를 들어, 0.3f로 설정하면 30% 확률로 피격 반응을 무시합니다.확률 계산: FMath::FRand()는 0.0에서 1.0 사이의 랜덤 부동소수점 값을 반환합니다. 이 값이 IgnoreHitChance 이하일 경우 피격 반응을 무시합니다.피격 반응 조건: 확률을 통해 피격 반응이 무시된 경우에는 return Damage;로 함수를 종료하여 피격 효과와 애니메이션을 재생하지 않습니다. 확률에 따라 피격 반응이 무시되지 않은 경우, 피격 애니메이션과 효과를 정상적으로 재생합니다. 2024. 11. 12. 언리얼엔진5 c++ PlaySoundAtLocation 소리강조 ▣ 매개변수 설명 WorldContextObject (UObject*):사운드가 재생될 월드를 지정하는 객체입니다. 대개 this로 현재 객체를 전달합니다.Sound (USoundBase*):재생할 사운드 에셋입니다. 일반적으로 USoundCue 또는 USoundWave 형식의 사운드를 사용합니다.Location (FVector):사운드가 재생될 월드 좌표입니다. 예를 들어, GetActorLocation()을 사용해 특정 액터의 위치에서 재생할 수 있습니다.VolumeMultiplier (float):사운드의 볼륨을 조정하는 배율입니다. 기본값은 1.0f이며, 2.0f로 설정하면 소리가 두 배 커지고, 0.5f로 설정하면 절반으로 작아집니다.PitchMultiplier (float):사운드의 피치(재생.. 2024. 11. 9. 언리얼엔진5 c++ Hit Niagara 재생 ▣ NiagaraFunctionLibrary를 사용하기 위해서는 Niagara 모듈을 프로젝트에 추가해야 합니다. Niagara 모듈이 포함되지 않으면 해당 헤더 파일을 찾을 수 없다는 오류가 발생할 수 있습니다. 이를 해결하려면 프로젝트의 Build.cs 파일에 Niagara 모듈을 추가해야 합니다. ▣ UNiagaraSystem 타입을 사용하여 Niagara FX를 HitFXArray에 추가합니다.UNiagaraFunctionLibrary::SpawnSystemAtLocation을 사용하여 충돌 위치(HitLocation)에서 Niagara FX를 재생합니다.각 Niagara FX는 /Game/Effects/NS_Hit1와 같은 경로에 위치한다고 가정합니다. 필요에 따라 경로 했습니다. ▣ Const.. 2024. 11. 8. 이전 1 2 3 4 ··· 6 다음