레벨디자인

주상돈·2024년 12월 20일

TIL

목록 보기
1/53

1일차

01. 레벨 디자인이란?

게임 내에서 플레이어가 경험할 수 있는 환경과 구조를 만드는 과정. 플레이어의 경로, 도전, 그리고 스토리를 설계하며, 게임플레이의 재미와 균형을 조화롭게 담아내야합니다.
레벨 디자인은 시각적 요소의 배치를 넘어, 플레이어 경험의 핵심을 설계하는 역할.

레벨디자인
우선, 언리얼 엔진에 에셋을 이용하여 캐릭터디자인과, 애니메이션으로 캐릭터를 살아 움직이게 만들어 보았다.

02. 캐릭터 만들기

캐릭터 에셋가져오기

블루프린트에서 기존에 다운받은 에셋을 사용하여 메시를 적용시켰다. 캡슐크기 또한 캐릭크기에 비해 커서 크기를 줄였고, 언리얼엔진에서는 모두 오른손을 기준으로 삼기때문에 캐릭터를 돌려서 맞춰놓았다.

또한 카메라도 달아주었는데 Springarm이라는 컴포넌트를 사용하여서 일반카메라를 달았다.
SpringArm에 카메라를 단, 이유는 게임을 진행하면서 시점이 구조물에 가려졌을 경우 그 구조물에 뚫려서 캐릭이 안보이는 상황이 안나오고 구조물을 통과하지 않는다.

캐릭터를 움직여보자!

캐릭터가 움지기위한 점프, 움직임 마우스로 카메라를 움직일 수 있는 입력액션과 입력매핑을 만들었다. 그후, 카메라 움직임과 캐릭터는 평면을 움직이기 때문에 값 타입을 Axis2D(Vecotr2D) 값으로 설정했고 점프는 기본값으로 설정하였다.

그 후 매핑을 해줬다. W는 앞으로 가야하기때문에 아무값도 주지 않았고, S는 뒤로 가는 키이기때문에 부정 즉, -값을 주었다. W기준 오른쪽이 +값이기 때문에 스위즐 입력 축 값, A가 -값이기 때문에 스위즐 입력 축 값에 더해 부정값도 주었다.

그 후 블루프린트 캐릭터 클래스의 이벤트 그래프로가서 Key Mapping을 해주었다.


그리고 캐릭터가 움직일 수 있게 전진, 오른쪽 벡터값 들을 할당하여 input에 넣어주었다.

여기서 Yaw란 캐릭터가 서있는 평면, Pitch란 고개를 위아래로 끄덕이는 면, 그리고 마지막으로 Roll은 비행기가 오른쪽으로 기울고 왼쪽으로 기우는 것을 말한다.
그래서 W키를 움직일 때는 Yaw값만 필요한거고, Right에서 Roll이 필요한이유는 배그같은 게임에서 qe를 하면 몸을 왼쪽 오른쪽으로 기울이는데 이때 물리량을 계산해주기위함이다. Right에서 Pitch값은 필요없다. 고개를 위로들고 오른쪽으로 움직이는 거나 고개를 아래로 숙이고 오른쪽으로 움직이는 것은 같기때문에..

그리고 카메라도 이벤트도 넣어주었다. 마우스를 움직여 돌릴 수 있게 되었다.

마지막으로 캐릭터가 점프할 수 있게 점프 노드도 넣었다.

근데 캐릭터가 어색하게 움직인다. 이제 애니메이션을 추가해보자

애니메이션에 애니메이션 블루프린트를 만들어서 가만히 멈춰있는 모션과 움직이는 키를 눌렀을때 달리는 모션을 넣어볼려고한다.
모션들을 편하게 합치는데 좋은 블렌드 스페이스를 만들고

속도가 0일때는 멈춰있는 모션, 속도가 100일때는 달리는 모션을 넣어주었다.

그후 애니메이트 블루프린트에가서 스피드 변수를 할당하여 멈춰있을때와 움직일 때의 차이점을 두어 모션을 달라지게 만들고

애님 클래스에 애니메이션 블루프린트를 넣어준다.

애니메이션이 잘 적용 되었다.

03. 마치며

개인일정 때문에 늦게 합류하게 되었는데, 일단 급한대로 4,5일차만 공부하였고, 주말에 이어서 2,3일차 내용을 공부를 해야겠다. 늦은만큼 더 열심히해야 쫓아갈 수 있다.

0개의 댓글