1월 27일 임시공휴일이지만 필자는 학원에 나와야 한다고 한다. 하... 그래서 블루프린트 공부하는 겸사겸사 블로그 글도 올려볼까 한다.
1. 블루프린트는 무엇인가?
Blueprint 는 시각 프로그래밍 언어이다.. C++코드를 작성하는 대신 노드기반 인터페이스를 사용해 게임 로직을 만들 수 있다.
블루프린트를 이용하는 이유는?
1. 노드 사용으로 게임 플레이 로직을 빠르게 구현가능하다.
2. 컴파일로 인한 지체시간 없이 빠르게 수정 또는 테스트플레이를 할 수 있다.
3. C++의 어려운 문법을 외울 필요없이 접근성이 좋다.(그래서 아티스트 디자인 하시는 분들이 사용하기도 함)
-> 협업하기 좋다.
4. 언리언 전용으로 만들어져 충돌이없다.
그럼 C++은 왜 사용하는가?
1. 업계 표준 언어이다. 그만큼 접할 수 있는 매체가 많고 도움을 구하기 쉬움
2. 속도가 매우 빠르다.
3. 블루프린트는 기능에 제약이 있지만 c++은 대규모 프로젝트도 가능하다.
결론 C++, 블루프린트의 장점을 가져가기 위해 둘 다 배우는 게 맞음
2. 블루프린트 생성방법
블루프린트를 생성하는 두 가지 방법이 있다.
1. 상단의 툴바를 이용하는 방법
상단 툴바의 박스들이 연결되어 있는 아이콘을 클릭 -> [New Empty Blureprint Class]를 이용하는 방법과
2. Contant Drawer에서 생성하는 방법
화면의 좌측 하단에 보면 Contant Drawer라는 버튼이 있다.
클릭 또는 control + Space bar 단축키를 이용해 열어 빈 곳을 우클릭 BluePrint Class 클릭
어떤 클래스의 블루프린트를 생성할 것 인지 물어보는 창이 나온다.
본인이 생성하고 싶은 클래스 선택 없으면 ALL CLASSES를 누르면 다양한 클래스를 제공하는 것을 볼 수 있다.
필자는 일단 가장 기본인 Actor을 선택해 간단한 블루프린트를 생성해 보겠다.
파일명을 지정할 수 있고 보통 블루프린트를 생성할 때는 BP_ 파일명 이런 식으로 생성해 준다.
언리얼에서 권장하는 파일명이다. 블루프린트뿐만 아니라 다른 에셋 명명 권장 파일명이 궁금하다면 아래 링크를 통해 확인해 보도록 하자
자 그럼 생성된 블루프린트를 더블클릭해서 열어보자
빈 블루프린트이기 때문에 뷰포트상에선 아무것도 볼 수 없다.
그럼 구를 하나 만들어보자
화면 좌측의 [components 창] -> [Add 클릭] -> [Sphere 클릭] 뷰포트에 구가 생성된 것을 확인할 수 있다.
그리고 우측의 Dtails 창이 활성화된다. 이곳에서 구의 transform과 materials 등 변경할 수 있다.
필자는 다른 오브젝트들과 구별을 하기 위해 materials에서 MI_solid_blue로 변경하였다.
추가적인 팁
블루프린트를 생성하고 열어보면 별개의 창이 생성되며 뜨게 된다. 하나의 창에서 이동하며 사용하고 싶다면 드래그 앤 드롭을 해서 창을 합칠 수 있다.
3. 클래스와 인스턴스
지금까지 우리는 블루프린트 클래스를 생성해 보았다. 그리고 이제 해야 할 작업은 인스턴스를 배치하는 것이다.
그럼 클래스와 인스턴스는 무엇인가? 아마 C++을 공부하다 보면 클래스와 인스턴스에 대해 들어본 적 있을 것이다.
이것이 필자가 그린 잠봉뵈르 레시피이다. 이것을 클래스라고 한다. 잠봉뵈르 재료 바게트, 버터, 햄이 들어가고 만드는 방법은 잘라서 버터와 햄순으로 올리고 다시 빵을 올린다.
이것이 인스턴스이다. 클래스를 바탕으로 만들어진 물체이다.
클래스는 객체의 설계도라고 생각하면 된다.
인스턴스는 클래스를 바탕으로 만들어진 실체이다.
즉 블루프린트 클래스에서 우리는 파란색 구 라는 레시피를 만든 것이다. 이 구를 맵 위에 설치하는 그 순간 인스턴스를 설치한다는 소리임 ㅇㅅㅇ
Contant Drawer (단축키 control + Space bar) 오픈 -> 블루프린트 클래스를 원하는 곳에 끌어놓으면 인스턴스가 생성이 된다.
레벨에 배치된 인스턴스를 확인할 수 있다.
즉 블루프린트 클래스를 수정을 한다면 인스턴스도 같이 수정이 된다고 보면 된다. 설계도 자체가 바뀌는 것이라서
내가 잠봉뵈르 레시피를 바게트빵이 아닌 베이글빵으로 변경하면 생성되는 인스턴스는 당연 잠봉베이글이 나오는 것이다.
블루프린트에서 메테리얼을 변경해 보았다.
클래스가 수정되니 자동적으로 인스턴스도 변경되는 것을 알 수 있다.
오늘은 여기까지
사담
왜 잠봉뵈르인가
침착맨의 동생 통천의 잠봉뵈르 레시피 너무 맛있어서 한때 잠봉뵈르에 미쳐있었기 때문
https://www.youtube.com/watch?v=Mj0H_0fJrHc
'Unreal > Engine' 카테고리의 다른 글
『인생 언리얼 5 프로젝트 교과서』 2.2 프로토타입 버전 제작하기 복습용 feat. 벡터의 정규화 (1) | 2025.02.12 |
---|---|
[언리얼 02.06] 피직스 시뮬레이션 / 유데미 스터디 시작 / 클래스 101, 콜로소, 유데미 비교 (2) | 2025.02.07 |
[언리얼 02.03]블루프린트 이벤트 그래프, 노드, 노드 생성, 노드 제거 (0) | 2025.02.03 |
[언리얼 01.24] 액터 추가, 액터 이동 및 배치, 액터 회전 및 크기변경, 기즈모는 무엇인가 (0) | 2025.01.24 |
[언리얼 01.23] 프로젝트 생성, 화면 구성, 레이아웃 설정, 화면 이동, 이동시 버벅일때 해결방안 (1) | 2025.01.23 |