거리의 엑스트라들 제작 #2

3.1

팔짱을 낀 여인 완료.

아직도 그림을 그리며 비율수정이 잦다. 이를 한 번에 잘해야 할텐데.

6번 꼬마애의 눈매가 별로 어울리지 않아서 좀 더 둥글게 다시 그렸다. 몸만 작게 한다고 어린이가 되는 게 아닌 것 같다.

8번. 여관주인도 완료.

신티크로 그림을 그리게 된 후 작업에 몇가지 변화가 생겼다. 가장 큰 변화는 선화를 따는 방법인데 기존에는 선을 자와 곡선을 이용한 보조도구에 많이 의존하는 편이었으나, 점차 수동으로 긋는 방법에 익숙해지고 있다. 예측드로잉을 해야 하는 판타블렛은 그 특성상 손목 스냅만을 이용해 선을 그려야 했으나 신티크는 팔 전체를 사용할 수 있다. 이것이 정말 큰 차이가 있다. 자를 이용하는 것은 정교하긴 하나 속도가 느리고 머리카락같은 감각이 필요한 부분에 대응이 쉽지 않다. 반면 손으로 그리는 선은 구불구불하긴 해도 속도가 빠르고, 최대한 러프에서 의도했던 형태로 그릴 수 있다. 아직 너무 긴 선은 좀 어려운데 조만간 좋아지지 않을까 싶다.

9번. 바드 완성

10번. 시민2 완성

상인 작업 중. 으..당나귀 칠하기 귀찮다.

3.3

상인도 완료

3.5

술꾼들 완성. 소스는 다 그렸으니 이제 애니메이션 차례!

신난 수녀님

신난 주부

신난 꼬마

3.7

계속-계속-작업

3.8

애니 다했다! 이제 굽자

3.11

최근에 힘든 일이 많았다. 그래서 작업을 할 의욕도 시간도 나질 않았다. 빨리 이전의 삶으로 되돌아갈 수 있기를

일단 엔진에 띄우는 것까지는 성공. 베이킹이 한 번에 성공하다니 기분이 이상하다.

노을 거리 엑스트라 완료. 엑스트라들을 생각보다 더 어둡게 했는데, 게임하기엔 이게 더 적합해 보인다.

성벽과 거리의 엑스트라 제작

2.19

성벽은 절벽에서 졸고 있는 병사 한명으로 끝이다. 간혹가다가 눈을 떴다가, 다시 졸도록 할 예정이다.

아..음.. 그리다 보니 빛 방향이 틀렸네. 귀찮으니 그냥 속행하기로 한다.

소스는 다 그렸고, 이 스테이지의 엑스트라는 한 명이므로 바로 분절해보자.

2.20

이 병사는 색조정을 안해도 꽤 잘 녹아들고 시야를 방해하지도 않는다. 회색위주라 그런가.

2.22

노을지는 거리는 앨리스의 배경이고, 이 게임을 통틀어 인물이 가장 많은 지역이다. 하나하나 풀어보자.

2.24

저번 주에 주문한 신티크가 도착했다! 설치하느라 몇 번의 삽질을 거친 후 성공적으로 안착. 그 동안 손으로 그리는 것과 타블렛으로 그리는 것이 왜 차이가 있을까 고민하다가 지인에게 신티크를 얻어써본 후 바로 구입을 확정했다. 그동안은 그게 뭐 얼마나 차이가 나겠어? 싶어 굳이 구입하진 않았는데, 실제로 써보니 확실히 차이가 난다.

그동안 작업을 담당해 주었던 뱀부는 이제 안녕.

수녀1 완성

2.26

수녀2 완성.

수녀 후 나머지 러프. 도시인만큼 다양한 인간군상이 산다.

야경꾼 완료. 밤이 되기 전에 가로등에 불을 켜는 직업.

AI가 절대로 못그리는 것. 머리카락 얇은틈 삑사리.

2.28

피로에 찌든 필경사. 인쇄술이 발달하지 않은 시절, 글을 베껴쓰던 직업.

하나쯤은 팔을 든 인물이 있어야 할 것 같아서 만든 주부1

과 그의 딸.

숲 속 엑스트라 제작

2.10

아이시의 난입 스테이지. 인파가 많은 곳은 아니라 3명만 그리자.

클립스튜디오 안쓴지 얼마나 됐다고 벌써 손이 까먹음… 열심히 하자.

1번 완료

2.11

어쩐지 진도가 더딘 2번. 스케치가 마음에 들지 않던 것이 주원인인 것 같다.

2.12

손은 늘 다시 그리게 된다. 그려도 그려도 어렵다.

2번도 완료

3번도 완료. 채색방법이 이제 슬슬 손에 익어간다.

이제 움직임에 들어갈 차례지만, 일주일간 설휴가로 인해 작업 중단. 컴퓨터를 못할테니, 그림연습이나 열심히 하다 와야겠다.

2.19

얘네들은 수도 적고 움직임이 별로 없다. 덕분에 빠르게 완료

다음 스테이지로 넘어가자.

…그러기 전에 한 번 짚고 갈 문제.

이전 작업인 해적의 집에서도 들었던 잔소리이긴 한데, 엑스트라들이 너무 색깔이 강하다는 이야기가 있었다. 이는 디자인의 문제라기보단 색의 대비 문제로 사료되고, 나 또한 동감하는 바였는데 이번 영상에서도 비슷한 댓글이 달렸다. 아무래도 엑스트라들의 색조를 조절하는 편이 좋아 보인다.

Lerp로만 색조를 조절하려니 한계가 있어 Brightness를 추가했다. 그 와중에 코파일럿이 HLSL도 예측 코딩을 해준다는 사실을 깨달았다. 확실히 인텔리전스와는 다르구나!

색조를 좀 더 배경에 묻히도록 조절.

대전 준비 #2

2.7

준비한 UI를 작동되도록 코드를 짠다. 최근 코파일럿의 도움을 받고 있는데 간단한 노가다 작업을 줄여줘서 좋다.

이제 접속이 실패했을 경우를 대비해야 한다. 메세지, 메세지 박스, 그리고 채팅창이 이번 포스팅의 주된 일거리가 될 것이다.

우리가 보는 ‘당연한 것들’에 대한 처리. 코파일럿에게 맡겨봤더니 엉망으로 짜놔서 그걸 다듬느라 오히려 오래걸렸다. 그냥 조수역할로만 써야겠다…

2.8

오..? 생각보다는 빨리 끝났다. 이제 코드를 넘기고 다시 엑스트라를 그리러 가자

대전 준비

1.30

원래 계획은 다음 배경에 등장하는 엑스트라들을 그리는 것이었다. 하지만 네트워크 코드작업이 일단락되었고 테스트가 필요하다. 테스트는 빠를수록 좋으므로 이 버전을 먼저 만들기로 하자. 내부 테스트가 끝난 후엔 배포버전을 만들어야 한다. 이는 모든 캐릭터가 등장하는 마지막 테스트 버전이 될 것이다.

배포를 고려한다면 해야 할 일이 꽤 있다.

  • 멜라의 스킬 추가
  • 다국어 지원 시스템 구축
  • 네트워크 UI

멜라는 명색이 끝판왕인데 죽음의 키스가 1회용이다보니 스킬이 1개 줄어드는 효과가 있다. 때문에 실제로 게임을 좀 하다보면, 사용할 스킬이 마땅치가 않다. 액티브 스킬이 하나 더 필요하다.

대공기 비슷한 걸 하나 추가하도록 하자.

1.31

이펙트까지 올리고 완료.

작업보드에 있는 버그들도 처리하고 가자.

2.1

코드를 GGPO용으로 바꾸면서 여러가지 작고 사소한 문제들이 생긴다. 이런 작업들이 코드내에서만 해결되면 별 상관이 없으나, 에셋의 정보를 바꿔야 하는 경우 모든 에셋을 순회하며 이을 체크해야 하는 골치아픈 상황이 생긴다. 프로그래머라면 이를 자동화해서 처리할 수 있겠지만 이를 위해 툴을 만드는 것도 쉬운 일은 아니다.

그래서 이런 툴은 AI에게 맡기면 편하다. 빠르게 만들어줄뿐만 아니라 거의 완벽하다. 좋은 시대다.

지금까지는, 캐릭터들의 엉덩이가 흔들리지 않았다. 그 이유는 티도 안나는데 속도를 희생해가면서까지 왜 굳이 물리 적용을 해야 할까? 라는 이유였다. 하지만 유튜브의 댓글중 하나가 인상깊었다.

“티도 안나는데 굳이 해야 합니까?”

“우리가 알아볼 것입니다.”

그래서 적용하고 있다(…) 사실, 별로 성능에 부담을 주지는 않는다.

버그는 다 잡았다. 이제 다국어 지원을 위한 밑바탕 작업을 해보자.

일단 공부가 필요하다. 이 영상에서 잘 설명을 해준다. 열심히 따라해보자.

2.2

일단 3개국어로 진행한다. 일본어는 원래 예정엔 없었으나 폰트가 다를 경우의 테스트를 위해 필요하다. 깨지는 언어를 어떻게 처리할 것인가? 적어도 폴백이 나와야 한다.

일본어 같은 경우는 아틀라스가 워낙 커서 다이나믹이 좋다고 한다. 그런데 이를 실제로 적용해보니 영 작동이 안되고 있다.

여기저기 조사해본 결과 이는 샘플링 포인트 사이즈가 문제라는 걸 알았다.

기본으로 잡혀있는 Sampling Point Size가 너무 크다. 이게 뭐하는 건지는 모르겠으나 60으로 잡아주니 잘 된다.

이제 이를 폴백에 등록해준다.

거듭한 삽질끝에 완료… 어쨌든 기본은 됐다. 남은 건 언어에 따라 UI터지는 현상을 수정해야 한다.

스샷찍고 나니 벨 얼굴 윤곽선이 안보이네..디자인 리폼하면서 까먹은 듯.

2.3

유니티 Localiztion은 생각보다 많은 걸 지원한다. 예전에 게임을 만들 땐 몰랐던 것이… 텍스트 필드가 좁으면 글씨가 깨지거나 깨알같이 작아지는 것이 당연한 줄 알았다. 하지만 이렇게 언어에 맞게 UI의 길이를 조절할 수 있다니…!

2.5

며칠 째 로컬라이징 시스템과 씨름중. 처음해서 어려운 것도 있지만, 절대적으로 집중할 시간이 부족했다. 회사에 있는 동안은 작업할 수 없고, 마침내 컴퓨터 앞에 앉아도 이런저런 일로 끊임없이 방해를 받는다. 하루에 혼자 3시간 정도만 집중할 수만 있다면 얼마나 좋을까.

다국어 지원 기초공사는 끝났다. 이제 GGPO관련 UI를 붙여보자.

일단 UI를 만든 다음에…

스파인 대체 프로세스 연구

1.22

엑스트라들의 모션은 단순할 것이다. 그래봐야 팔을 흔든다던가, 몸을 흔드는 반복동작이다. 이를 위해 스파인을 배워야 할까? 가격은 둘째치고 배우기가 몹시 귀찮다. 블렌더로 대충 떼워도 되지 않을까?

GhatGPT가 알려준바로는 이런 애드온이 내장되어 있다. 내장되었으나 비활성화 상태인 애드온은 대체로 안정성에 문제가 있거나, 주력으로 사용되지 않는 기능들이다. 이것이 실마리가 될 지 모른다.

예상보다 잘 가져오네?! 옵션을 몇개 잘 맞추기만 하면 관절들을 플랜으로 가져오는 건 쉽다.

하지만… 자동으로 짤라주는 기능이 어렵다. 지오메트리 노드를 이용해 Convex Hull로 짤라봤는데, 정확도가 매우 떨어진다. 더불어 관절을 제 자리에 위치시키는 것도 수동으로 해야 한다. 흐음. 뭐, 이 정도는 어렵지 않으니, 진행하기로 하고…

이제 아틀라스 문제. 모든 관절텍스처는 개별처리되고 있으니 베이킹해야 한다. 먼저 원본 메쉬를 복사하고, UV를 Pack, 그 다음 Extrusion을 1cm정도 준다음 베이킹하면 될 것 같다.

일단 메뉴부터 만들고… 개인툴에 애드온 기능 추가하는 게 참 오랫만.

…을 하려다가 생각해보니 어차피 굽는 건 한번에 할텐데 뭣하러 자동화까지..란 생각에 그만 둠

기술적인 문제는 해결이 된 것 같으니… 분절부터 시작해 보자.

1.23

Image as Plane의 옵션표 저장

  • Material Type : Emit
  • Shadow Mode : None
  • BackfaceCulling : True
  • Align: Y-
  • Plane dimension : Dpi, 50

엑스트라의 애니메이션은 이게 끝이다. 기술적인 문제는 없을 것으로 사료되지만, 그래도 잘 나오는지 테스트는 필요해 보인다.

UVPackMaster로 UV를 배치한 후, 베이킹한다. 이는 텍스처를 한장으로 만들어 최적화를 하는 데 사용된다. 물론 관리도 쉽다.

잘 나오긴 하는디.. 왤케 타지.. 뭐, 나중에 확인할 일이다.

1.24

2번도 분절, 애니메이션 완료

3번 분절. 여기서 폴리곤을 최적화해주고 배치를 해야 한다. 스파인2D는 이 과정이 자동이라 편하다. 2D애니메이션을 주력으로 한다면 여전히 스파인만한 툴이 없을 것이다. 하지만 애니메이션이 익숙치 않으니까 이번 프로젝트는 블렌더를 쓰자.

3번도 완료

4번도 완료

비틀비틀 5번도 완료

1.25

뒤뚱뒤뚱 6번도 완료

감자 깎는 7번을 지나

1.26

고기도 먹고

가장 힘들 것으로 예상했던 점프캐릭터, 예상대로 가장 어려웠다.

1.29

10번. 앞으로 2개.

벌써 무료기간이 끝났다. 그런데 무료체험을 하니 3개월 더 준다! 어차피 그림이란 것이 호흡을 길게 봐야 하는 소재라 서두르지 않는다. 돈독만 오른 어도비는 좀 배워라.

11번도 완료. 얘는 움직임 폭은 적은데 레이어구조가 복잡해서 시간이 오래 걸렸다.

12번까지 완료. 이제 관절별로 쪼개져 있는 텍스처를 베이킹해야 한다.

인스턴싱이 아니니 텍스처를 합친다고 드로우콜이 줄어들지는 않을 것이다. 다만 UV의 덩어리(블렌더에선 이를 Island라고 한다.)가 캐릭터를 개별로 다룰때보다 작아지니, UV상의 로스는 줄어든다. 이것만으로도 베이킹을 할만한 이유는 충분하다.

그림자를 2번째 패스로 처리. 2패스는 이럴 때 쓰라고 있는 것이다.

하지만 2번째 태그를 처리할 땐 UniversalForward가 아닌 SRPDefaultUnlit태그를 사용해야 한다. 라이트를 받지 않는 보조태그로 이와같은 그림자를 처리하기엔 딱이다. 이렇게 해도 되는 지는 모르겠으니.. 일단 빌드를 해볼까.

…를 시도했으니 실패. 이건 로딘에게 물어보자.

일단 몽땅 불러오자. 잘 불러진다.

최종적으로 배치하고, 애니메이션 속도가 느린 친구들은 게임과 어울리도록 속도를 높여준다. 처음 작업한 색감 그대로 게임에 넣으니 엑스트라들이 너무 생생한 색감을 가져 메인 캐릭터와 구분되지 않았다. 이것도 캐릭터가 부각되도록 색을 조금 눌러줄 필요가 있어 셰이더를 수정한다.

늘 그렇듯 처음이 힘들다. 두번째부터는 좀 수월해질 것이다. 다음은 숲의 나무꾼을 그려보자.

해적의 집 엑스트라들 제작 #2

1.17

그림이 많이 편해진 건 맞는데, 여전히 뭔가 거리낌이 있다. 좀 더 그려보자.

교점 지우개를 알게 된 이후로 선따기가 무척 편해졌다. 적어도 3배 정도는 속도가 빨라진 것 같다. 나같은 경우 선화에 자신이 없었기 때문에, 옷주름등에서 선맛을 살리기보단 채색에서 모든걸 표현하는 쪽으로 방향을 잡았는데, 이 방향과 교점 지우개가 궁합이 좋다.

8번도 완성. 완성하고 나니 다리굵기가 짝짝이네…정진이 필요하다.

1.20

9번 완성. 그림의 속도는 반복 노가다보단 얼마나 삽질을 덜하느냐에 달려있다. 즉 뎃생이 정확할수록 그림에 소요되는 시간은 줄어든다. 기본기를 탄탄히 다져야 하는 이유다.

10번도 완료

11번 완료. 해적의 집 엑스트라들은 러프가 부족했다는 느낌을 많이 받는다.

1.22

12번 완료. 여전히 마음에 안드는 부분이 많아 더 그려보고 싶은데, 러프가 없다.

이 정도면 어느 정도 시끌벅적하긴 하겠지… 이제 분절하고, 애니메이션을 해보자.

해적의 집 엑스트라들 제작

1.6

이번 작업 목표엔 그림뿐 아니라 스파인 학습이 포함된다. 배울 게 참 많다. 일단 그림을 그려보자.

최근엔 옷을 입히기 전에 누드크로키를 한 번 거치고 있다. 처음엔 연습삼아 했던 것이지만, 정작 이를 진행하니 전체적인 비율이나 동세를 교정하는데 상당한 도움이 된다.

이제 디자인을 하고…채색에 들어가자

1.9

색칠을 어디까지 할 것인가…? 기준을 정하는 건 늘 어렵다. 너무 빡빡하면 추후 작업이 어렵고, 너무 느슨하면 퀄리티가 떨어진다.

타임오버

1.11

이번 주는 이벤트가 많아 생각보다 그림을 그릴 시간이 많지 않았다. 진행시간이 절대적으로 적은 것도 있었지만, 사실 망설임이 더 컸다. 이 방법은 옳은가? 에 대한 의심. 시간이 지나 다시 마음을 잡고 하려 보니, 현재 진행하고 있는 스트로크 기반 채색법이 다소 어렵다는 인상을 받았다.

전통적인 방법을 사용해보도록 하자.

내가 선따기를 기피했던 이유는 두가지 이유가 있다. 첫번째로 귀찮았고, 두번째로 선화에 자신이 없었기 때문이다. 그런데 클립스튜디오의 선은 포토샵과는 다른 맛을 준다. 무슨 이유에선지 모르겠는데 꽤 예쁘게 그려진다. 손떨림 보정기능인가…? 벡터레이어 때문인가? 어쨌거나 이걸 사용해서 다시 그려보도록 하자. 3번째 도전이다.

이렇게도 그어보고, 저렇게도 그어보다가 결국 에어브러시 스타일로 회귀했다. 선을 그어두니 잔주름엔 칠을 하지 않아도 디테일이 살아있어 노력이 덜 든다. 그나저나 클튜의 마법봉이 포토샵보다 좋은 느낌이다. 원하는 영역을 딱딱 잘 선택해 준다. 쓸수록 마음에 드는걸!?

세부 디테일을 선에 맡기니 일이 꽤 쉬워진다. 1번 엑스트라 완료. 이대로 연습을 반복해 보자.

1.13

2번도 완료. 그릴 시간이 많지 않지만 꾸준히 해보자.

3번 완료. 벡터 레이어는 정말 좋다! 선작업을 좀 더 빠르게 할 수 있지 않을까

1.14

4번도 완료. 얘는 스케치부터 마음에 안들더니 끝까지 마음에 안드는 작업이었다.

1.15

5번도 완료.

6번도 완료

M4준비

M3까지의 일은 단순했다. 핵심컨텐츠를 개발하고자 했던만큼, 주력이 되는 캐릭터를 만들고 그와 매칭이 되는 배경을 만드는 일이다. 이제는 모든 캐릭터는 플레이가능한 상태. 여기까지 개발하면, 어쩐지 다 된 것처럼 보인다. 하지만 게임을 런칭해본 사람이라면 알고 있다. 진짜 일은 이제부터 시작이다. 먼저 남은 일을 정리해보자. 빠진 게 있으면 생각날 때마다 추가한다.

M4

  • 네트워크 대전
  • 다국어 지원시스템 구축
  • CPU대전 – AI준비
  • 캐릭터 시나리오/대사 확정
  • 시나리오 모드, 다이얼로그 시스템
  • 일러스트레이션
  • 스테이지 배경인물들 제작
  • 스팀페이지 개설
  • 도발 및 승리포즈2

M5

  • 캐릭터 인트로/엔딩 웹툰
  • 사운드(음성, bgm포함)
  • 온라인 매칭
  • PV제작
  • 미니게임(무한대전, 통깨기)
  • 의상파괴 모델링
  • 추가복장 모델링

코드는 GGPO를 사용한 네트워크 플레이를 위해 로딘의 손에 넘어가 있는 상태이다. 안정화 기간동안 그림을 그리자. 일단 손을 풀어야 한다. 컴퓨터로 그림을 그린 지 너무 오래 됐다. 난 AI이미지를 좋아하지만, 캐릭터 이미지엔 AI를 쓰지 않을 것이다. 그림을 그리는 게 이 프로젝트 최대의 즐거움인데 이걸 기계에게 넘겨줄 이유가 없다. 작업하기 귀찮은 배경에는 종종 사용할테지만, 이것도 에셋을 더 많이 쓰지 않을까 싶긴 하다.

연말동안은 그림만 그려보도록 하자. 일단 밥을 먹고…

시작

12.25

색칠 공부 중. 때늦은 케데헌 루미

12.26

그리다가 질린 루미와 (그리고 올리고 나서 발견한 요즘은 AI도 실수하지 않는다는 손가락 6개와)

조와쓰 조이

도 그리다 질림. 케데헌 애들 디자인이 생각보다 복잡하다.

미라 스케치

12.27

색칠 중.

12.28

미라도 대충 마무리.

진우 스케치

12.29

색칠방법에 대한 근본적인 고민 중.

여왕의 전당

12.18

한여름은 해적의 집에 떨어질 것이다. 그렇다면 다음 배경은 배틀퀸인 리그레이의 장소다. 리그레이는 자신의 저주를 치료하기 위해 배틀 스톤의 힘으로 전당 건물을 통째로 하늘로 들어올렸다. 때문에 마지막 장소는 하늘에 떠 있는 하늘섬이다.

전당건물 안에서 싸울 것이므로 적당한 건물을 사자.

https://www.acon3d.com/ko/product/1000013795

오.. 이 작가의 시리즈는 나중에 풀버전을 사고싶을 정도로 완성도가 높다. 나중에 규모가 있는 RPG게임이라도 만들게 되면 구매해 보자.

하지만 스케치업에서 저정도의 화려함을 구현했다는 것은 블렌더에서 해야 할 작업이 아주 많다는 걸 뜻한다.

차근차근 정리를 해주고, 메인라이팅.

바닥 텍스처는 제미나이가 뽑고

그걸 기반으로 노멀맵은 포토샵에서 만들고

러프니스를 적당히 낮춰주면 그럴싸한 바닥이 된다. 편한 세상이다.

가운데 들어갈 배틀스톤은 직접 디자인해주자.

대충 요래 생겼고…

대충 요래 모델링하고…

디테일을 넣는 중.

12.20

리그레이는 자신의 저주를 ‘의학’으로 치료하기 차원의 틈새로부터 물건을 잔뜩 수집해 집을 쓰레기장으로 만들었다는 설정.

베이킹을 위한 리토폴로지 중

12.21

베이킹을 몇 번했는지 모르겠다. 알파가 안뚫려서, 최종 결과물을 jpg로 저장해서, 해상도를 작게 해서, Extrusion이 모자라서, 마진이 너무 커서…하지만 이제 정말 끝난 것 같은데… 유니티로 넘겨보자.

유니티에선 잘 나온다.

베이스는 됐고, 뒤쪽의 배틀스톤에 사용될 셰이더 3개가 필요하다.

  • 배틀 스톤
  • 그 근처 금색 장식들
  • 틈새의 빛

…지만, 오늘은 타임오버 다음에 해보자.

12.22

배틀스톤 근처의 오브젝트는 맷캡을 쓸 것이다. 일단 씬에서 맷캡을 굽자.

그리고 연기를 위한 메쉬를 만들자

파티클을 붙이고, 셰이더를 붙이고, 회전컴포넌트를 붙여서 완성한다.

12.23

레벨 컬러를 세팅하고, 스크린샷을 찍고… 해서 완료.

M3가 끝났다. 야호!