UE5 C++ | Obstacle Assault, 블루프린트 하위 클래스 (유데미)
언리얼 강의 중 Section 3를 정리한 네번째 글입니다.
UE5 C++ | Obstacle Assault, 블루프린트 하위 클래스 (유데미)
강의 정보 🎓
- 강의명: Unreal Engine 5 C++ Developer: Learn C++ & Make Video Games
- 플랫폼: 유데미
- 현재 섹션: Section 3 - Obstacle Assault
- 주요 내용: 범위 지정 연산자, if문 등을 통해 움직임을 구현하고 하위 블루프린트 클래스를 이용하여 기둥을 만들었다.
범위 지정 연산자 🧭
scope resolution operator
::
형태로 표기되며, 식별자의 범위를 명시적으로 지정할 때 사용하는 연산자이다,- 변수, 함수, 클래스, 네임스페이스 등을 특정 범위 내에서 참조할 수 있게 해준다.
- 예시: 두 벡터 간 거리 계산
1
float dist = FVector::Dist(StartLocation, CurrentLocation);
If 문장 ✅
- if문을 통해 Moving Platform이 일정 구역을 왔다 갔다 하도록 만들었다.
1
2
3
4
5
if (DistanceMoved > MoveDistance)
{
StartLocation = CurrentLocation;
PlatformVelocity *= -1.0f;
}
멤버 함수 사용 🎯
PlatformVelocity
가 커서 지나칠 경우, 정확한 위치로 다시 정렬 필요하다.GetSafeNormal()
을 이용해 이동 방향만 추출 가능하다.GetSafeNormal()
은 방향 벡터를 리턴하며, 크기는 1로 정규화됨
1
2
3
4
5
6
7
8
if (DistanceMoved > MoveDistance)
{
FVector MoveDirection = PlatformVelocity.GetSafeNormal();
StartLocation = StartLocation + MoveDirection * MoveDistance;
SetActorLocation(StartLocation);
PlatformVelocity *= -1.0f;
}
블루프린트 하위 클래스 🧱
생성 방법
MovingPlatform
C++ 클래스 우클릭 → 블루프린트 클래스 생성- 생성된 블루프린트:
BP_MovingPlatform
- 에디터 창에서 다음 컴포넌트 추가:
SM_Kit_Floor
(스태틱 메시)- 추가로
Wall
메시를 넣어 기둥이 올라갔다 내려가는 움직임을 표현하였다.
블루프린트는 C++ 클래스의 기능을 시각적으로 확장해 조작할 수 있게 해줌
요약 및 느낀점 📝
- 범위 지정 연산자, if문과 멤버 함수를 이용하여 움직이는 로직을 구현 할 수 있다.
- 하위 블루프린트 클래스를 통해 스태틱 메쉬를 추가하고 이동 방향 등을 에디터로 수정하였다.
느낀점 💡 제법 그럴듯한 기둥이 만들어진 것 같고 C++과 언리얼 에디터 간의 상호작용에 점점 익숙해지는 느낌이 들고있다.
이 기사는 저작권자의 CC BY 4.0 라이센스를 따릅니다.