언리얼 C++가 뭔가뭔가인듯
언리얼 C++ 과제, 알고리즘 2문제
#include "CoreMinimal.h"
없어도 빌드 자체는 되지만, 많은 헤더가 들어 있어 초보자는 보조바퀴처럼 생각하고 써주는 게 좋다.
#include "SXUnrealObject.generated.h"
Native C++에는 없는 것들을 추가해주는 헤더파일이다. 가장 마지막에 작성해야 한다.
UCLASS()
언리얼 클래스 선언 전에 작성해야 하는 매크로다. 구조체는 USTRUCT(), 열거체는 UENUM()을 쓴다.
SHOOTERX_API
이 키워드가 없으면 다른 모듈에서 해당 클래스를 접근할 수 없다. 접근제어자의 public: 같은 성질이다.
USXUNrealObject
UObject 클래스를 상속 받으면 접두사 U-AActor 클래스를 상속 받으면 접두사 A-Interface 클래스는 접두사 I-Template 접두사는 T-F-UObject
클래스를 상속 받아야 언리얼 오브젝트 기능들 사용 가능
ex) 가비지 컬렉션, 리플렉션 등
GENERATED_BODY()
이 매크로가 있어야 위에 있는 generated.h가 제대로 만들어진다.
FVector
언리얼에서 X, Y, Z 좌표를 담는 자료형이다.
- `generated.h`는 반드시 마지막에 포함해야 한다.
- 언리얼은 일반 C++만 쓰는 게 아니라, 매크로와 리플렉션 규칙을 같이 따라야 한다.
- `UObject` 계열은 엔진 기능을 받기 위해 붙는 뼈대다.
- `FVector`는 좌표를 다룰 때 자주 쓰는 기본형이다.