안녕하세요!
오늘은 저희 게임에서 문을 지나는 처리에 관한 글을 써보려 합니다.
사실 상당히 예전에 작업했던 내용입니다.
1. 문을 지나가는 느낌 개선
최초의 문은 플레이어가 들어가면 페이드아웃이 될 때까지 조작을 막고 가만히 있었습니다.
만들었던 당시에는 불편하거나 이상한 점을 못느꼈습니다.
그러다 시간이 지나고 우연히 인과율이라는 게임을 보게 됐습니다.
그런데 문을 지나는 느낌이 상당히 부드러웠습니다.
이걸 보니 저희 게임의 문이 얼마나 어색한지 바로 깨닫게 됐습니다.
그래서 문을 개선하는 작업에 들어가게 되었습니다.
우선 플레이어가 문 콜라이더에 부딪혀도 멈추지 않고 통과하도록 수정했습니다.
대신 조작을 막는 방식은 유지하고, 문 방향으로 강제 이동하도록 설정했습니다.
이렇게 하더라도 보통 플레이어가 방향키를 누르고 있기 때문에 조작이 막혔다는 것을 알기 힘듭니다.
뒤를 돌아서 문을 빠져나가면 벽을 뚫거나 로직이 꼬일 가능성이 있기 때문에 이런 식으로 처리했습니다.
카메라를 살짝 움직여주는 기능도 추가했습니다.
캐릭터를 문 앞에 텔레포트시키기 때문에, 카메라를 조금 뒤로 당긴 상태에서 전환을 시작하도록 했습니다.
최초 위치를 조정하며 전환이 최대한 부드럽게 이루어지도록 다듬었습니다.
2. 물건 충돌 처리
플레이어 캐릭터 뿐 아니라 물건들도 문 충돌 처리가 필요했습니다.
특히 던지거나 집어든 물체의 경우 플레이에 지장을 주는 문제가 있었습니다.
그래서 던진 경우 네비게이션 매쉬 안에서 마지막 속도값을 이용해서 도착 위치를 계산했고,
집어든 물체는 문 콜라이더와의 충돌을 무시하도록 처리했습니다.
대부분의 물체는 문과의 충돌을 무시하지만, ai는 문을 넘지 않도록 수동으로 위치를 제어하도록 처리했습니다.
문에 다수의 적이 끼이게 될 경우 의도치 않게 방을 탈출할 수 있기 때문입니다.
3. 물건 밀기 처리
그리고 시간이 지나서 게임 행사에서 시연하는 도중 문제가 발생했습니다.
의도는 상자를 집어서 가져가는 것인데, 그냥 몸으로 밀고 가는 플레이어도 있었습니다.
하지만 물건과 캐릭터가 따로 이동하기 때문에 제대로 밀어지지 않고 빗겨갑니다.
이 케이스도 예외 처리를 추가했습니다.
이제 몸으로 밀고 있는 물체는 플레이어와 함께 넘어갑니다.
최근에는 대형 오브젝트들도 지원하게 됐습니다.
읽어주셔서 감사합니다!
역시 연출이란게 분위기 판도를 바꾼다 / 훨씬 몰입도가 좋은거 같아.
와 문 업데이트는 상상도 못했는데 바꾼게 훨낫다 - dc App
게임에서 문 표현하는게 어렵다는 유튭 보고왔는데 이걸 ㅎㄸㄸ
그건 3D 애니메이션상 다양한 바리에이션을 넣기 어려우니 모션을 고정하거나 느낌만 낸다는거고
움직임 부드러운거 개추
늘 응원중이에요 힘내세용