언리얼

[언리얼, 블루프린트] 공부 정리 - [공식 튜토리얼] 블루프린트 핵심 개념

Esunn 2022. 8. 8. 23:51

https://learn.unrealengine.com/course/2497971

 

Epic Games

 

www.unrealengine.com

블루프린트 강의 공부 정리

 

블루프린트란?

비주얼 스크립팅 - 시각적 프로그래밍이라고 할 수 있다.

콘텐츠를 담는 컨테이너 역할.

 

컴포넌트가 포함됨 - 데이터만 저장도 가능.

예제 구현된 기능들로 분석

 

문이 예제로 나왔는데 문을 하나 만들어놓으면 그 블루프린트를 복사해서 사용하기만 하면 되기 때문에 굉장히 편리함.

가까이 가면 불이 켜지는 예제가 있는데 하나는 블루프린트 내부에 기능이 전부 구현되어 있는 게 있고

하나는 데이터 전용 블루프린트를 이용해서 기능이 보이지 않았다.

 

 

블루프린트는 컴파일식 객체 지향 비주얼 스크립팅 언어이다.

컴파일을 해줘야함. 매우 빠른 컴파일 속도.

객체가 이미 데이터를 포함하고 있다. 이 데이터를 가져올 수도 있다.

기본 프레임워크 클래스와 직접 연결됨. 모든 걸 처음부터 만들지 않아도 된다.

 

언리얼(4기준)에서는 오브젝트 클래스에서 모든 것이 파생됨 그 밑으로 다룰 수 있는 많은 액터가 있다.

각 클래스는 자손 클래스를 생성가능하며 상위 클래스의 기능을 물려받음.

 

블루프린트 종류

레벨 블루프린트 : 레벨별로 존재하는 고유의 블루프린트. 레벨에만 한정됨

클래스 블루프린트 : 모듈식에 가까움

 

블루프린트는 C++로 제작됨 블루프린트를 C++ 편집, 변환 가능. 둘의 조화가 매우 좋다.

 

 

컴포넌트 창 존재, 메인툴바, 클래스 디폴트 : 특정 블루프린트의 기본 속성 설정 가능.

 

뷰포트 탭

컨스트럭션 스크립트 : 커스터 마이징 가능한 파라미터나 프리팹 설정, 블루프린트가 수정될 때마다 작동

이벤트 그래프 : 실행중일때 스크립트

 

이벤트 디스패처 : 서로 다른 블루프린트 통신에 이용

 

블루프린트 함수 라이브러리 : 다른 블루프린트에서 액세스 할 수 있는 함수의 모음

블루프린트 인터페이스 : 블루프린트 간 통신에 쓰는 다른 방법

블루프린트 매크로 라이브러리 : 함수 라이브러리와 비슷

열거형 : 캐리릭터의 상태를 열거형으로 만들 수 있음 - 살아있음, 사망, 부상 등등

구조체 : 변수형, 인벤토리의 아이템에 필요한 내용

 

블루프린트 컴포넌트

블루프린트의 구성요소, 프로퍼티를 가짐.

 

기본 씬 루트 컴포넌트 : 블루프린트 생성 시 추가됨. 

 

어떤 에셋이든 루트가 될 수 있다. 

컴포넌트의 부모-자손 관계를 설정 가능.

 

블루프린트 그래프

이벤트 블루프린트 노드 : 스크립트 실행 (하얀 선)

컨스트럭션 스크립트에선 변경 사항이 즉시 반영됨.

 

특정 노드를 드래그 후 함수로 접기를 해서 바로 함수로 보기 편하게 정리 가능.

매크로로 접기 : 입력이 없다는 장점 값을 반환하는 역할.

노드 접기도 있다.

 

함수 : 외부 블루프린트에서 이용 가능, 매크로 : 특정한 블루프린트 내에서만 

함수와 매크로는 그 블루프린트 내에서 여러 번 쓸 수 있지만 노드 접기는 그렇지 X

 

블루프린트 유형

레벨 블루프린트 : 컴포넌트 추가 불가, 이벤트 그래프만 존재.

 

애니메이션 블루프린트 : 특정한 캐릭터 에셋의 애니메이션 로직을 생성하는 데 사용됨. 조작 상태인지 아닌지.

    애니메이션 포즈는 애님그래프에서 결정 - 스테이트 머신 존재.

 

위젯 블루프린트 : UI 제작, 뷰포트 대신 디자이너 탭 존재.

 

부모-자손 관계 블루프린트 : 부모 블루프린트로부터 필요한 기능을 상속받아 조금씩만 바꾸어 사용 가능.

 

블루프린트 사용에 주의할 점

매프레임인마다 하는 복잡한 계산 같은 것들은 C++로 하는 것이 좋다.

블루프린트는 가상 머신을 통해 C++로 변환하기 때문이다.

일부 기능은 C++로만 가능하기도 하다.

 

블루프린트는 이벤트 기반이다.

레퍼런스를 통해 데이터를 접근 종속 기반이기에 조심하자.

 

형 변환 : 오브젝트의 유형을 확인

 

 

순환 종속이라는 문제가 발생할 수 있다.

2개 이상의 블루프린트가 종속됨. Blueprint Caveats - Circular Dependency

서로 형 변환을 하여 계속 그 과정이 반복되고 오류가 발생됨.

 


후기

블루프린트의 기본 개념 잡기에 좋았다.

단순히 튜토리얼만 하면 뭔지 자세히 모를 수 있는데 개념을 잡기에 좋은 강의였다.