정리와 기록

반응형

이 글은 요청이 있어서 쓰게 되었습니다.


원래는 처음부터 끝까지 제작 방법에 대해 가급적 쉽고 자세히 그리고 순서대로 설명하는 글을 써볼까도 했었는데요.


솔직히 보는 사람이 있을까 싶기도 하고 처음 만들기 시작할때는 이것에만 몰두했던 시기라 투자하는 시간이 많았었습니다.


지금은 이것저것 다른것도 많이하다보니 반쯤 잊혀진 상태로 방치해둔 상황이었는데요.


댓글로 궁금해하는 분이 계셔서 순서는 관계없이 궁금해하시는 내용에 대해 글을 써보려 합니다.


이 후로도 2번 3번의 글을 쓰게될지는 의문입니다만 어쨌거나 기본적인 기능에서 벗어나 응용하는 첫번째 글을 써봅니다.




1. img/characters 폴더 내에 손오공 캐릭터 이미지를 넣고 적용하고 싶은데 흰색 선이 맞지 않다라는 것


2. img/tilesets 폴더 내에 맵타일을 넣고 마찬가지로 흰색 선이 맞지 않다는 것에 대해 정상적으로 적용하는 방법


두가지에 대해 설명해보겠습니다.





1. 캐릭터칩



예제로 기본 MV 캐릭터이미지를 가지고 왔습니다.



이미지는 이렇게 가로 3칸 세로 4칸으로 이루어진 캐릭터의 모음이라고 생각하시면 되는데요.


이 규칙은 이미지의 사이즈와 관계가 없습니다.


144x192로 이루어진 기본 제공 캐릭터칩은 나누어보면 48x48의 기본 MV 타일 크기와 동일하게 만들어져있는데요.


이것은 기본 제공 파일이기 때문에 타일 칸에 맞춰져 있는 것 뿐 입니다.


손오공의 기본 모션을 토대로 여분의 픽셀없이 캐릭터칩을 만들게 되면 126x264 사이즈로 만들어지는데요.


이렇듯 사이즈는 상관이 없다는 것이죠.


MV 프로그램에서 하나의 이미지 파일을 자동적으로 가로 3칸 세로 4칸을 균등하게 잘라서 적용하게 되는 것이죠.



*여기서 여분의 픽셀없이 캐릭터칩을 만들게 되면 이라는 말을 썼었는데요.


게임에서 추출한 이미지를 그대로 MV에 파일명만 $를 앞에 붙혀서 넣는다라고 하신다면 당연히 정상적으로 적용되지 않습니다.


균등하게 캐릭터 모션이 한칸당 일정 픽셀로 구분되어서 파일이 만들어져있지 않기 때문인데요.


자세히는 모르지만 원작에서는 이미지 상의 픽셀 위치 데이터를 일일이 데이터베이스에 기입하여 사용하는 방식인 것으로 알고 있습니다.


MV에서는 단순한 방법인 균등하게 가로 3칸 세로 4칸으로 잘라버리는 방식을 채택하고 있기 때문에


이미지를 그대로 쓰면 당연하게도 안되는 거죠.


그렇기 때문에 캐릭터를 모션별로 잘라내어 가운데 위치를 맞추어 각모션을 균등한 여백을 두고 다시 하나의 이미지로 합칠 필요가 있습니다.





이것은 손오공의 추출한 기본 모션 파일인데요.


MV는 가로 3 / 세로 4의 모션만 지원하고 있습니다.


현재로서는 실질적으로 가로가 6칸이기 때문에 흰선의 위치가 안맞게 되네요.


MV의 기본 방식 자체를 바꿀 수는 없으니 틀에 맞춰서 재생성 해줍니다.


따라서 여분의 동작은 빼고 만들어야 하므로 이를테면


정면 왼발 내딛기 / 가만히 서있는 모습 / 오른발 내딛기 

좌면 왼발 내딛기 / 가만히 서있는 모습 / 오른발 내딛기 

우면 왼발 내딛기 / 가만히 서있는 모습 / 오른발 내딛기 

후면 왼발 내딛기 / 가만히 서있는 모습 / 오른발 내딛기 


총 12개의 모션으로 캐릭터칩을 새로 구성해야하는 것 입니다.


원래 더 많은 동작이었던 모션을 더 적은 프레임으로 구성해야하기 때문에


실제 게임에서는 조금 동작이 덜 자연스러워 보일 수 있습니다만 제가 느끼기에 그렇게 눈에 거슬릴 정도는 아니었습니다.


애초에 프레임이 적다보니 그런 것 같기도 하네요.


어쨌거나 일반적인 기본 모션은 보통 균등하게 나누어져있기때문에 재구성하기 쉬운 편에 속할 것 같네요.


배경색도 연두색으로 되어있으니 투명하게 해주는 것도 꼭 필요합니다.


마지막으로 파일명을 $손오공 처럼 수정해주신다면 마무리가 될 것 입니다.





연습용으로 만들었던 것을 올려봅니다.


여분 픽셀이 존재하지만 기능상의 문제는 없습니다.


별건아니지만 일종의 최적화를 하지 않은 상태라고 할 수도 있겠네요.



2. 맵칩





맵타일은 일단 가장 중요한 점은 한칸당 48x48의 타일로 구성되어 있다는 점 인데요


최대 768x768 사이즈 당 하나의 이미지를 구성한다는 것 입니다


그렇다면 환상서유기의 맵칩은 어떤 식으로 구성되있느냐




하나의 파일을 예로 들어보겠습니다


이 파일은 768x576 이라는 사이즈에 가로 12 세로 12의 타일이 모여있군요


그렇다면 각 타일당 가로가 64 세로가 48이므로 가로길이가 맞지 않습니다


MV에서는 가로 48 세로 48 을 지원하고 있으니 흰선이 어긋나 버리는 거죠


따라서 이미지 크기 변경 기능을 사용하여 가로 배율을 줄여 576x576 사이즈로 변경해주시면 해결이 됩니다


경우에 따라 이미지 크기를 줄이더라도 이미지가 768X768 보다 큰 경우가 있는데 


이럴 경우에는 여분의 이미지에 대해 이미지를 잘라서 파일을 나누어 저장하는 과정이 필요합니다



질문하신 내용에 대해서는 이렇게 글을 마무리해보겠습니다


노가다 방식이 많고 여러 방법으로 이 과정을 줄일 수 있겠지만 프로그래밍이나 여러 소프트웨어를 잘 다루시는 분이라면


저보다 더 쉽고 간단한 방법으로 만들어 나가실 수 있을 것 같네요


저도 이런 저런 방식으로 나름대로 이러한 과정을 줄여보았고 나름대로 줄이는데 성공한 부분도 있었으나 아쉬운 점이 많았습니다


머릿속으로 가능하진 않을까 하는 것들을 실현할 능력 부족으로요 ㅋㅋ


나름대로의 방법에 대해 언제고 글을 또 쓸 수 있으면 좋겠네요


문의 댓글을 받고 이런 글을 쓰다보니 언젠가 같이 시간내어 만들어 나가실 분도 있을 수 있을까 싶기도 합니다

반응형

이 글을 공유합시다

facebook twitter googleplus kakaoTalk kakaostory naver band