오늘은 구조체로 코딩을 하다가 FIntPoint라는 자료형?에 대해 접하게 되었다.
뭔지 궁금해서 언리얼에서 사용하는 다른 자료형들과 함께 정리를 해보았다.
TArray
- std::vector와 유사하게 동작하지만 AdddUnique, RemoveAtSwap 등의 부가적인 API를 제공한다고 함.
- 컨테이너의 element들이 가비지 컬렝팅됨. -> UObject에서 파생된 포인터들을 모두 담을 수 있음
TMap
- std::map과 유사한 언리얼에서 사용하는 키 벨류 구조의 컨테이너
FIntPoint
- 언리얼에서 사용하는 정수형 좌표(2D 벡터)를 표현하는 구조체
- 기본적인 연산자(+, -, *, /)를 지원함
FIntPoint PointA(10, 20); // X=10, Y=20 FIntPoint PointB(30, 40);
연산방법 FIntPoint A(10, 20); FIntPoint B(5, 5);
// (A의 X인 10 + B의 X인 5 = 15, A의 Y인 20 + B의 Y인 5 = 25)
FIntPoint Sum = A + B;
// (5, 15) FIntPoint Mult = A * 2; // (20, 40)
FIntPoint Diff = A - B;
Size도 반환가능하다!!
// 결과: 5.0 (3^2 + 4^2 = 5) -> X^2 + Y^2 = 루트결과인건가?
FIntPoint P(3, 4); float Size = P.Size();
Clamp로 범위 제한도 가능
FIntPoint P(120, 50);
// (100, 50)
FIntPoint Clamped = P.ClampAxes(0, 100);
마지막 말
언리얼의 자료형에 더 익숙해진 것 같아서 뿌듯하다.
항상 클래스만 쓰다가 구조체를 쓰니까 뭔가 낯설긴한데 자주 예제를 찾아서 적용해봐야겠다.
'Unreal Engine' 카테고리의 다른 글
[ UE ] 데디케이트 서버 환경 만들기 (0) | 2025.03.17 |
---|---|
[ UE ] 언리얼 멀티플레이어에서 NetMode가 뭘까? (0) | 2025.03.14 |
[ UE ] 언리얼의 네트워크 개념 (0) | 2025.03.11 |
[KPT 회고] HelloWorld TPS 슈터게임 (0) | 2025.03.07 |
[ UE ] 적 공격할 때 카메라 깜빡이는 문제 (0) | 2025.02.28 |