부모 기준의 상대적인 위치/회전/스케일 값을 가져옴
부모 기준으로 자식의 위치/회전 값을 조정함
FPS(Frame Per ecSond) : 초당 몇 프레임을 연산 및 실행할 수 있는지
FPS의 값에 따라 플레이 환경이 달라 질 수 있음
ex) 매 틱마다 1유닛 씩 변경되는 움직이는 발판을 만든다고 가정할 때,
초당 100프레임을 연산하는 컴퓨터에서는 1초에 Tick함수가 100번 실행되고, 초당 30프레임을 연산하는 컴퓨터에서는 30번 실행됨
이 말은 컴퓨터의 환경에 따라 게임 체감 속도가 달라질 수 있다는 것을 의미
#include "Item.h"
AItem::AItem()
{
PrimaryActorTick.bCanEverTick = true; // Tick함수 활성화 (생성자에서)
RotationValue = 90.0f; // 회전값
}
void AItem::Tick(float DeltaTime)
{
Super::Tick(DeltaTime);
// 액터의 로컬좌표를 기준으로 z축을 회전시킴
AddActorLocalRotation(FRotator(0.0f, RotationValue * DeltaTime, 0.0f));
}
FRotator(Pitch, Yaw, Roll)
당연히 X, Y, Z순의 값이 들어갈 줄 알았는데 다른 방향으로 회전해서 놀랐음
월드 좌표 기준으로 회전하고 싶다면 AddActorWorldRotation()

#include "Item.h"
AItem::AItem()
{
PrimaryActorTick.bCanEverTick = true;
LocationValue = 100.0f; // 이동값
}
void AItem::Tick(float DeltaTime)
{
Super::Tick(DeltaTime);
// 월드 좌표 기준으로 이동
AddActorWorldOffset(FVector(0.0f, 0.0f, LocationValue * DeltaTime));
}

어느 하나만을 사용하는 것이 아니라 각각의 장점을 취해 섞어서 사용함
Blueprint 활용
UI 제작, 간단한 이벤트 처리, 시각적 연출 등 빠른 프로토타이핑과 직관적인 로직 작성에 사용
C++ 활용
높은 성능이 필요한 게임플레이 로직이나 엔진 레벨의 확장, 복잡한 수학 연산 등에 사용
C++ 클래스의 변수 및 함수 정보를 엔진 내부의 메타데이터 형태로 저장하고, 이를 에디터나 블루 프린트에서 활용할 수 있게 만들어주는 기술
#include "클래스이름.generated.h"
- 클래스의 리플렉션 및 엔진 통합에 필요한 코드가 들어있음
❗반드시 헤더파일의 가장 마지막 #include 구문 아래에 위치해야 함 (빌드 에러 발생 위험)
UCLASS()
- 해당 클래스를 언리얼 엔진의 리플렉션 시스템에 등록한다는 의미
- 이 매크로가 있어야 에디터 차원에서 이 클래스를 인식하고 사용할 수 있음
- 만약 옵션을 주지 않으면 상속이 가능하고 변수로 참조 가능한 형태로 등록됨
- 주요 옵션
Blueprintable : 블루프린트에서 상속 가능한 클래스로 만듦NotBlueprintalbe : 블루프린트에서 상속할 수 없는 클래스로 만듦BlueprintType : 블루프린트에서 변수나 참조로 사용할 수 있게 함 (상속 X)GENERATED_BODY()
- 클래스 내부에 필요한 리플렉션 정보를 자동으로 생성해 줌
편집 가능 범위
- VisibleAnywhere : Read only / Default, Instance
- EditAnywhere : Read, Write / Default, Instance
- VisibleDefaultOnly : Read only / Default
- EditDefaultsOnly : Read, Write / Default
- VisibleInstanceOnly : Read only / Instance
- EditInstanceOnly : Read, Write / Instance
Blueprint 접근성
- BlueprintReadOnly : Read only / Event Graph
- BlueprintReadWrite : Read, Write / Event Graph
💡 Default, Instance, Event Graph
- Default : 뷰포트, 블루프린트 에디터창의 Details 패널에서 보임
- Instance : 뷰포트 Details 창에서만 보임
- Event Graph : 보이는 것 뿐아니라 Event Graph에서 사용할 수 있음
카테고리
- Category = "카테고리 이름"
- Transform 항목 바로 아래 표시됨
메타 옵션 지정자
- meta = (ClampMin = "0.0")
에디터에서 변수 입력 시 최소값을 제한할 수 있음
- meta = (AllowPrivateAccess = "true")
해당 멤버가 private로 선언되어 있어도, 에디터나 Blueprint에서 접근할 수 있도록 허용
BlueprintCallableBlueprintPureBlueprintImplementableEvent