언리얼 엔진에서는 T와 F 같은 접두어를 통해 특정한 유형의 클래스나 자료 구조를 구분한다. 이는 에픽 게임즈의 코딩 스타일 가이드에 따른 명명 규칙이며, 각 접두어는 특정 목적을 가진 클래스 그룹을 나타낸다.T 접두어는 주로 템플릿 기반 클래스에 사용된다. 언리얼 엔
TArray는 C++의 Vector와 유사한 동적 배열이다. 따라서 런타임에 배열 크기를 동적으로 변경할 수 있으며, 다양한 자료형을 담을 수 있다.새로운 요소를 추가할 때 사용한다.C++의 배열처럼 인덱스를 통해 요소에 접근할 수 있다.현재 배열에 들어 있는 요소의
FVector는 언리얼 엔진에서 3D 벡터(Vector)를 나타내기 위한 클래스다. 주로 다음과 같은 상황에서 사용된다.위치(Position): 3D 월드에서 객체의 위치를 나타낼 때방향(Direction): 특정 방향을 나타낼 때크기(Scale): 객체의 크기를 나타
TArray에 저장된 요소의 개수를 반환해줌
Unreal Engine에서 상위 클래스의 가상 함수를 오버라이딩할 때, Super::함수이름을 호출해야 하는 경우가 많다. 이 호출은 상위 클래스의 기본 동작을 유지하거나 확장하려는 목적으로 사용된다.상위 클래스 함수에 정의된 중요한 초기화, 업데이트, 종료 작업이
UObject는 언리얼 엔진의 모든 클래스 계층 구조에서 최상위 클래스 역할을 한다. UObject는 C++ 클래스지만, 언리얼 엔진의 리플렉션 시스템과 Garbage Collection(가비지 컬렉션)에 통합되어 있어 메모리 관리와 데이터 직렬화 등에서 중요한 역할을
이 헤더 파일이 중복 포함되는 것을 방지한다. 과거에는 \`언리얼 엔진에서 자주 사용하는 기본 타입(FString, TArray), 매크로(UE_LOG), 유틸 함수 등을 제공한다. 모든 언리얼 C++ 클래스에서 반드시 포함해야하는 헤더파일이다.AActor를 상속받
컴포넌트(Component)는 Actor가 특정 속성을 가지거나 역할을 수행하도록 만들어주는 부품 개념이다. Actor는 컴포넌트들의 집합체다. Actor에 컴포넌트를 조합해서 다양한 기능을 구현할 수 있다. 예를 들어:Static Mesh Component로 3D
언리얼 엔진에서 특정 리소스를 경로 기반으로 로드하는 클래스 템플릿 타입 <T>를 사용하여 로드할 리소스의 유형(예: UStaticMesh, UMaterial)을 지정한다. Static Mesh 로드로드 성공 여부 확인Succeeded(): 지정된 경로에서 리소
LogSparta: 로그 카테고리 이름 (사용자가 정의) Warning: 이 로그 카테고리에서 기본적으로 출력되는 로그 수준 Warning 이상의 로그(경고, 에러)가 출력된다. All: 필요하면 모든 로그를 활성화할 수 있다.LogTemp 카테고리 로그:LogS
생성자(Constructor), PostInitializeComponents, BeginPlay 등의 호출 시점을 이해하면 적절한 위치에 코드를 배치할 수 있다.예: 컴포넌트 생성은 생성자에서 처리월드와 상호작용은 BeginPlay에서 처리Tick 함수는 매 프레임 호
언리얼 엔진에서 Actor(액터)는 게임 세계(월드)에 존재하는 모든 오브젝트를 말한다. 예: 캐릭터, 아이템, 건물 등 게임 내에서 눈에 보이는 모든 것이 액터에 해당됨 (1) 위치 (Location)월드에서 액터가 어떤 위치에 있는지를 나타낸다. FVector
액터의 위치를 지정된 FVector 값으로 변경한다.위치 변경이 실패하면 false를 반환할 수도 있다. Sweep(충돌 감지) 옵션을 활성화하면 충돌을 고려한 이동이 가능하다.현재 액터의 위치를 FVector 형태로 반환한다.반환된 값은 월드 좌표 기준의 위치다.액터
언리얼 엔진은 매 프레임마다 다음 작업을 처리한다:렌더링(Rendering): 화면 출력 처리 (ex. 60FPS, 120FPS)물리 연산: 충돌, 중력, 마찰 등의 계산오브젝트 상태 업데이트: 액터의 동작 및 상태 변화 적용이 과정에서 특정 액터가 매 프레임 수행해야
클래스 헤더 파일에서 RotationSpeed를 선언한다.생성자에서 Tick 함수가 호출되도록 설정한다.(1) Tick 함수 사용:Tick 함수는 매 프레임마다 호출되며, 액터의 상태를 지속적으로 업데이트할 수 있다.DeltaTime은 프레임 간 경과 시간을 나타내며,
FMath::Sin()을 활용해서 반복적으로 변화하는 값을 계산한다.RunningTime에 따라 액터가 부드럽게 위아래로 이동한다.bIsMovingUp 변수로 현재 이동 방향을 제어한다.최대 높이 또는 최소 높이에 도달하면 이동 방향을 반전한다.AddActorWorld
RunningTime 증가: 매 프레임마다 DeltaTime을 더해 시간을 누적한다.FMath::Sin() 계산: RunningTime에 ScaleSpeed를 곱해 사인 함수를 계산하고, 이를 (0~1) 범위로 변환한다.FMath::Sin()의 결과는 -1~1 범위이므
액터의 월드 좌표(World Space) 기준으로 위치를 변경한다.월드 공간에서의 절대적인 축을 기준으로 동작한다. (X, Y, Z 축은 항상 고정)액터의 회전 상태(로컬 축)에 상관없이, 월드 좌표를 따라 이동한다.액터가 어떤 방향을 바라보고 있든 상관없이, 월드 좌
Lerp 함수는 두 값 A와 B 사이의 특정 비율로 중간 값을 계산하는 함수다. 비율 값은 0~1 사이로 입력되며, 이 비율이 0이면 A, 1이면 B를 반환한다. 비율 값이 0과 1 사이에 있다면, 두 값의 중간 값을 반환한다.Lerp의 수학적 표현A: 시작 값B: 끝
sin(사인) 함수는 삼각 함수의 하나로, 특정 각도에 대한 y축 값(단위 원 상에서)을 반환한다. 이 함수는 주기적이고 부드러운 곡선(사인파)을 만들어내며, 각도를 입력으로 받아 -1에서 1 사이의 값을 출력한다.수학적 정의sin(θ)는 단위 원에서 각도 θ에 해당하
DeltaTime: 프레임 간 시간 간격. 프레임마다 값이 달라지며, 프레임 속도(FPS)에 따라 값이 영향을 받는다. 예) 60FPS일 때 DeltaTime ≈ 0.016초, 30FPS일 때 DeltaTime ≈ 0.033초현재 시간: 게임이 시작된 후 흐른 총 시
Unreal Engine의 리플렉션 시스템은 클래스, 변수, 함수를 메타데이터로 등록해서 에디터에서 활용할 수 있는 시스템이다.리플렉션 시스템은 블루프린트와 강하게 연결되어 있다.UCLASS, UPROPERTY, UFUNCTION을 통해 정의된 클래스, 변수, 함수는
퓨어 함수는 입력값(Input)에 따라 결과값(Output)이 항상 동일한 함수다. 호출 시 실행 핀(Execution Pin)을 요구하지 않는다.상태(State)를 변경하지 않으며, 읽기 전용 함수로도 볼 수 있다.퓨어 함수는 값을 계산하거나 읽어오는 작업에 적합하다
상태를 변경하지 않음 둘 다 읽기 전용(Read-Only) 작업에 주로 사용된다. Getter는 변수의 값을 가져오는 데 사용되고, 퓨어 함수는 특정 계산이나 데이터를 읽어오는 작업을 수행한다. 실행 핀 없음 Getter와 퓨어 함수 모두 실행 핀(Executi
카메라와 캐릭터 간의 거리를 유지하면서 충돌 처리를 지원하는 컴포넌트다.예: 벽에 가까이 가면 카메라가 자동으로 당겨져서 벽 뒤에 가려지지 않는다.카메라 흔들림, 줌인/줌아웃 효과도 쉽게 구현 가능하다.화면에 보여질 카메라 뷰를 제공하는 컴포넌트다.Spring Arm에
Enhanced Input System은 언리얼 엔진에서 기존 입력 시스템을 대체하는 새롭게 확장된 입력 처리 시스템이다. 입력을 다양한 플랫폼에서 쉽게 관리할 수 있도록 설계되었다.입력 맵핑(Context) 기반 구조 입력을 Input Mapping Context에
FInputActionValue는 Enhanced Input System에서 사용되는 구조체로, 입력 데이터를 캡슐화한 객체다. 플레이어의 입력(키보드, 마우스, 게임패드 등)에서 얻은 값을 처리하고, 이를 다양한 타입으로 변환할 수 있다.예를 들어, IA_Move는
현재 캐릭터에 컨트롤러가 할당되어 있는지 확인한다.컨트롤러가 있어야 방향 계산이 가능하다.FInputActionValue에서 입력 데이터를 2D 벡터(FVector2D) 형식으로 가져온다.이동 입력은 X축(앞/뒤)과 Y축(좌/우) 방향의 값을 포함한다.예시:(X=1,
(1) 헤더파일에서 변수 선언(2) 생성자에서 초기화(3) Look 함수 수정X축과 Y축에 MouseSensitivity를 곱해줘서 감도에 따른 화면 회전 속도를 조절했다.
캐릭터가 자연스러운 애니메이션을 표현하려면 각 애니메이션 사이에 애니메이션 전환 조건을 정해야 한다. 이를 위해 이동 속도, 가속도, 점프, 낙하 여부 등의 정보를 가져와야 한다. 하지만 이런 캐릭터의 정보를 직접 가져오기 전에 먼저 Character Movement

Locomotion이라는 이름으로 State Machine 생성 Final Output Pose에 연결 Idle State 생성하고 Entry 에 연결Idle State에 Idle 애니메이션을 연결 Loop Animation 옵션 체크 (Idle 애니메이션이 반복

1\. Main States 이라는 이름으로 State Machine 생성2\. Control Rig 노드를 Output Pose로 연결3\. Control Rig 설정Detail 창에서 Control Rig Class를 CR_Mannequin_BasicFootIK로