뒤로

Postcard World

누구에게 보내는지와 둘 사이에 있었던 일 하나를 적으면, 링크 하나에 담긴 6.5미터짜리 미니어처 세계가 만들어집니다. 당신이 쓴 문장은 상대가 한가운데까지 걸어갔을 때에야 떠오르고, 상대는 사물 하나를 골라 답장을 쓸 수 있습니다.

제작자: Pawer소스 코드
라이브 체험
Postcard World라이브 체험

설명

Postcard World는 하나의 세계가 아니라 세계를 선물하는 기계입니다. 누구에게 보내는지와 둘 사이에 있었던 일 하나를 적으면, 오직 그 사람만의 미니어처 세계를 만들어 줍니다. 폭 6.5미터, 딱 한 가지 일과 한 사람을 담을 만한 크기입니다. 당신은 링크를 받아 보냅니다. 상대가 링크를 열고 걸어 들어와 한가운데에 이르러서야, 당신이 쓴 문장이 떠오릅니다.

받는 사람도 종이배, 양초, 혹은 그 편지 중 하나를 골라 답장을 쓸 수 있으며, 그 답장 역시 하나의 링크일 뿐입니다. 그래서 이것은 정적인 전시 페이지가 아니라 양방향의 주고받음입니다. 사물은 실제 크기로 배치되어 있고(편지 0.12m, 의자 0.9m, 가로등 3.5m, 나무 4.5m), 눈높이 1.62m를 기준으로 해 작은 세계에 그럴듯한 공간감을 줍니다. 사물은 단순한 세트 장식도 아닙니다. 다가가면 한 단계 밝아지고, 답장이 쓰이면 중앙으로 떠가는 등 메커니즘을 담당합니다.

백엔드는 전혀 없습니다. 세계 전체가 링크에 인코딩되어 있으며(샘플 세계는 282자), 서버도 데이터베이스도 없고, 링크는 만료되지 않습니다. 작품은 이미지, 폰트, 오디오 파일을 하나도 불러오지 않습니다. 풀, 땅, 하늘, 먼 산, 구름, 별, 비, 눈, 물웅덩이는 모두 코드로 생성되고, 사운드스케이프는 Web Audio로 실시간 합성되며, 인터페이스는 시스템 폰트를 사용합니다. 빌드 도구도 없어서, 브라우저의 네이티브 ES 모듈과 import map으로 실행됩니다. 3D 에셋을 제외하면 이미지, 오디오, 텍스트 중 AI로 생성한 것은 없으며, 코드는 제작자가 직접 작성했습니다.

Tripo 활용 방식

장면 속 3D 에셋 14개는 모두 Tripo의 text_to_model(텍스트 투 3D) API로 생성했으며, 플레이스홀더는 하나도 없습니다. 제작자는 Tripo가 없었다면 이 작품이 기본 도형을 늘어놓은 수준에 머물렀을 것이라고 말합니다.

  • 사양: 각 에셋은 512×512 베이스 컬러 맵과 노멀 맵을 갖춘 GLB이며, 약 1만 1,500개의 삼각형으로 이루어져 있습니다. 생성 스크립트가 Tripo API를 호출하고, 결과물은 스크립트로 가져오기와 압축을 거친 뒤 런타임에 three.js가 직접 불러옵니다.
  • 세 가지 서사적 역할: 당신에게 반응하는 것(램프, 양초), 스케일을 알려 주는 것(자전거, 나무, 시계), 몸을 숙여 읽게 되는 것(편지, 종이배). 에셋의 형태와 재질이 이곳이 하나의 장소로 느껴지는지를 결정합니다.
  • 메커니즘이 된 사물: 사물은 그저 바라보는 모델이 아니라 기계의 움직이는 부품으로, 다가가면 한 단계 밝아지고 답장이 쓰이면 중앙으로 떠갑니다.

트레일러