블루프린트 클래스와 인스턴스
오브젝트 프로그래밍은 클래스와 인스턴스를 사용할 떄 진정한 활용도를 가진다.
따라서 이번 강의에서 블루프린트 클래스와 인스턴스에 대한 내용을 다룬다.
먼저 예시를 들면 다음과 같다.
모험가
데이터 : 경험치 500, 레벨 1
기능 : 점프, 화살비 스킬
-> 오브젝트를 만드는 원본 클래스
모험가 1
데이터 : 경험치 500, 레벨 1
-> 실제 오브젝트이자 인스턴스
모험가 2
데이터 : 경험치 200, 레벨 1
-> 마찬가지로 인스턴스
모험가 1과 2의 데이터가 다르지만 기능은 같음
-> 서로 다른 오브젝트 간의 기능 공유
해당 강의에서는 앞으로 강의에 이어서 필요한 발사체 생성하고 이를 토대로 클래스를 생성하였다.
씬에 있는 스피어는 단일 오브젝트에서만 활용된다.
이를 여러 오브젝트의 블루프린트 클래스로 변경하는 과정이 필요하며 이는 우측 디테일 패널의 이미지상 빨간 박스로 표시된 버튼을 눌러주면 된다.
누르면 이어서 새 서브클래스를 생성하는 화면이 나온다.
여기서 블루프린트 클래스 이름은 보통 접두어로 BP를 붙여준다.
이제 생성된 화면을 볼 수 있다.
해당 화면을 보면 레벨 블루 프린트 화면과 상당히 유사한 것을 볼 수 있다.
간단하게 차이점을 본다면 여기서는 뷰포트가 존재하여 오브젝트 인스턴스를 만들 때 이 블루프린트 클래스가 어떻게 보일지 확인이 가능하다.
다시 메인 화면으로 나와 아래 콘텐츠 폴더를 보면 블루프린트 클래스가 생성된 것을 확인할 수 있다.
이제 해당 파일을 씬으로 드래그하면 블루프린트의 새 사본 즉 새 인스턴스가 생성이 된다.
당연하게도 에디터에서 프로퍼티를 변경하면 모든 인스턴스에 대해 해당 속성이 변경된다.
프로퍼티를 보려면 좌측에서 컴포넌트를 눌러주어야 한다.
프로퍼티를 살펴보면 머티리얼이 존재하며 여기서 발사체의 머티리얼을 바꿔줄 수 있다.
쉽게 생각하면 캐릭터 스킨을 바꾸는 것과 비슷하다고 생각하면 된다.
여기서 발사체(대포알)와 비슷하다고 생각되는 Metal_Chrome를 선택하였다.
머티리얼을 바꾸면 모든 인스턴스에 적용되기 때문에 콘텐츠 폴더에서 새 인스턴스를 생성할때 마다 모두 변경된 머티리얼이 적용되어 있는 것을 확인할 수 있다.
'Unreal > Udemy 강의' 카테고리의 다른 글
Unreal Engine 5 - C++ 개발자: C++ 학습하고 비디오 게임 제작하기 Section 2-8 (0) | 2024.02.24 |
---|---|
Unreal Engine 5 - C++ 개발자: C++ 학습하고 비디오 게임 제작하기 Section 2-7 (0) | 2024.02.23 |
Unreal Engine 5 - C++ 개발자: C++ 학습하고 비디오 게임 제작하기 Section 2-5 (0) | 2024.02.22 |
Unreal Engine 5 - C++ 개발자: C++ 학습하고 비디오 게임 제작하기 Section 2-4 (0) | 2024.02.21 |
Unreal Engine 5 - C++ 개발자: C++ 학습하고 비디오 게임 제작하기 Section 2-3 (0) | 2024.02.21 |