본문으로 건너뛰기

3D to 2D to Pixel

Games › OverValue › devlog · 26.09.24

배경

Overvalue는 2.5D를 지향하는 게임으로서 총 8가지 방위를 가지고 이동할 수 있는 게임을 지향한다.

그리고 결국 캐릭터를 생성하고, 옷 입히고, 꾸미기기 가능해야하기 때문에, 의상/헤어 등이 고정 되지 않고 여러가지를 착용할 수 있어야 했다.

나름 Project Face를 통해서, "나는 왕이 될 상인가?" 게임의 50명이 넘는 인물들을 생성해본 경험이 있었기에, 이를 조금 효율적으로 할 수 없을까 생각했다.

이전에 만든 게임 "나는 왕이 될 상인가?"의 경우는, 일단 2D 게임이기에 아트 에셋을 만드는 것은 나름? 수월 했다.

단순히 톤앤매너와 어느정도의 스케일과 제약사항을 주고 그에 맞춰서, GPT에게 발주를 넣으면, 크게 벗어나지 않는 선에서 아트워크가 만들어졌고, 크게 문제없이 사용할 수 있었다.

하지만...

이번에 겪었고, 아직까지 겪고있지만, 3D, 그리고 3D > 2D > Pixel는... 사실 2 steps를 거쳐야 하기 때문에, 훨씬 더 고난이도의 작업이 되는 중이다.

생각한 방식은 Blender를 활용하여 dummy를 만들고 해당 dummy를 기반으로 도트캐릭터를 만드는 것이다.

이유는

  • 2.5D이기 때문에 많은 Posture를 갖게 해야했고, 이걸 매번 새로운 발주를 통해서 만든다는 것은, 지난 경험상 불가능에 가깝다는 것을 배웠기 때문이었다. AI가 1개의 이미지는 잘 만들지만, 해당 이미지를 기반으로 비슷한, 또는 Variation을 똑같이 만들어 나간다는게 매우 어려운 부분 이었다.

개별적으로 캐릭터를 만드는 것은 생각보다 쉽고, 잘나온다.
아래 이미지도 ref 이미지를 기반으로 단독 생성해서 나온 모델이다.

20260924-keyed

다만 해당 인물의 서있는 자세를 만드려면, 8가지의 방향이 통일성을 갖게 나와야 하며,
걷기/뛰기/앉기 등 동작이 추가되면 최소 수백프레임이 같은 스케일을 갖고 같은 이미지처럼 나와야 한다.

앞서서 말했든, 이건 아직은 불가능에 영역이다. 아무리 제약사항과 규칙을 프롬프트해도, 이미지 생성에서는 불가능 한 영역...

그래서 생각한 방법은 Dummy를 먼저 만들어서, Dummy 를 기반으로 Posture를 일정한 스케일로 만들 수 있게 하여, 각각의 Postures를 기반으로 2D를 입히는 것이었다.

이럴 경우, 처음 생성된 Dummy를 SSOT로 하여, 스케일이 틀어지는 일 없이, 다양한 Posture를 동일한 퀄리티로 만들 수 있을 것이라 생각 했다.

그래서 처음 만든 Dummy는, Claude의 Fable을 믿고 활용하여 Astra에 발주를 넣는 식으로 만들어 보았었다.

20260924-char-3d-warm-afternoon-b-d0

그래서 처음 만들어진 캐릭터가 매우 마인크래프트 같은 캐릭터인 Kenny (난 이름을 지은 적이 없다... Claude가 스스로 지은 이름)

사실 처음에는 테스트인 줄 알고, 계속 진행했었는데,

20260924-screenshot-2026-09-13-at-11-20-59-pm

이렇게 걷기 모델도 만들어보고,
하지만 이게 패착이었다...

생각보다 반복해봐도 Claude로 Astra에 Blender로 데모를 만들어보니, 저 정도 이상으로 진도 가 안나갔다.

그냥 한 일주일치 토큰만 낭비한 셈 ㅠㅠ

그래서 그 다음에 Astra를 통해 직접 발주를 시도 했다.
그리고 꽤 나은 결과물을 얻었다.

20260924-walk-d0-s1-half

위와 같은 관절을 가지고 있고 조금은 사람 같은 모델을 만들고, 걷기까지 실현했다. 다만 문제는 해당 캐릭터를 기반을 3D to 2D to Dots를 해봤는데, 보다시피 머리의 앞뒤 구분이 없어서... 얼굴이 뒤에 달린 캐릭터라던가, 문제가 생겼다.

해당 문제를 포함해서 파악된 큰 문제는 아래 2가지였고,

  1. 눈코입의 배치도 엉망이 되었고
  2. 캐릭터의 스케일도 엉망이 되었다.

그래서 다음에 시도한건 dummy를 조금더 detail 하게 만들어봤다.

20260924-egg-5-vs-4

사람의 형상에 맞게끔한 번더 수정.

20260924-p2-review

위와 같은 dummy까지 도달 했다.

그리고 해당 dummy를 기반으로 의상, 인물, 헤어 모두 성공해서,

20260924-img-8341
20260924-img-8340

바로 애니메이션으로 들어갔고 아래와 같이 테스트도 성공해서 잘 되나 했는데...

역시나 문제가 터졌다.

인물 하나에 대해서는 너무나 완벽하게 잘 되지만, 같은 더미를 기반으로 여러 의상을 만들어보고 해봤지만, 스케일의 문제로 의상이 입혀지지 않는 문제가 발생.

그리고 더 큰 문제는 이를 해결하려고 Astra에 요구했을때, 단기적으로 해당 인물의 치수를 제어서 옷의 변형만 하려고 했다.

결국 너무 빡친 나머지... 리셋 아닌 리셋으로 dummy 제작부터 다시 고민중 ㅠㅠ

현재 상황은 아래와 같고, 일단 두서 없는 글은 여기서 갈음해본다.

문제

  1. 3D to 2D to Dots로 넘어가면서, 스케일이 달라지는 문제가 생겼다.
  2. 개별 에셋의 정합성은 맞출 수 있지만, 지속반복적으로 생산은 불가능하게 되었다.
  3. Astra 모델의 경우, 근원적인 문제를 해결하려하지 않고, 지금 당면한 문제에 대해서만 단순하게 해결책을 내고 수정/반복만 지속했다.

해결방안(진행중)

  1. 일단 근원적인 문제를 해결하고자 3D to 2D to Dots 로 넘어갈때, 3D to 2D에서 스케일이 틀어지지 않도록 잡았다. 결국 2D로 바꾸는 건 3D 모델링 된 캐릭터를 필요한 Posture를 취하게 한 뒤에 2D 이미지로 변환하고, 최종적으로흔 해당 2D 이미지가 Dots 형식으로 바뀌는 것이기에, 이와 같이 잡았다.
    • 문제는 이와 같은 방안을... Astra는 생각하지 않고, 일주일간의 작업 끝에 내가 방안을 고민하여 제안해서 수정 중 이라는 것이다.
    • 물론 아직 이러한 방식이 작동할지는 테스트를 해봐야 한다.