수공예 인형을 브라우저에서 플레이 가능한 3D 캐릭터로 변신시키다
요약
수공예 아티스트 마켓플레이스 Like Art이 물리적 인형을 브라우저 기반의 3D 캐릭터로 변환하는 'Doll World'를 공개했습니다. 이 시스템은 제작자가 찍은 사진을 활용하여, 얼굴과 수공예 디테일은 유지하면서도 애니메이션 가능한 3D 모델로 재구성합니다.
핵심 포인트
- 물리적 인형을 브라우저 기반의 3D 캐릭터로 변환 가능
- 사진 속 특징(얼굴, 색상)을 보존하며 리깅 및 애니메이션 적용
- 제작자와 수집가가 만나 상호작용하는 가상 월드 제공
Like Art은 수공예 아티스트 인형 마켓플레이스입니다. 700명 이상의 독립 예술가들이 만든 3,000개에 가까운 작품들 중 하나하나가 물리적인 오브제이며, 제작자가 직접 조각하고, 바느질하고, 페인팅하며, 사진을 찍어 완성합니다.

저희는 이 인형이 제품 페이지에서 멈추지 않는다면 어떤 일이 벌어질까 궁금했습니다. 그래서 Doll World를 만들었습니다. 이곳은 브라우저 기반의 3D 월드이며, 물리적인 인형이 돌아다니는 캐릭터가 되고, 제작자와 수집가가 만나고 서로의 방을 방문하며 함께 놀 수 있는 공간입니다.
시도해 보세요 (무료, 설치 불필요, 데스크톱 + 모바일): https://like-art.com/v6/game.html?world=1
사진을 캐릭터로 (Photo to character)
- 사진 선택. 제작자가 직접 찍은 사진을 사용합니다. 캐릭터는 그 인형임을 알아볼 수 있도록 얼굴, 머리카락, 색상 등의 특징이 유지되어야 합니다.
- 재구성(Reconstruction). 인형을 표준적인 서 있는 포즈로 재구성하여 리깅(rig) 및 애니메이션화할 수 있게 만듭니다. 배경, 포즈, 조명은 정규화되지만, 페인팅된 얼굴과 수공예 디테일은 보존됩니다.
- 리깅 및 애니메이션 (Rig and animate). 기본적인 동작 클립 세트(대기, 걷기, 달리기, 앉기, 손 흔들기, 춤추기)를 사용합니다.
- 품질 검사 (Quality gate). 인형이 월드에 배치되려면 색상이 사진과 일치해야 하고, 발이 바닥 평면(ground plane)에 정확히 놓여야 하며, 메쉬 안에 디스플레이 스탠드나 받침대가 남아있지 않아야 합니다. (실제 인형은 스탠드 위에 촬영되는 경우가 많아, 이 부분은 먼저 제거되어야 합니다.)
- 월드 설치. LODs를 적용한 바닥 고정 GLB 파일로 월드에 배치합니다.

정말 어려웠던 세 가지 점 (Three things that were genuinely hard)
1. 모든 인형을 리깅할 수 있는 것은 아니다 (yet)
지 점 (Three things that were genuinely hard)
1. 모든 인형을 리깅할 수 있는 것은 아니다 (yet)
자동 휴머노이드 리깅(Automatic humanoid rigging)은... 휴머노이드를 가정합니다. 네 발 달린 인형들(수집가들이 소유한 플러시 토끼나 곰 등)은 HTTP 422 - pose estimation failed 오류와 함께 돌아왔습니다. 전체 생산 라인을 막기보다는, 일단 사족보행 동물들은 제외하고 로컬 Blender/Rigify 경로를 구축하고 있습니다. 작동하는 것은 출시하고, 그렇지 않은 것은 보류합니다.
2. 하나의 텍스처가 에셋의 86%를 차지했다 (22MB 중)
단일 4096px WebP 텍스처 하나가 모바일 에셋 크기의 86%를 차지했습니다. 즉, 메쉬(mesh) 자체가 문제가 아니었습니다. 이제 고해상도 텍스처는 필요할 때만 유지하고, 세계 구축을 위해 LODs (1024-2048)를 KTX2/Basis 압축으로 생성합니다. 세상에 서 있는 인형 하나가 2~3MB입니다. 우리는 여기에 도달하기 위해 폴리곤(polygons)이나 최종 텍스처 해상도를 의도적으로 포기하지 않았습니다.
3. 첫 로드가 98.7MB였다
게임 포털들은 엄격한 예산 제한이 있습니다 (CrazyGames는 초기 로드를 50MB 미만으로 원하며, 이는 전체 URL을 측정합니다). 고해상도 ASTC 텍스처 레이어만 해도 57MB에 달했습니다. 메인 월드 자체를 저하시키는 대신, 포털 진입 시 해당 레이어를 건너뛰도록 빌드 플래그를 추가했습니다:
// world-astc-32.js
function installWorldAstc32() {
if (globalThis.__V6_LITE__ === true) return null; // lite build: 57MB ASTC 레이어 건너뛰기
...
포털 빌드의 경우 98.7MB에서 41.7MB로 줄였고, 메인 월드는 그대로 유지되어 여전히 98.7MB입니다.
구동 환경 (Where it runs)
- 브라우저: https://like-art.com/v6/game.html?world=1
- itch.io 및 GameJolt (CrazyGames 제출 심사 중), iOS + Android 앱
이 루프는 캐릭터가 여전히 당신의 인형처럼 보이게 할 때만 작동하므로, 인형 제작자들의 피드백은 진심으로 환영합니다. 특히 파이프라인을 거치면서 이상하게 나온 부분이 있다면 알려주세요. 리깅이나 메쉬 파이프라인에 대해 더 깊이 논의할 준비가 되어 있습니다.
AI 자동 생성 콘텐츠
본 콘텐츠는 Dev.to AI tag의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.
원문 바로가기