이번 시간에는 투명배경 움짤을 따보도록 하자


움짤이 아닌 단순 투명배경짤은 다들 알다시피 https://live2d-dcg.github.io/ 에서 차일드 오른쪽 클릭하고 이미지 저장하면 가능하다 (https://dcg-tgif.github.io/ 에서도 마찬가지)


다만 움짤을 만드려면 이 투명배경짤을 프레임별로 따야하기 때문에 약간 귀찮은 과정을 거쳐야 함


투명배경 움짤은 사실 없을땐 한번 만들어보고 싶지만 만들고 나면 영 쓸데가 없는 그런 계륵같은 놈이다


하지만 영업용으로 쓰거나 영상 제작같은 걸 하고자 한다면 유용하게 쓰일 수 있으니 심심하면 따라해보자


대충 전체적인 설명/기타 툴이 담긴 깃헙: https://github.com/ace012/DCG-tGIF-Maker



1. 프레임 별로 이미지 따기


우선 https://DCG-tGIF.github.io/ 에 들어가보자

이건 내가 뷰어 사이트https://Live2D-DCG.github.io/ 의 소스 코드를 몇군데 손봐서 만든 사이트다

(원 제작자한테도 게시를 허락받았음)



들어가보면 일단 우리의 미트라가 나와있을거야

그 밑을 보면 뭐가 많이 있는데, 첫번째로 할일은 위에 6개를 조절하면서 뽑을 움짤의 사이즈, 캐릭터 위치 같은걸 조정해줘야함


대충 뭐하는 칸들인지 정리해보면

mN: 차일드 번호, 번호를 찾고 싶다면 위에 Child List 눌러서 목록 보고 검색하도록 하자 (글로벌 버전은 틴버전 말하는거임)

width: 움짤 가로 사이즈

height: 움짤 세로 사이즈

mS: 차일드 크기 배율, 소수점도 가능함

mX: 차일드 x좌표, 소수점 가능하고 숫자가 커질수록 오른쪽으로 이동함

mY: 차일드 y좌표, 소수점 가능하고 숫자가 커질수록 위쪽으로 이동함


sc로 시작하는 온천 파일로 움짤을 뽑고 싶은 경우에는 옆에 Spa file? 적혀있는걸 체크해주도록 하자

틴버전으로 보고 싶은 경우에는 마찬가지로 옆에 Teen file? 을 체크해주자


얘네를 적어준 뒤에 Reload Child 를 누르면 네가 적은 설정대로 위쪽에 차일드 라투디가 로드된다

여기서는 구미호를 따볼 것임


움짤 딸 차일드를 로드했으면 이제 모션을 골라서 차일드 이미지 파일을 프레임 별로 하나씩 따면 됨

Motion Preview 밑에 모션 버튼을 눌러서 미리 모션을 볼수도 있다


차일드 표정도 적용시킬 수 있다

중간에 보면 Enable Expressions 이런게 있는데


여기서 원하는 표정을 누르면 적용이 된다

저기 밑에 아무 버튼도 없는 놈은 그냥 표정 파일 자체가 없는 놈이니까 그냥 무시하도록 하자



아무튼 이제 짤을 하나하나 따야함

프레임 별로 따내는건 get 뭐시기뭐시기 써진 버튼이 전부 이미지 따는 버튼인데

크게 두가지로 나뉜다




위에 것들은 풀모션 한 사이클을 따내는것

장점은 모션 파일에 적혀있는 값 그대로 따올 수 있어서 모션을 거의 완벽하게 가져올 수 있다고 보면 됨

대신 모션 자체가 좀 긴 애들은 약간 시간이 좀 걸릴 수 있다 그래봤자 1분 정도긴 함

단점은 이게 단위가 30fps라 밀리초로 환산하면 33.33333 ... ms 인데 움짤 만들 때 이 수치를 제대로 적용시킬수가 없어서 결과물 모션이 약간 빠르게 보일거임


아무튼 위에 방법으로 따려면 그냥 원하는 모션에 맞게 버튼 하나 누르고 기다리면 된다

모션이 뚝뚝뚝 끊기는게 보일텐데 그게 정상이므로 걱정 안해도 됨 다운로드가 뜰때까지 기다리자




아래것들은 모션 처음부터 시작해서 설정한만큼만 프레임을 따내는 것

얘는 빠르긴 한데 만약에 버튼 눌렀는데 라투디가 버벅거리거나 하면 제대로 안 따지고 프레임이 밀릴 수 있다


아래 방법으로 따려면 이제 또 값 2개를 설정해줘야함

grabLimit: 캡처할 총 프레임 개수

grabRate: 캡처할 시간 간격 (밀리초 단위)


grabRate가 프레임 주기인데 30이나 40 을 추천한다 (각각 대략 30Hz, 24Hz 정도라고 생각하면 됨)

grabLimit은 대충 grabRate 고려해서 둘이 곱했을 때 적당히 움짤 지속 시간 근처가 되도록 해주면 된다


설정하고 나면 마찬가지로 얘도 누르고 기다리면 됨

만약에 눌렀는데 라투디가 너무 버벅거리고 렉먹는다 싶으면 이미지 사이즈를 줄여서 렉을 최소화시키는게 좋다



아무튼 누르고 기다리면 zip 파일 하나가 다운로드될거다 (일단 여기서는 아래 방법으로 따보겠음)




풀어보면 png 이미지 파일들이 들어있다

얘네를 이제 움짤로 바꿔주면 끝


움짤은 2가지가 있는데, gif로 바꾸거나 webp로 바꾸거나임

범용적으로는 gif를 추천하고, 영상 제작이나 고퀄을 원한다면 webp로 만드는걸 추천함



2-1. gif 만드는 방법


png 파일들을 gif로 바꾸는 방법은 많이 있지만 여기서는 제일 편하다고 느꼈던 툴 2개를 써서 만들어보겠음

아래 2개를 다운받자


apngasm: https://drive.google.com/file/d/1Ah1uRPJUO5eefW9ypvwnz-JGci4VPQSd/view?usp=sharing (원본 출처: http://apngasm.sourceforge.net/)

apng2gif: https://drive.google.com/file/d/16xWQhL0ANMsYKv8MxxB_5FUfpOfWSiFw/view?usp=sharing (원본 출처: http://apng2gif.sourceforge.net/)


각각 설명을 하자면 apngasm은 png뭉치를 animated png로 바꿔주는 툴, apng2gif는 animated png를 animated gif로 바꿔주는 툴임

이걸 이용해서 우리는 png 뭉치 -> png 움짤 -> gif 움짤 순서로 바꿔줄거다




일단 apngasm을 켠다

세팅은 일단 프레임 딜레이를 아까 움짤 딸 때 적었던 grabRate에 맞게 적어주자

그리고 Compression Settings 를 눌러서 zlib을 선택한다

나머지 세팅은 자유


그리고 만들면 같은 폴더에 animated.png가 만들어질 것임



여기서 만약 풀모션으로 따온 경우 3/100 으로 설정하면 결과물에서 모션이 좀 빠르게 나올텐데 (1/30으로 해도 소수점이 날아가서 0.03으로 똑같이 취급됨)

이 경우에는 딜레이를 0.03, 0.03, 0.04, ... 이런 식으로 맞춰주면 그나마 해결이 가능하다




대충 이런 식으로 해주면 됨


아무튼 만들었으면 이제 apng2gif를 켜자




얘는 쉽다 그냥 아까 나왔던 animated.png를 끌어다놓고 만들기 버튼을 누르면 끝

얘는 버그가 있는지 가끔 움짤이 중간에 짧게 끊기는 경우가 있는데 그럴때는 오른쪽에 옵션 눌러서 T 값을 한 1~2정도씩 바꿔주다보면 해결된다


이렇게 하면 투명배경 캐릭터 움짤.gif를 만들수 있다



2-2. webp 만드는 방법


얘는 png -> webp 로 만들어주는 애고, webp 움짤로 합쳐주는 애는

webp 온라인 컨버터 사이트 (https://ezgif.com/webp-maker) 를 이용할 것임


주의할 점은 아까 받은 zip 파일이 100메가보다 작아야 한다


100메가보다 큰 경우에는 바로 업로드가 안되기 때문에, 미리 하나하나씩 webp로 변환해주거나 해서 사이즈를 줄여줄 필요가 있음

여기서는 너무 길어지기 때문에 다루지 않겠음


아무튼 https://ezgif.com/webp-maker 이 사이트로 가서 방금 따온 zip 파일을 올리고 업로드를 누르자




사진들이 로딩되고 나서 맨 밑에 가보면 설정을 할 수 있음

우선 여기 써있는 딜레이 타임은 밀리초 단위가 아니라 1/100 단위이기 때문에 grabRate 를 10으로 나눈 값을 넣어주면 된다

그리고 don't stack frame 을 체크해주자

이걸 체크 안하면 애가 나루토마냥 분신술을 시전하게되니까 꼭 체크해줘야 한다


아무튼 다 체크하고 Make WebP! 누르면 좀이따 밑에 움짤이 뜬다

우클릭해서 다운로드하면 끝



참고로 이 사이트 단점이 딜레이 타임에 소수점이 안 먹힌다...

그래서 풀모션으로 얻은 이미지들은 여기서 만들면 마찬가지로 모션이 좀 빨라짐

그래서 풀모션 한정으로는 만든 webp 움짤의 프레임 딜레이를 따로 설정해줄 필요가 있다


그러니 이를 위해 https://ace9934.github.io/webp-duration-changer 에 들어가보자




들어가서 아까 얻은 webp 움짤을 올리면 왼쪽에 그 움짤이 뜰거임

그러고나서 New duration 써진데다가 33 (또는 원하는 프레임 딜레이)를 적고 밑에 make image! 버튼을 누르면
오른쪽에 변환된 움짤이 하나 더 뜬다
참고로 밀리세컨드 단위임

이걸 다운받으면 진짜 끝

풀모션 한정으로 프레임 딜레이를 구하는 방법은 .zip 파일을 받았을 때 파일명에 맨 뒤에 붙은 숫자를 보면 되는데 이 숫자가 풀모션 한정으로 fps임
그러니까 (1000 / 그 숫자) 하고 소수점 반올림하면 저기 New duration 에 넣을 숫자가 나옴
아마 거의 대부분의 모션이 30fps라 33을 넣으면 될텐데, 혹시 이래도 모션 속도가 이상하다 싶으면 직접 계산해서 넣어줘야 할거다


이래저래 해서 아래는 결과물들임



gif 움짤



webp 움짤 (환경에 따라 안보일 수 있음)




3. 자잘한 팁


gif가 좋냐 webp가 좋냐는 범용성과 퀄리티에서 차이가 난다

gif는 나온지 자체가 오래돼서 이미지를 쓰는 거의 모든 곳에서 지원함

하지만 반투명을 지원하지 않기 때문에 변환 과정에서 반투명한 부분은 전부 불투명 또는 투명하게 바뀌게 되므로 손실이 크다

예시로 구미호 주변에 떠있는 불꽃들 주위를 보면 원래 약하게 분홍빛이 도는데, 위의 gif 움짤에는 그 부분들이 날아가있음

테두리 또한 계단현상이 생김

용량도 다른 포맷에 비해 쓸데없이 크다


반면에 webp는 비손실 압축을 지원하고, 반투명(알파값) 또한 지원하기 때문에 그런 부분들이 다 남아있고

압축률도 좋기 때문에 용량도 gif에 비하면 작은 편임

하지만 디시만 봐도 알수있듯이, 지원 안하는 곳이 너무 많아서 쓰기 힘들다

늦게 태어난게 죄라면 죄인 놈임


아무튼 그래서 gif는 오히려 투명배경 움짤보다 흰색 배경 움짤이 더 나을수도 있다

적어도 반투명 부분이 날아가진 않기 때문임

게다가 그쪽이 따내기도 쉽기도 하고



팁일수도 있고 아닐수도 있는데 이미지 용량이 10메가가 넘어가도 디시글에다 추가할 수 있다

이건 워낙 많이 알고 있기도 하고 찾으면 바로 나오니까 생략함



https://youtu.be/TpPwI_Lo0YY 이거 들으면서 작업함


아무튼 아무튼임


다음글에서는 커스텀 텍스처 이미지... 그러니까 벗짤 같은 걸 저기다 적용시키는 방법을 알아볼것임

궁금하면 다음글: https://gall.dcinside.com/mgallery/board/view/?id=su&no=1099224