본문 바로가기

스무스 게임개발 사전

언리얼5 3인칭캐릭터-> 1인칭 시야확대버그?

 

바쁘신 분들을 위한 요약:

언리얼 5에서 삼인칭 템플릿에 있는 캐릭터를

카메라를 앞으로 당겼는데 시점이 이상해진다면,

카메라가 상속되고 있는 Camera Boom컴포넌트에서

디테일 패널에서

콜리전테스트실행을 끄자

 

 

오늘도 어김없이 막 초보를 벗어난 제 실력을 키우기 위해 다른 게임들을 제가 직접 구현해보고 있었습니다
(나중에 제가 게임 개발 공부하는 법 정리해봄)

무슨 게임인지는 예전에 했던 소규모 게임잼 작품 중에 하나여서 말은 하기 좀 그렇고

 

어쨌든 일단 그 게임은 1인칭 게임이라서 3인칭템플릿에서 카메라를 앞으로 땡겨보았습니다

여기서 "엥? 언리얼에서는 1인칭템플릿을 제공해주는데 왜 굳이 3인칭 템플릿을 개조해서 사용할까"라고 하실 수 있는데

언리얼5 프로젝트생성 이미지

일인칭 템플릿은 단순한 1인칭캐릭터가 있는 기본 템플릿이 아니라

위 사진처럼 발사가 가능한 총을 부착한 템플릿입니다

총기능을 뺸다 하여도 총을 든 모습의 Mesh가 남아있고 조준선Ui도 없애고 하다 보니

차라리 그럴빠엔 3인칭 캐릭터를 개조하는게 낫다고 생각하기 때문입니다
(이건 누구한테 배웠다기 보다는 제가 스스로 알아낸거라서 틀린 방법일 수 도 있씀)

 

그런데 그냥 아주아주 기초적인 부분에서 예상치못한 버그가 났습니다

메인캐릭터 블루프린트 뷰포트(1)
메인캐릭터 블루프린트 뷰포트(2)

이런식으로 그냥 단순히 카메라를 앞으로 땡기기만 했는데 버그가 일어났습니다

그당시 플레이 화면

특정부분에서 카메라 줌인, 줌아웃이 된다는 것인데 첨에 발견했을때는 대체 이게 뭐지하면서

왜이런지 진짜 감도 못잡았습니다 진짜 첨 본 버그였거든요

그리고 제가 기억하기론 언리얼4에서는 똑같이해도 이런버그가 없었던걸로 기억하거든요(확실한건 아님)

 

그래서 언리얼 공식카페에 글올려서 물어볼까 생각도 해보고

(솔직히 바로 물어보면 순식간에 해결될 버그였으나 이거 버그발견하고 나서 귀찬이즘이 와서 생각만;;)

하다가 그대로 개발하기 싫어져서 방치했습니다(취미로 하는거라 개발의지 기복이 심함)

 

그러다가 드디어 버그의 원인을 찾았습니다

메인캐릭터 블루프린트 뷰포트

저기 뷰포트를 보시면 빨간줄이 있습니다 저건 사진왼쪽부분에 보면 CameraBoom이라는 컴포넌트가 있고

카메라가 저기에 상속되어 있는것을 확인하실 수 있습니다

저건 카메라 스프링 암인데 이름을 통해 대충 무슨 역할을 하는지 예상할 수 있습니다

 

(자세한 설명은 패스, 자세하게 알고 싶거나 이해 못한분을 위한 스프링암 언리얼 공식문서  https://docs.unrealengine.com/4.27/ko/InteractiveExperiences/UsingCameras/SpringArmComponents/

제가 쓰는건 언리얼5이지만 링크는 언리얼 4문서인것을 유의하세요)

 

그래서 버그가 일어난 이규가

위의 사진 오른쪽을 보면 디테일 패널부분에 작게 콜리전 테스트 실행이 체크되어 있는데(Ture 상태)

이것은 True일 경우 카메라 클리핑(3인칭일때 카메라가 다른 물체하고 곂치는 경우)
을 방지하기한 기능인데요 예를 들어 뒤에 벽이 있으면 카메라가 벽을 뚫지 않게

카메라가 앞으로 당겨지게 됩니다

 

 

바로 이게 원인이였던건데요 카메라를 이동시킨다해도 카메라 스프링 암은 그대로 카메라가 그곳에 있다고 착각해

카메라를 앞으로 땡겨버렸던것입니다

벽이 뒤에 있으면 시점이 앞으로 쏠렸던 것이 버그푸는 힌트였네요

 

자 이제

Camera Boom 디테일페널에 콜리전 테스트실행 여부

바로 기능을 끄고 컴파일후 실행을 해보았습니다

프로젝트 플레이화면

ㅎㅎ 이제 카메라를 아무리 돌려봐도 시점이 정상적으로 작동을 하는것을 볼 수 있습니다

 

그리고 이후 저는 게임 개발의지를 되찾고 열심히 하고 있습니다

 

 

블로그 봐주셔서 감사합니다:)

(피드백 댓글 환영)

 

-----지금부터는 잡담-----

이게 블로그 첫 글인데 느낀 점이 있다면

블로그 글 적는 것이 생각보다 많이 힘든 것 같습니다

 

글 적다가

어? 이거 적으면 좋겠는데?, 이 사진 넣으면 좋겠는데?, 공식문서 링크 넣으면 좋겠는데?
라고 생각하니...

거기다가 저런 생각이 나면 음.. 이게 적절 한가에 대해

생각까지 또 하게 되니까 끝이 없는 것 같습니다

물론 완성도를 높이라고 하면 여기서 더 높일 수도 있지만

뭐... 첫 글이니까....

잡담도 슬슬 길어지는데 여기까지 하겠습니다

제 블로그 많이 많이 와주세요

'스무스 게임개발 사전' 카테고리의 다른 글

언리얼 화면밝기 자동보정(암적응)  (0) 2022.07.26