1. 블루프린트 클래스란 무엇인가?
- 블루프린트 클래스는 Unreal Engine에서 객체 지향 프로그래밍의 시작점으로, 게임의 객체(Actor, Pawn, Character 등)를 정의하고 조작할 수 있는 설계도입니다.
- 이 설계도를 기반으로 여러 객체를 생성하면, 설계도가 수정될 때 모든 객체에 동일한 변경사항이 적용됩니다.
- 설계도라는 개념 덕분에 유지보수가 용이하고, 코드를 작성하지 않고도 다양한 기능을 구현할 수 있습니다.
2. 블루프린트 클래스 생성
-
클래스 생성 위치:
Content Browser
에서 우클릭 후 Blueprint Class
선택.
- 자주 사용되므로 별도 메뉴로 분리되어 있습니다.
-
부모 클래스 선택:
- 클래스를 생성할 때 상속받을 부모 클래스를 지정해야 합니다.
- 예시:
Actor
, Pawn
, Character
등.
- 예제에서는
Actor
를 선택해 블루프린트 클래스를 생성했습니다.
3. 속성 추가
-
Components 섹션:
- 좌측 상단의
Components
에서 Add
버튼을 눌러 새로운 컴포넌트(Body, Gun 등)를 추가합니다.
- 예제에서는
Cylinder
와 Cube
를 추가하여 Body
와 Gun
을 구성했습니다.
-
구성 완료 후 컴파일:
- 컴포넌트를 추가한 후 컴파일 및 저장을 하면, 클래스의 아이콘 이미지가 변경됩니다.
- 예제에서는 실린더 모양(Body)와 큐브 모양(Gun)이 결합된 클래스가 생성되었습니다.
4. 클래스 사용
-
맵에 배치:
- 클래스 생성 후, 드래그 앤 드롭으로 맵에 객체를 배치합니다.
- 객체를 여러 개 배치한 후 클래스 자체를 수정하면, 모든 객체에 동일한 변경 사항이 적용됩니다.
- 예제에서는 Body와 Gun으로 구성된 플레이어 클래스를 배치 후, Head 컴포넌트를 추가하여 전체 객체에 반영했습니다.
-
효율적인 관리:
- 블루프린트 클래스는 하나의 설계도로 여러 객체를 관리할 수 있으므로, 개별 객체를 수정하지 않아도 됩니다.
5. 객체 참조와 이벤트 그래프
-
참조값:
- 클래스 타입의 변수는 참조값(메모리 주소)를 가리킵니다.
- 즉, 맵에 배치된 오브젝트를 선택하고 레벨 블루프린트에서 참조를 생성할 수 있습니다.
-
이벤트 그래프:
- 블루프린트 클래스 내부의 이벤트 그래프를 사용하여 클래스에 대한 행동(Behavior)을 정의합니다.
- 예: BeginPlay, Tick 이벤트, 사용자 입력 등.
6. 객체 지향적 설계
- 블루프린트 클래스 = 설계도:
- 블루프린트 클래스는 객체 설계도로, 클래스를 기반으로 생성된 모든 객체가 동일한 동작을 공유합니다.
- 예제에서는 Body, Gun, Head로 구성된 캐릭터를 설계하고, 이를 맵에 배치하여 여러 개의 객체를 생성했습니다.