오브젝트 프로그래밍의 진정한 힘은 클래스와 인스턴스를 사용할 때 나타남.
클래스 : 기본 데이터와 기능을 가지며 인스턴스, 즉 오브젝트를 만들 수 있는 설계도
인스턴스 : 클래스의 고유한 데이터 사본을 가지는 실제 오브젝트.
이러한 구조에는 두 가지 이점이 있음
발사체 오브젝트를 생성
shapes -> Sphere 드래그 앤 드롭
이 원 오브젝트를 단일 오브젝트에서 여러 오브젝트의 블루프린트 클래스로 바꿈
바꾸는 방법은 간단함.
해당 원 오브젝트를 클릭하고 Details에서 Add 버튼 옆에 있는 아이콘을 클릭하면 해당 액터를 스크립트 behavior를 가질 수 있는 재사용 가능한 블루프린트로 변환해줌.
클릭 시 위와 같은 화면이 나옴.
새로운 클래스를 생성할 것이므로 New Subclass 선택 그대로 두고 이름만 변경
블루프린트 클래스를 만들 때는 접두어로 BP를 대문자로 쓰고 언더스코어를 붙임으로써 해당 오브젝트가 블루프린트 클래스임을 알 수 있도록 함.
레벨 블루프린트 화면과 비슷하지만 Viewport 탭처럼 몇 가지 다른 점이 있음.
Viewport 탭에서는 오브젝트 인스턴스를 만들 때, 이 블루프린트 클래스가 어떻게 보일지 미리 확인할 수 있음.
위처럼 블루프린트 클래스를 생성하면 Content Browser에 해당 이름의 클래스가 생성된 것을 확인할 수 있음.
이 클래스를 씬에 드래그 앤 드롭하면 해당 클래스의 새로운 인스턴스가 생성됨.
그러나 이러한 인스턴스들은 연결된 사본임. 즉, BP_Projectile 클래스의 에디터에서 속성을 변경하면 모든 인스턴스에 대해 해당 속성이 변경됨.
클래스 에디터의 오른쪽에 Details 탭이 있는데, 레벨 에디터의 Details 와 비슷함.
다른 점은 속성을 보려면 왼쪽 창에서 컴포넌트를 클릭해야 함.
여기서 주목해야 하는 것 중 하나는 Materials
디폴트로 흰색으로 돼있지만 원하는 material 로 선택할 수 있음.