Anthroposcaper — Tag a 2D plan, get a 3D urban environment model
Anthroposcaper — 2D 도면에 태그를 달아 3D 도시 환경 모델 만들기
Anthroposcaper는 브라우저에서 그린 도면이나 DXF 파일에 태그를 달고, GLB 모델 템플릿을 배치해 3D 도시 환경을 만드는 도구입니다. 도면이나 태그를 바꾸면 장면을 다시 생성하며, 결과를 GLB로 내보내 3D 편집기와 게임 엔진에서 활용합니다.
- 주제
AI 요약
Anthroposcaper는 2D 도면의 선과 영역을 3D 도시 환경으로 바꾸는 브라우저 도구입니다. 브라우저에서 직접 도면을 그리거나 DXF 파일을 가져온 뒤, 면과 선에 태그를 지정합니다. 사용자가 GLB 모델로 템플릿을 만들면 도구가 태그에 맞는 도면의 가장자리를 찾아 모델을 배치합니다. 모서리와 교차점도 처리하며, 모델을 늘릴지 압축할지, 텍스처를 반복할지 같은 규칙도 템플릿에 설정합니다.
도면에서 3D 장면까지
Build 3D를 누르면 도면의 선과 영역을 바탕으로 장면을 생성합니다. 도면이나 태그를 수정한 뒤 다시 빌드하면 연결된 3D 요소도 새 배치에 맞춰 생성됩니다. 결과는 GLB로 내보내 Blender 같은 3D 편집기나 게임 엔진에서 사용할 수 있습니다. 재생성 전 장면의 메시를 직접 고치는 방식은 아닙니다. 대신 도면, 태그, 템플릿, 재질과 텍스처를 수정하고 다시 생성합니다. 수동으로 배치한 모델은 다시 빌드해도 위치를 유지합니다.
DXF를 가져오면 레이어와 이름을 보존합니다. 레이어를 숨기거나 잠그고, 영역 생성에서 제외할 수 있어 주석이나 격자선이 영역을 잘못 나누는 일을 막습니다. 텍스트, 치수, 해치, 블록은 가져오지 않습니다. 블록 안에 실제 도형이 있다면 먼저 분해해야 합니다.
내보내기와 AI 에이전트
GLB 내보내기에서는 PBR 재질과 텍스처를 각각 유지하고, 메시를 재질별로 분리합니다. 객체도 하나의 메시로 합치지 않고 별도 노드로 저장합니다. 다만 노드 이름은 generated_12처럼 일반적인 이름이며, 의미 있는 이름과 그룹은 아직 제공하지 않습니다. 개발자는 태그나 템플릿별 그룹화를 추가할 수 있다고 답했습니다.
MCP로 AI 에이전트를 연결하면 템플릿과 태그, 재질 설정을 돕고 프로젝트를 정리합니다. 에이전트는 영역과 태그, 템플릿 설정, 마지막 빌드 결과를 확인해 태그가 없는 영역이나 생성에 실패한 이유를 찾고 수정할 수 있습니다. 다만 자동으로 실행되는 검증기는 아니며, 사용자가 확인을 요청해야 합니다. 이미지에서 도면을 읽고 태그를 지정하는 기능도 있지만, 개발자는 이미지 인식이 기하 정보와 설정을 다루는 작업보다 덜 안정적이었다고 설명했습니다.
개발자는 생성된 요소가 도면 선을 따라 움직이지만, 선끼리의 제약 조건은 아직 없다고 밝혔습니다. 도로 선을 옮겨도 평행한 보도 선이 자동으로 따라오지는 않으며, 제약 조건 해결 기능은 향후 계획입니다. 제품은 브라우저에서 실행되고 데이터는 사용자 기기에 남습니다. 비상업적 사용은 무료이며 가입이 필요 없고, 상업적 사용에는 유료 플랜이 적용됩니다.
Product Hunt 반응
- @pommaniulo — 안녕하세요, Product Hunt! 저는 Mikhail입니다. Anthroposcaper는 20년 동안 만들고 싶었던 도구입니다. 15~20년 전에는 3D 작업, 주로 도면에서 도시 환경을 모델링하는 일을 했습니다. 멋진 연석이나 난간, 가로등을 모델링하는 일은 창의적입니다. 하지만 도면의 모든 선을 따라 배치하는 일은 1년쯤 지나면 반복 작업이 됩니다. ‘여기는 도로, 저기는 잔디밭’이라고 말하면 연석과 난간을 알아서 놓는 도구를 만들고 싶었습니다. 브라우저에서 도면을 그리거나 DXF를 가져오고, 면과 선에 태그를 붙인 뒤 GLB 모델을 템플릿으로 바꾸면 됩니다. 코드나 노드 그래프는 필요 없습니다. 템플릿은 입력 도면 일부와 출력할 3D 장면 일부를 지정하는 방식입니다. 압축을 허용할지, 늘릴 때 텍스처를 반복할지 같은 규칙도 정합니다. Build 3D를 누르면 생성하고 GLB로 내보냅니다. MCP로 AI 에이전트를 연결해 템플릿과 태그, 재질을 설정하고 프로젝트를 정리할 수도 있습니다. 브라우저에서 실행되며 데이터는 기기에 남습니다. 비상업적 사용은 무료이고 가입도 필요 없습니다. 상업적 사용은 유료 플랜입니다. 게임이나 건축 시각화 환경을 만든다면 어떤 반복 작업을 자동화하고 싶으신가요?
- @jedidiah_behar5 — 내보낸 GLB 파일에서 재질과 객체 그룹을 따로 유지해 Blender나 게임 엔진에서 쉽게 편집할 수 있나요?
- @pommaniulo — 재질은 유지됩니다. 재질마다 텍스처가 포함된 별도의 PBR 재질로 내보내고, 메시도 재질별로 나눠 Blender나 엔진에서 각각 수정하거나 바꿀 수 있습니다. 객체도 하나의 메시로 합치지 않고 별도 노드로 내보냅니다. 도면의 각 영역, 가장자리를 따라 배치한 템플릿 조각, 배치한 모델이 각각 노드가 됩니다. 다만 의미 있는 이름과 그룹은 아직 없습니다. 노드 이름은 generated_12처럼 일반적입니다. 게임 개발자가 아니라서 일반적인 기준으로 내보내기 구조를 정했습니다. 엔진에서 원하는 이름 지정, 그룹화, 병합, 피벗 방식을 알려주시면 내보내기 설정으로 추가하겠습니다. 태그나 템플릿별 그룹화는 빠르게 추가할 수 있습니다.
- @harrywilson — DXF 가져오기를 지원하면 기존 프로젝트에서 쓰기 좋겠네요. 레이어와 주석이 많은 도면도 처리하나요?
- @pommaniulo — 레이어는 이름과 함께 그대로 가져오며, 영역 생성에서 숨기거나 잠그거나 제외할 수 있습니다. 주석 레이어의 선, 격자, 프레임, 지시선이 영역을 나눌 수 있으니 빌드 전에 해당 레이어를 끄면 됩니다. 텍스트, 치수, 해치, 블록은 가져오지 않습니다. 영역은 선을 바탕으로 생성하므로 실제 도형이 블록 안에 있다면 먼저 분해해야 합니다. 중간 규모 도면은 빠르게 처리하며, 매우 큰 도면에서는 필요 없는 항목을 제외하는 편이 좋습니다.
- @jeankang — 에이전트가 누락된 태그나 일관되지 않은 템플릿 설정도 찾아낼 수 있나요?
- @pommaniulo — 에이전트에게 요청하면 그런 점을 확인할 수 있습니다. 에이전트는 각 영역의 태그와 적용되는 매개변수, 빌드 엔진이 해석한 템플릿 설정, 마지막 빌드 보고서를 읽습니다. 템플릿마다 일치한 선의 수와 생성 결과를 확인하고, 생성되지 않았다면 일치하는 선이 없었는지, 선이 연결되지 않았는지, 늘릴 구간이 모델 하나보다 짧았는지 살펴봅니다. ‘태그가 없는 영역을 찾아줘’나 ‘여기서 울타리가 왜 생성되지 않았어?’라고 물으면 원인을 찾고 수정할 수 있습니다. 변경 사항은 모두 실행 취소 기록에 남습니다. 다만 자동으로 실행되는 검증기는 아닙니다. 요청하면 에이전트가 검사합니다.
- @alheri_murya — 레이아웃을 바꿔도 도로와 건물, 거리 요소가 정렬된 상태를 유지해야 하는 게임 환경 제작에 쓸 수 있나요?
- @pommaniulo — 쓸 수 있지만 한 가지 제약이 있습니다. 생성한 모든 기하 요소는 2D 도면의 선에 연결됩니다. 선을 옮기거나 모양을 바꾸고 Build 3D를 누르면 연석, 보도, 울타리, 반복 배치한 거리 요소도 새 위치에 맞춰 다시 생성됩니다. 다만 선 사이의 제약 조건은 아직 없습니다. 도로 한쪽 선을 옮겨도 평행한 보도 선이 저절로 따라오지는 않으며, 제약 해결 기능은 개발 계획에 있습니다.
- @bastienrenard — 첫 3D 장면을 만든 뒤 얼마나 편집할 수 있나요?
- @pommaniulo — 대부분 수정할 수 있지만, 생성된 메시가 아니라 장면을 만드는 원본을 편집합니다. 도면의 선을 옮기거나 자르고 늘리고 영역을 다시 그릴 수 있습니다. 태그와 높이, 경사, 오프셋을 조정하고 개별 점까지 수정할 수 있습니다. 템플릿에서 GLB 모델을 바꾸거나 선을 따라 반복·늘리는 방식을 바꾸고 재질과 텍스처도 수정합니다. 모두 실행 취소와 다시 실행을 지원하며 수동 배치 모델은 위치를 유지합니다. 최종 메시를 한 번만 손볼 때는 GLB로 내보내 Blender에서 편집하면 됩니다. 다만 다음에 다시 생성하면 그 편집 내용은 유지되지 않습니다.
원문: Product Hunt / 번역·요약: Trawling