Unreal Engine/게임클래스 - 언리얼엔진 기초

[2강] Blueprint

whereareyoung 2023. 7. 13. 13:29

UI 세팅 추천 

창 > 컨텐츠브라우저2 > 끌어서 하단 오른쪽에 붙이기

블루프린트 작업에 사용되는 방식 2개 

1. 간단히 만들때만 사용 하며 실무에서 거의 사용되지 않는 방식

2. 보편적이며 앞으로 계속 사용되는 방식  

 

< 첫번째 방식 실습 >

블루프린트가 어떻게 실행되고 프로그램되는지 확인하기 위해서 진행 

 

1. 큐브를 끌어다 화면에 놓는다. 

큐브를 선택한 후, 좌측에서 블루프린트 / 스크립트 > 콘텐츠 > 이름지정 "BP_cube"로 큐브 블루프린트 생성 

 

2. 이벤트 그래프 탭으로 이동 

생성된 블루프린트는 3가지탭 (뷰포트 / Constratin Script / 이벤트 그래프)으로 나뉘어져 있다.

- BeginPlay 이벤트 : 플레이가 시작되는 순간에 실행되는 함수 

- ActorBeginOverlap 이벤트 : Actor끼리 겹쳤을 때, 충돌을 다룰 때 사용

- Tick 이벤트

이번실습에 불필요하여 BeginPlay이벤트를 제외한 나머지는 delete하였다. 

 

3. Print string 함수 생성 후 연결 

오류가 생길 수 있기 때문에 플루프린트 창에서 컴파일을 미리하고 플레이하는 것이 좋다. 

실행 시 플레이 화면좌측에 Hello가 출력되는 것을 확인할 수 있다. 

* 출력 시간이 너무 짧으면 Print String 함수를 펼쳐서 Duration을 늘려줄 수 있다. (10으로 설정했을 경우 10sec)  

다음으로는 간단한 계산식을 출력하는 실습을 진행하였다. 

 

4. 변수 integer A, B, C를 생성한다. 

좌측에 "변수"를 생성할 수 있는 탭이 있다. 변수 생성후 우측에서 변수 타입을 설정할 수 있다. 

변수 생성 후 컴파일을 하면 값을 지정할 수 있다. A에는 10을 B에는 20을 넣어준다.

(C는 기본값인 0으로 되어있을 것이다. )

 

5. A, B 변수를 끌어와서 "get integer", + 버튼 눌러서 integer + integer를 생성 후 연결한다. 

 

6. C변수를 끌어와서 "set integer" 후 in String에 연결하여 아래 와 같이 배치한다. 

실행결과 플레이 화면에 30이 출력되는 것을 확인 할 수 있다.

 

 

 

<블루프린트 기본구조>

왼쪽에서 오른쪽 방향으로 실행되며 왼쪽에는 입력값이 오른쪽에는 결과(return) 값이 위치한다. 

보통의 C언어 구조와 같아 주목할 만한 점은 없어보인다. 

 

* 블루프린트 디버깅 관련

"선택된 디버그 오브젝트가 없습니다. " 라는 메세지가 뜰 경우, BP_cube 를 설정해준다.

나중에 복잡하게 들어갔을때 오류잡을때 디버그 기능도 사용할 수 있을 것으로 기대된다. 

 

 

Content > level > 지금까지 실습했던 맵 다른이름으로 저장  

플레이어 제작 하려고 하는데 지금까지 작업했던건 사실 의미없는 작업이긴한데

삭제하기는 좀 그러니까 다른이름으로 저장하시는듯

 

 

 

< 두번째 방식 실습 - 캐릭터 세팅 

1. 새 프로젝트 생성 : "UOnline_02_Battle"

* 플레이어 달리기 만들건데 바닥이 너무 적어서 size 5*5*1로 변경하고 시작

 

2. 콘텐츠 파일 하단에 "Levels" 파일 생성 : 맵을 미리 저장해두기 위해 

"Levels" 에 현재레벨  "Player"로 저장 

 

3. "Blueprints" 파일생성 : 블루프린트들을 모아두기 위해  

이 파일 하단에 생성 > 블루프린트 클래스 > Character 생성 > "BP_Player" 으로 이름변경

* Actor / Pawn / Character 세가지는 상속 특성을 가지고 있음

Character는 캐릭터의 움직임을 처리하는 기능을 가지고 있어 Enemy, Player등에 주로 사용됨 

 

4. 블루프린트 화면열기 

- 뷰포트 : 비주얼 적인 요소를 결정할때 사용하며 캐릭터 데이터를 불러와서 사용가능

 

제공된 캐릭터 파일 임포트

콘텐츠 > 탐색기에서 표시 

* 윈도우에서 언리얼 에셋 파일창이 팝업, 여기에 캐릭터 데이터 파일을 불러오면 자동으로 업로드 됨 

(과거에 작업할 때 실시간으로 캐릭터 데이터 변경하고 업데이트 해서 확인 할 수 있어서 내가 제일 좋아했던 언리얼 특징이다.)

제공해주신 Character 파일 안 구조이다. 현재는 간단한 실습을 위주로 진행하기 때문에 "Mesh" 폴더내의 데이터만 이용하였다. 

 

임포트 후 엔진안에서 제공된 캐릭터 파일 확인 (Skeleton, Skeletal Mesh, Physics) 로 되어있는 것을 확인 할 수 있다. 

* Physics가 리깅인가? 아니면 기본 캐릭터 중력, 충돌 처리 등이 완료되어 있는 데이터일까? (의문)

 

불러온 데이터 미리보기

세가지가 연결되어 있기 때문에 셋 중 아무 파일이나 더블 클릭하면 에셋 미리보기 창이 팝업된다.

다음과 같이 우측 탭에서 캐릭터 구조를 분리하여 확인 가능하다.

전공했던 부분인데 자세히 다루지는 않을 예정이라고 해서 개인적으로 조금 아쉬웠다

 

 

파일을 확인했으니 플레이어 프로그래밍 작업을 위해 블루프린트화면으로 돌아가야 하는데, 

나갔다 들어왔을때 간단히 표시되는 UI로 자동 전환된다. 아래 버튼을 통해 간단히 전환 가능하다.  

 

 

캐릭터에 그래픽 입히기

캐릭터에 그래픽을 입히기 위해 다음과 같은 단계를 밟아준다.

1) BP_Player 에서 Mesh 컴포넌트를 선택

 

2) 캐릭터 폴더에 사용할 Skeletal Mesh 임포트 

Character > Mesh > SK_Mannequin (Skeletal Mesh) 를 끌어 넣어주면 된다. 

(탭에서 찾아서 넣어 주어도 됨) 

 

3) 위치 변경 해서 Collider(추정)에 맞춰주기

* Unity의 캡슐 콜라이더와 비슷하게 생겼는데 생각한 게 맞을지?

 

4.  캐릭터 전방 맞춰주기

AllowComponent는 캐릭터의 전방을 표시해준다 (하늘색 화살표) 

Mesh 탭에서 로테이션을 조정하여 캐릭터가 전방을 바라볼 수 있게 전환하여 주어야 한다.

컴파일 후 지금까지 제작 한 BluePrints > BP_Player를 화면에 배치하여 준다.  

 

여기까지가 기본적인 그래픽 설정 관련한 내용이였으며, 다음강의에서 보편적으로 사용되는 블루프린트 방식에서 플레이어를 설정하는것을 다룰 예정이다.

나중에 강의가 진행됨에 따라 캐릭터에 다양한 무기를 장착하거나 옷 코스튬을 바꾸는 등 다양한 것을 다루는 것을 배울 수 있었으면 좋겠다. 

'Unreal Engine > 게임클래스 - 언리얼엔진 기초' 카테고리의 다른 글

[5강] Animation Blueprint  (0) 2023.07.18
[4강] Animation Blueprint  (0) 2023.07.13
[3강] Player Setting (Input)  (0) 2023.07.13
[1강] 엔진 설치와 기본적인 UI  (0) 2023.07.13
시작하며  (0) 2023.07.13