하위 C++ 클래스 생성하기
탱크와 터렛은 베이스폰을 기준으로 기본적인 기능을 상속받지만, 둘의 구체적인 기능은 조금씩 다르다.
대표적인 것이 터렛은 움직일 필요가 없고, 탱크는 움직여야 한다.
따라서 기본 베이스폰 클래스를 기준으로 하위 C++ 클래스를 생성하여 구체적인 기능을 기술해줄 필요가 있다.
탱크는 추가적으로 탱크를 포커스하기 위해 카메라 컴포넌트와 스프링 암 컴포넌트가 필요하다.
스프링 암 컴포넌트는 카메라와 탱크를 이어주는 역할을 한다.
두 컴포넌트를 추가해주면 카메라의 시선으로 탱크를 보는 것이 가능하다.
이제 Tank 클래스에서 두 컴포넌트들을 선언해주자.
처음에는 생성자가 없는데, CreateDefaultSubobject 함수 사용을 위해 생성자를 만들어주어야 한다.
이제 컴파일을 하고 BP_Tank로 가면, 우리가 추가한 컴포넌트가 보이지 않는다.
이는 당연한 것으로, 해당 블루프린트는 베이스폰 클래스를 바탕으로 만들어진 것이기 때문이다.
따라서 클래스 세팅에서 부모 클래스를 Tank 클래스로 변경해주어야 한다.
이제 카메라 컴포넌트와 스프링 암 컴포넌트가 무사히 보이게 된다.
보는 방향을 조절하고 싶을 수 있는데, 카메라가 아니라 스프링 암의 길이와 각도를 조절해서 수정해주어야 한다.
스프링 암엔 카메라가 벽에 부딪히면 알아서 시야를 위해 길이를 줄이는 기능과 같은 빌트인 기능이 다수 존재한다.
'Unreal > Udemy 강의' 카테고리의 다른 글
Unreal Engine 5 - C++ 개발자: C++ 학습하고 비디오 게임 제작하기 Section 5-12 (0) | 2024.04.03 |
---|---|
Unreal Engine 5 - C++ 개발자: C++ 학습하고 비디오 게임 제작하기 Section 5-11 (0) | 2024.04.02 |
Unreal Engine 5 - C++ 개발자: C++ 학습하고 비디오 게임 제작하기 Section 5-9 (0) | 2024.04.02 |
Unreal Engine 5 - C++ 개발자: C++ 학습하고 비디오 게임 제작하기 Section 5-8 (0) | 2024.04.01 |
Unreal Engine 5 - C++ 개발자: C++ 학습하고 비디오 게임 제작하기 Section 5-7 (0) | 2024.04.01 |