본문 바로가기

블루프린팅/2. 블루프린트 프로그래밍

[2.블루프린트연습] ThirdPersonCharater로 시작하기

ThirdPersonCharater로 시작하기

플레이 해보면 캐릭터가 잘 보이지만 에디터 모드에서는 보이지 않는다. 따라서 이제부터 보이게 해보겠다.

1. 컨텐트드러워의 ThirdPerson>Blueprints폴더의 BP_ThirdPersonCharacter를 끌어다 놓는다. End키를 눌러 바닥에 배치시킨다.

2. 이대로 플레이하면 컨트롤이 안되는 인형이므로 이제부터 컨트롤이 되게 해보겠다  디테일에서 Auto로 검색해서 Pawn카테고리의 Auto Possess Player를 Disble에서 Player0로 변경한다. 이제 플레이 해보면 배치된 캐릭터로 부터 시작된다. 유령처럼 나타나던 플레이어도 사라진다.

3. ALT+좌클릭후 뷰포트를 아래와 같이 회전 시키고 캐릭터 x위치를 -500으로 뒤로 배치시킨다.

4. +를 눌러 트리거 볼륨을 추가한다. 이름을 FailTrigger로 바꾼다.

5. 포지션을 리셋하고 위로 올렸다. Z포지션을 -500, Brush Settings를 x:20000, y:20000으로 한다. 플레이어가 떨어지면 죽는걸 체크하는 기능을 한다.

건물만들기

아래 유투브를 참조해 만들었습니다.

https://www.youtube.com/watch?v=zTBy5ZR8Y2Q 

1. Outliner에서 아무것도 선택하지 않은채 SHIFT-5로 모델링모드에서 큐브그리드를 클릭 ALT+J로 2D모드에서 캐릭터를 중심으로 10x10을 선택후 ALT-G로 입체모드로 나옴

2. E를 열번 눌러 위로 크게 한후 테두리만 남겨두고 9x9를 선택후 Q를 열번눌러 안을 비운다 캐릭터가 보인다.

3. Floor위에 캐릭터가 볼수 있도록 배치하고 CubeGrid툴을 이용해 문을 뚫어준다. 그리드툴과 위치가 틀어져 있어지만 문을 만드는데는 문제가 없었다.  플레이후 들어갈 수 있다.

4. SM_House가 선택된 상태에서 CubeGrid툴로 다음과 같이 2칸 올린후 코너모드에서 오른쪽 꼭지점 2개를 선택해 Q로 2번 내리면 다음과 같이 경사로가 만들어진다. 

5. 왼쪽 4칸을 선택해 E를  2번 눌러 경사로의 코너를 완성해준다.

6. 코너를 연장해 다음과 같이 만들어 준다.

7. 복도끝 벽쪽아 나갈 수 있는 구멍을 2x3 뚫어주고

8. 건물바깥쪽으로 관점을 회전해 길을 계속 만들어준다.

9. 다시 관점을 건물 뒷쪽으로 회전해서 왼쪽에서 3칸을 빼고 벽을 뒷쪽으로 늘려준다음 방금 늘린 블록의 위쪽을 선택해 코너모드로 들어가 경사로를 만들어준다.

 

10. 왼쪽 남은 벽을 3x1을 한칸만 늘려준다.

11. 경사로 밑도 경사를 만들어 깔끔하게 해준다.

12. 방금만든 난간위에 2x3 문을 뚫어준다

13. Accept후 Shift-1로 돌아와 Ctrl-S, Save All 해준다.

14. 스테이지를 굳이 다시 회전 시킬필요없이 플레이 해보면 원래의 구도로 다시 돌아온다.

15. 이전에 만든 문을 안쪽에서 보고 난간을 2칸 빼준다.

16. 이제부터 기즈모라는 기능을 이용해 30도 비스듬하게 길을 만들어주겠습니다. Options Show Gizmo를 체크 On/Off 해보면 스테이지를 Zoom Out해서 확인할 수 있다. 이제 이 기즈모를 옮겨보겠습니다. 

방금만든 길 중간쯤에 마우스 Ctrl+가운데휠을 누르면 기즈모가 옮겨졌습니다. Grid Frame Orientation의 Z값을 30으로 하면

그리드 방향이 30도 틀어집니다. 선택된 노란 그리드를 Push해줘 한번 깍아준다음 Pull로 건물바깥까지 빼줍니다. 10번정도 Pull 했습니다.

기즈모의 방향을 원래대로 돌립니다.

건물 안쪽에서 방금만든 길의 문을 만들어주고 밖에서 튀어나온 부분을 정리해 줍니다.

다시 벽에 길을 만들어주고

왼쪽도 길을 만들어 준다

난이도를 높이기 위해 블록을 반으로 만들어 보겠다. 위쪽 큐브를 하나 고르고 Ctrl-Q를 누르면 큐브가 반으로 쪼개진다. 정확히 8등분된다. 위쪽 4개를 없애준다.

같은 방법으로 다음 블록도 반으로 만들어 준다. 이미 모든 큐브가 작게 되어 있어 지우기만 하면된다. Ctrl_E로 다시 블록단위를 원래대로 크게할 수 있다.

캐릭터를 방금만든 계단으로 옮겨 점프가능한지 체크해본다 Ctrl+J를 이용해 이동시키면 편하다. Ctrl+G로 돌아간다.

다시 CubeGrid모드에서 천장을 다음과 같이 만든후 깍아내 떠 있는 블록을 만든다.

건물전체의 머터리얼을 적용해보자 SHIFT-5로 모델링모드에서  Attributes MatEd를 선택후  None으로 되어있는 검색창에서 적당히 골라준다.

두번째 머터리얼을 위해 +를 눌러 리스트를 추가한다. Active Material을 2번째로 바꿔주고

브러시를 이용 떠있는 블록을 체크해주고 Assign Active Matterial을 눌러준다.

 

 

4. 우측 위쪽에 +를 눌러 큐브를 추가한다. 디테일패널 트랜스폼카테고리의 Mobility가 Static인데 그냥 놔두자.

5. Detail +Add옆 컨버트 버튼을 누르고

6. 이름만 BP_Target으로 변경하고 Path는 Blueprint라를 폴더를 만들어 저장한다

 

7. 그럼 Actor가 만들어지면서 블루프린트에디터가 보인다.  Actor는 클래스로 원하는 기능의 컴포넌트를 추가할 수 있다. 우리는 Cube Shape를 Actor로 바꾸었기 때문에 이민 Static Mesh Component가 루트컴포넌트로 들어 있다.

8. +Add를 눌러 static으로 검색후 Static Mesh를 추가하고 Detail>Static Mesh에서 마음에 드는 모양을 골라준다.

9.컴포넌트에 자식으로 추가된 Static Mesh의 이름을 적당히 바꾸고 부포트에서 위로 올려 큐브위에 위치를 잡아준다.

10 루트컴포넌트를 선택후 +Add를 눌러 Box Collision을 추가한다. 다른 Actor와의 충돌을 검출하기 위한 컴포넌트입니다.

11.  콜리젼의 영역이 보여야하는데 작아서 안 보인다. 디테일패널>Transform의 Scale과 Location을 적당히 조정하고 움직여서 전체를 감싸게 만들어 준다.

12. Details에서 Tag를 검색해서 +를 눌러 Success라고 새로운 Tag를 만들어준다. 마지막으로 파일밑 ?를 눌러 컴파일해주고 디스크아이콘을 눌러 저장해준다.

13.  동영상에서는 Trigger Volume을 배치하여 게임종료를 표시하는데 만들어진 블루프린트를 실행하기 때문에 여기서는 다음에 처리하도록 하겠습니다.