레벨 다듬기
이제 게임의 마무리 단계이다.
우리는 영묘에서 보물 조각상을 가져가야 하는데, 만약 보물 조각상을 가져가려하면 창살이 내려와 나가는 문이 닫힌다.
이를 위해 대신할 물건을 가져와 단상에 두어야 한다.
이 부분들을 이제 구현하게 된다.
먼저 대영묘에 단상과 조각상을 비치해주자.
기본적인 조각상의 크기가 매우 작아서 스케일을 조정해주어야 한다.
그런데 이후에 씬이 점점 어두워지는 모습을 볼 수 있다.
이는 씬의 노출 보정 메소드 때문에 벌어지는 현상이다.
포스트 프로세스 볼륨의 노출 칸에 있는 미터링 모드를 변경함으로서 해결이 가능하다.
해당 볼륨은 사실 작은 크기의 블록 형태로, 해당 블록 내에서만 방금 설정한 기능이 작동하게 된다.
우리가 만든 레벨 전체에 적용하기 위해서는 블록의 크기를 키워서 레벨 전체를 감싸줄 필요가 있다.
이제 조각상에 대해 콜리전을 세팅해주어야 한다.
집을 수 있도록 Grabber에 대해 블록 표시 및 폰과 겹치지 않도록 해주고, 오버랩 이벤트도 활성화 해주어야 한다.
또한 모빌리티를 무버블로 설정해주는 것도 잊으면 안된다.
그리고 단상에는 트리거 컴포넌트를 추가해주고, 태그 이름을 Unlock2로 설정해준다.
그리고 트리거 박스 구역을 조각상 위치에 잘 맞도록 조정해준다.
이어서 조각상에도 Unlock2 이름으로 태그를 추가해준다.
이제 대영묘 입구에 창살을 추가해주자.
창살은 기본적으로 위에 위치해있다가, 조각상이 단상위에서 사라지면 내려오게 된다.
마찬가지로 창살에 대해서 모빌리티를 무버블로 설정해준다.
그리고 창살이 움직여야 하므로 무버 컴포넌트를 붙여준다.
이제 단상의 트리거 컴포넌트와 창살의 무버 컴포넌트를 연결해주어야 한다.
블루프린트 레벨을 열고, 조각상의 트리거 컴포넌트와 창살의 무버 컴포넌트를 가져와서 Set Mover 함수에 연결하여 Mover를 활성화해준다.
플레이를 하면 조각상이 트리거 박스내에 위치해있으므로 Mover가 바로 활성화된다.
기본적인 창살의 Z 값 위치가 -450으로 설정하였고, Z 이동값을 450으로 하였기에 창살이 Z 값 0에 위치로 이동하게 된다.
이 상태에서 플레이를 해보면 창살은 이동이 확인되지만, 조각상을 잡을 수가 없다.
이는 조각상이 트리거 구역내에 잡혀있기 때문이다.
우리가 알맞은 액터를 트리거 구역 내에 놓았을 때, 피직스 시뮬레이트가 비활성화되고 트리거 구역 내에 어태치되도록 하였기에 발생하는 일이다.
따라서 집는 순간에 피직스시뮬레이트를 활성화하도록하고, 어태치된 것을 디태치시켜줄 필요가 있다.
이제 조각상을 집을 수 있고, 집는 순간 창살이 내려오게 된다.
하지만 조각상을 다시 올려놓아도 창살이 올라가지 않아 밖으로 나갈 수가 없다.
따라서 Mover.cpp에서 이를 수정해주어야 한다.
기본적인 위치는 원위치로 두고, ShouldMove가 true 일 때만 우리가 추가한 MoveOffset 만큼 타켓 위치를 변경해준다.
나머지 부분은 바뀐 값으로 이동하든 원위치로 다시 돌아가든 전부 필요한 내용이기에 if 문 밖으로 빼준다.
그리고 Speed를 계산하는 부분을 수정해주었는데, 기존에 원점과 변경된 거리의 거리를 구해주었던 것을 간단하게 이동한 거리인 MoveOffset의 길이로 대체하였다.
마지막으로 조각상을 대신하여 올려놓을 것이 필요하다.
항아리를 선택했으며, 단상애 알맞은 태그는 Unlcok2이므로, 항아리에도 Unlock2 태그를 추가해주었다.
마찬가지로 콜리전 세팅에서 Grabber 블록 및 모빌리티를 무버블로 설정해주어야 한다.
이러면 이제 조각상 대신 항아리를 놓아서 무사히 조각상을 가지고 던전을 탈출할 수 있다.
'Unreal > Udemy 강의' 카테고리의 다른 글
Unreal Engine 5 - C++ 개발자: C++ 학습하고 비디오 게임 제작하기 Section 5-1 (0) | 2024.03.30 |
---|---|
Unreal Engine 5 - C++ 개발자: C++ 학습하고 비디오 게임 제작하기 Section 4-41 (0) | 2024.03.30 |
Unreal Engine 5 - C++ 개발자: C++ 학습하고 비디오 게임 제작하기 Section 4-39 (0) | 2024.03.29 |
Unreal Engine 5 - C++ 개발자: C++ 학습하고 비디오 게임 제작하기 Section 4-38 (0) | 2024.03.29 |
Unreal Engine 5 - C++ 개발자: C++ 학습하고 비디오 게임 제작하기 Section 4-37 (0) | 2024.03.29 |