AI 트렌드

도시는 원래 '생성'되는 것이다

deep daiv.

2025.05.09 09:00
  • 72
  • 콘텐츠에 ‘좋아’해줘서 고마워요 -
    0
  • 0

 

#90 위클리 딥 다이브 | 2025년 5월 7일
에디터 느리

💡 이번주 뉴스레터에는 이런 내용을 담았어요!

  • 도시 생성 모델의 발전 과정을 정리했습니다.
  • 규칙 기반 생성 모델의 원리를 소개했습니다.
  • 텍스트 기반 도시 생성 모델을 소개했습니다.

🔍 도시는 원래 '생성'되는 것이다

안녕하세요, 에디터 느리입니다:>

 

여러분은 도시가 '설계되는 것'이 아니라, '생성된다'는 말을 들어본 적 있으신가요? 이는 도시가 단순히 계획에 따라 만들어지는 것이 아니라, 우연한 사건, 역사, 시간의 흐름에 따라 자연스럽게 형성된다는 의미입니다. 우리가 살아가는 도시 역시 이러한 방식으로 점차 모습을 갖춰 나가죠.

 

그렇다면, 게임 속 도시는 어떻게 만들어질까요? 가장 대표적인 예로는 SimCity 4가 있습니다.

도시를 생각하면 보통 건물 배치도, 도로망, 구획 계획 같은 '설계' 이미지를 떠올리기 쉽습니다.그러나 SimCity 4는 도시의 성장 규칙을 정의하고, 유저의 선택에 따라 도로와 지구가 동적으로 확장되는 구조를 구현했습니다. 유저의 선택에 따라 도시가 자동으로 도로와 건물을 만들고 영역을 확장하는 것이죠. 마치 살아있는 도시처럼 반응하는 시스템인 셈입니다. 그렇다면 이러한 도시 생성은 어떤 원리로 이뤄지는 걸까요?

식물학에서 시작된 규칙 기반 생성 방식

오늘날 AI 도시 생성을 이해하려면, 먼저 규칙 기반 생성(Rule-based Generation)의 뿌리로 거슬러 올라가야 합니다. 도시를 '코딩'한다는 생각은 낯설지만, 놀랍게도 컴퓨터가 도시를 만들기 시작한 건 1980년대 초부터입니다. 이 개념의 시초는 의외로 식물학에서 출발합니다.

출처 : L-System Leaf

1980년대 초, L-시스템(Lindenmayer System)이라는 알고리즘이 등장했는데, 이는 단순한 규칙을 반복적으로 적용해 복잡한 형태를 생성하는 형식 문법입니다. 마치 프랙탈처럼요. 원래는 식물의 가지 구조를 표현하기 위한 것이었지만, 곧 도로망 생성에도 활용되기 시작했습니다.

여기에 Turtle Graphics라는 시각화 도구가 결합되면서, 도시 생성의 초기 기반이 마련됩니다. 거북이가 화면 위를 이동하며 선을 그리는 방식으로 도로가 그려지고, 그 위에 건물이 놓이는 방식인데요. 이 규칙 기반 방식은 다음과 같은 명령으로 도시를 구성합니다:

 

"주 도로는 동서 방향으로 격자형, 교차로는 300m 간격, 교차점마다 블록을 배치하되 각 블록 안에 무작위로 건물을 배치"

 

이렇게 코드로 정의된 규칙을 반복 실행하면, 도시처럼 보이는 구조가 화면 위에 나타납니다. 이러한 방식은 2000년대 들어 상업화되었고, 대표적인 도구가 CityEngine입니다. 이 도구는 CGA(Code Generated Architecture) 문법을 통해 건물, 도로, 심지어 창문과 기둥의 위치까지 자동으로 설계할 수 있습니다.

 

이러한 방식을 절차적 생성(Procedural Generation)이라고 하는데요. 생각보다 대부분의 게임 맵들은 이러한 방식으로 생성이 됩니다. 디아블로 시리즈의 던전 맵 역시, 모든 던전 맵이 처음부터 데이터로 입력되어 있는 것이 아니라, '디아블로' 프로그램이 일정 알고리즘에 따라 매번 던전을 '생성'하는 것입니다. 예를 들어 디아블로 3에서는 다양한 타일 세트를 활용해 맵을 조립합니다. 사막 지형은 5*5 크기의 타일 20종 중 무작위로 이어붙이며, 진입구와 출구가 반드시 연결되도록 해야 한다는 규칙이 내장되어 있죠.

 

이렇게 규칙 기반 생성 모델은 굉장히 효율적으로 도시 하나를 만들어내기 시작했습니다.

데이터를 학습하는 도시

규칙 기반 생성 모델은 정해진 알고리즘과 규칙을 바탕으로 도시를 만들어냅니다. 예를 들어, "도로는 일정한 간격으로 교차한다", "주거 지역은 상업 지구 옆에 위치하지 않는다" 같은 일련의 규칙들 말이죠. 이 방식은 깔끔하고 체계적인 도시를 만들어내는 데에는 탁월하지만, 실제 도시의 유기적인 복잡성을 담아내기에는 부족했습니다.

 

현실의 도시는 그렇게 단순하지 않습니다. 언덕 위를 따라 구불구불 이어진 골목길, 강을 따라 자연스럽게 비틀린 도심 축, 중세의 흔적과 현대 건축이 나란히 공존하는 도시들. 이들은 단 하나의 공통 규칙으로는 설명할 수 없는 독특한 진화를 거쳐 지금의 모습을 갖추게 되었습니다.

이러한 한계는 기술의 방향을 자연스럽게 머신러닝(Machine Learning)으로 이끌었습니다.

이제 도시는 규칙이 아니라, 데이터로부터 '학습'하는 대상이 됩니다.

 

머신러닝 기반 도시 생성 모델들은 수천, 수만 장의 위성 이미지, 항공 사진, 도로 지도, 지형 데이터를 수집해, 도시의 구조와 패턴을 학습합니다. 마치 예술가가 다양한 도시를 관찰하고, 그 스타일을 머릿속에 익힌 후 새로운 도시를 그려내는 것처럼, AI도 도시의 '스타일'을 이해하고 복제하기 시작합니다.

 

대표적인 기술은 GAN(Generative Adversarial Networks)입니다.

GAN은 두 개의 신경망이 서로 경쟁하는 구조입니다. 하나는 도시 이미지를 만들어내고(Generator), 다른 하나는 그것이 실제 토지 이용 구성과 비교하여 긍정(잘 계획됨) 또는 부정(잘못 계획됨)으로 구분(Discriminator)합니다. 이 치열한 대결 끝에 AI는 현실적인 도시 이미지, 실제로 존재할 법한 도로망과 블록 구조를 창조해냅니다.

그 외에도 위성 이미지로부터 직접 3D 도시 장면을 생성하는 기술도 등장했는데요.

위성 사진을 바탕으로 3D 도시 장면을 생성하는 장면
출처: Sat2scene: 3d urban scene generation from satellite images with diffusion (Li at el., 2024)

여기서는 3D 희소 표현(Sparse representation)을 사용하는데, 이는 도시 전체를 가득 채운 복잡한 3D 모델이 아니라 건물이나 구조물이 있는 핵심 포인트만 뽑아낸 간단한 3D틀입니다. 이러한 뼈대 위에 AI가 진짜처럼 보이는 색감, 질감, 형태를 점점 더해가면(확산 모델) 우리는 여러 방향에서 자유롭게 볼 수 있는 도시 하나를 보게 됩니다.

 

이러한 기술을 통해서 사람들은 더 풍부한 공간 데이터를 활용해, 도로의 고저차, 건물의 높낮이, 거리의 밀도와 같은 정밀한 도시의 질감까지 재현할 수 있었습니다. 단순히 눈에 보이는 도시를 흉내 내는 것이 아니라, 현실적인 밀도와 흐름을 수치로 이해하고, 그 결과를 재구성하는 방식으로 나아가고 있는 거죠.

 

그럼에도 불구하고, 이런 AI 기반 도시 생성 모델에는 분명한 한계가 존재합니다. AI는 기존 데이터를 학습하는 데에는 탁월하지만, 그 데이터를 넘어서기에는 아직 부족합니다. 즉, 뉴욕이나 도쿄를 닮은 도시는 만들어낼 수 있지만, "사막 위에 떠 있는 수직 정원 도시""움직이는 모듈형 해상 도시" 같은 완전히 새로운 유형의 상상력은 아직도 사람의 손과 사고에 의존해야 합니다.

AI는 과거와 현재의 도시를 모방하는 데 강하지만, 아직은 미래를 '발명'하는 능력은 인간에게 남아 있는 셈이죠.

SceneX, 텍스트에서 시작되는 도시 생성

2025년 AAAI에 등재된 이 연구는 지금까지와는 다른 방식으로 도시를 생성합니다. 단지 데이터를 학습하거나 규칙을 적용하는 것이 아니라, 텍스트로부터 의도를 파악하고, 지형부터 건물, 식생까지 통합적으로 구성하는 것이죠.

 

 "숲속에 둘러싸인 고요한 마을을 만들어줘. 나무는 참나무와 전나무가 섞여 있고, 강은 동쪽에서 흐르며, 마을 중앙엔 시장이 있어."

 

이 정도의 문장을 입력하면, SceneX는 알아서 지형을 만들고나무를 배치하고마을 중심 구조를 설계합니다. 그저 키워드가 아니라, 구조를 분석하고 계획을 수립하는 것입니다. 사용자가 텍스트 설명을 입력하면 자동으로 크고(Large-scale), 품질이 좋으며(High-quality), 사용자가 제어 가능한(Controllable) 3D 장면(자연, 도시 등)을 절차적(Procedure)으로 생성해 주는데요. 이것이 가능한 이유는 PCGHub와 PCGPlanner라는 두 가지 주요 구성 덕분입니다.

 

[PCGHub]

PCGHub(Procedural Content Generation Hub)는 도시나 자연 장면을 구성하는 수천 개의 객체(Assets)을 모아놓은 플랫폼입니다. 장면 생성 작업에서 장면의 다양성은 본질적으로 객체의 다양성과 연결됩니다. 만약 다양한 절차적 생성(PCG) 모듈 및 객체를 통합하는 플랫폼이 있다면 고품질의 다양한 장면을 정확하게 생성할 수 있겠죠.

Overview of PCGHub capabilities
출처: SceneX: Procedural Controllable Large-scale Scene Generation (Zhou et al., 2024)

PCGHub는 위와 같은 광범위한 모듈을 사용합니다. PCGHub를 더 발전시키기 위해서는 자연 환경, 건축물, 생물체, 환경 효과, 그리고 공상 과학적인 요소들까지 포함한 총 172개의 절차적 객체(자동으로 만들어지는 콘텐츠)을 잘 정리해둘 필요가 있습니다.

 

이때 사용하는 게 바로 Blender의 '노드 그래프(Node Graph)' 시스템입니다. 이걸 쉽게 말하면, 블록을 쌓듯이 작업을 연결해서 복잡한 3D 작업을 쉽게 처리할 수 있는 방식이에요. 예를 들어 건물을 만들고 싶으면 "기둥", "창문", "지붕" 같은 블록을 조립하듯 이어붙이면 되고, 나무를 만들 땐 "줄기", "가지", "잎"을 노드로 연결해서 형태를 조절할 수 있습니다. 마치 레고를 조립하듯 시각적으로 작업하는 것이죠.

 

이러한 조립 작업에는 Procedual Layout Generator가 사용되는데요. 환경의 고유한 것인 장소의 패턴을 복제하기 위해 미리 5가지의 Layout을 정의해둔 것입니다.

-  Scatter Layout: 주어진 영역 내에 객체를 무작위로 분산시키는 것

- Grid Layout: 객체를 균일한 격자 패턴으로 배열하는 것

- Linear Layout: 도로, 강, 고속도로 같은 정해진 길을 따라 물체를 배치하는 것

- Nested Layout: 작은 동네의 건물이나 공원 내의 명소 같이 더 큰 구조 내에서 오브젝트 구성

- Area Filling Layout: 특정 규칙에 따라 객체를 배치해서 지정된 영역 전체를 채우는 것


위의 규칙에 맞게 다양한 범위의 장면을 만들 수 있는데, 아래처럼 다양한 식물이나 초목을 주어진 영역에 무작위로 배치하여(Scatter Layout) 자연스러운 효과를 만들어낼 수도 있습니다.

Procedual Layout Generators를 이용해 만든 타일
출처: SceneX: Procedural Controllable Large-scale Scene Generation (Zhou et al., 2024)

[PCGPlanner]

PCGPlanner 프레임워크
출처: SceneX: Procedural Controllable Large-scale Scene Generation (Zhou et al., 2024)

이제 본격적으로 도시를 생성해봅시다. 3D 콘텐츠 제작, 특히 도시나 자연 환경처럼 복잡한 장면을 만들 때는 많은 시간이 필요합니다. 어떤 건물이 들어가야 하는지, 나무는 어디에 심을지, 지형은 어떤 모습이어야 할지를 일일이 손으로 만들기엔 정말 벅차죠.

 

이런 문제를 해결하기 위해 등장한 것이 바로 PCGPlanner(Procedual Content Generator Planner)입니다. 이 시스템은 PCGHub에서 제공하는 수많은 3D 자원과 도구를 활용해, 장면을 자동으로 분석하고 구성하며 만들어주는 절차적 장면 생성 도우미입니다.

 

1. 장면 분해 - 무엇이 필요한지 먼저 파악하자

사용자가 “공상과학 도시를 만들어줘”라고 입력하면, PCGPlanner는 이 문장을 분석해서 필요한 구성요소(Terrain, Building, Spaceship 등)를 자동으로 뽑아냅니다.

하지만 사용자의 요청이 막연한 경우가 많습니다. 예를 들어 "숲이 있는 마을"이라고만 했을 때, 숲은 어느 정도 크기인지? 어떤 지형 위에 있어야 하는지? 같은 정보가 부족할 수 있습니다. 이때 시스템은 자동으로 부족한 정보를 판단해 사용자에게 다시 질문을 던지고, 명확한 계획을 세웁니다.

AI를 통해 명확한 계획을 세우는 모습
출처: SceneX: Procedural Controllable Large-scale Scene Generation (Zhou et al., 2024)

2. 지형 생성 - 기본 땅을 만들자
장면의 뼈대가 되는 지형(Terrain)은 생성의 출발점입니다. 하지만 지형은 단순한 텍스트로는 명확히 정의하기 어려운 경우가 많기 때문에, PCGPlanner는 특화된 지형 생성 API를 사용합니다.
이 API는 미리 정의된 파라미터들을 가지고 있고, AI가 이 파라미터들을 사용자의 요청에 맞게 자동으로 설정합니다. 예를 들어 "언덕이 많은 평원"이라고 하면, 언덕 높이, 경사도, 평지 비율 같은 값들이 계산되어 실제 3D 지형으로 변환됩니다.

지형에 대한 정보를 뽑아오는 모습
출처: SceneX: Procedural Controllable Large-scale Scene Generation (Zhou et al., 2024)

3. 객체 생성과 검색 - 필요한 것들을 가지고 오자

지형 위에 배치될 나무, 건물, 바위 같은 객체(Assets)들은 두 가지 방식으로 확보됩니다. 첫 번째는 검색(Retrieval) 방식으로, 사용자가 예를 들어 "소나무"라고 입력하면, 시스템은 저장된 3D 모델 중 가장 적합한 소나무를 찾아 반환합니다. 때로는 단순한 키워드 외에도 설명을 기반으로 적절한 API 문서를 검색하여, 해당 객체를 어떤 방식으로 생성할 수 있는지 파악하기도 합니다.

두 번째는 생성(Generation) 방식입니다. 만약 기존에 저장된 모델이 없거나 더 세부적인 설정이 필요할 경우, API를 활용해 새로운 객체를 직접 생성합니다. 예를 들어 "3~4m 높이의 눈 덮인 전나무"와 같은 요청이 들어오면, Tree API를 통해 하이퍼파라미터를 설정한 후, 조건에 맞는 전나무 모델을 새롭게 만들어냅니다.

 

4. 객체 배치 - 자연스럽게 배치하자

이제 생성된 객체들을 어디에, 어떻게 배치할지 정해야 합니다. 단순히 나무를 무작위로 놓는 게 아니라, 지형의 특성과 각 객체 간의 관계를 고려해야 하죠.

예를 들어, 평지에는 풀과 나무가 자연스럽게 흩어져야 하고, 언덕에는 바위가 드문드문 놓이는 게 자연스러울 수 있죠. PCGPlanner는 GPT를 활용해 이런 규칙을 자동으로 정의하고, 이를 바탕으로 Scatter API 등을 사용해 객체를 자연스럽게 배치합니다. 결과적으로, 사람이 수작업으로 했을 때와 거의 비슷하거나 더 정교한 배치 결과를 얻을 수 있습니다.

SceneX를 통해 실제로 생성한 도시의 모습
출처: SceneX: Procedural Controllable Large-scale Scene Generation (Zhou et al., 2024)

PCGPlanner는 프롬프트 하나로 복잡한 장면을 자동으로 분석하고 구성할 수 있는 강력한 도구입니다. 텍스트만 입력해도, 지형을 만들고, 객체를 찾아서 배치해주는 이 시스템은 앞으로의 게임 개발, 시뮬레이션, 영화 제작에서 핵심적인 역할을 하게 될 것입니다.

PCGHub의 절차적 객체 172개와 결합하면 상상하는 거의 모든 장면을 빠르게 구현할 수 있어, 크리에이터에게 새로운 가능성을 열어주고 있죠. SceneX는 정확한 레이아웃과 기하학적 구조를 갖춘 2.5km*2.5km 크기의 도시를 생성할 수 있습니다.

도시 생성 기술의 한계와 도전 과제

이렇게 도시 생성 기술이 어떻게 발전했는지 간단하게 살펴보았습니다.

 

SceneX는 자연어 텍스트만으로도 복잡한 도시나 자연 장면을 자동으로 설계하고 생성해주기 때문에, 이제는 3D 모델링이나 지리정보시스템(GIS), 프로그래밍 같은 전문 지식이 없어도 누구나 도시를 만들 수 있게 되었습니다. 기존에는 수주일이 걸리던 작업이 몇 시간 안에 가능해지고, 상상만 했던 공간도 빠르게 현실화할 수 있어, 비전문가에게도 도시 설계의 문을 열어주고 있는 셈이죠.

 

물론 이건 이러한 기술이 실제 도시 설계에도 쓸 수 있냐 한다면 아닙니다. 현재 도시 생성 기술은 우리가 정말로 살아가고 있는 도시를 담아내기에는 역부족입니다. 도시는 설계되고 만들어진 이후에도 사람, 문화, 역사, 경제가 얽혀 계속해서 변화하고 있기 때문이죠. 그러나 게임 산업에서는 이러한 기술이 큰 무기가 될 수 있습니다. 절차적 생성과 AI는 유저마다 다른 경험을 제공하고 방대한 월드를 빠르게 제작하며, 개발자의 창작 시간을 단축시킬 수 있습니다. 또한 게임을 넘어 영화, VR, 메타버스, 도시계획 시뮬레이션, 건축 시각화, 재난 대응 훈련 등에서도 이 기술은 실제 환경을 가상 공간에서 빠르게 구성하고 실험할 수 있는 도구로 주목받고 있습니다. 더 정교하고, 더 창의적이며, 더 접근이 쉬운 도시 생성 시스템은 앞으로 게임을 넘어 현실 세계의 공간 설계 방식 자체를 변화시킬 잠재력을 가지고 있기 때문입니다.

 

언젠가 우리는 AI가 설계하고 가상환경에서 미리 생성한 도시에서 살게될 날을 맞이하게 될지도 모르겠네요.

SNS를 팔로우하면
최신 소식을 가장 빠르게 확인하실 수 있습니다 😆

지금 읽고 있는 뉴스레터를 매주 받아 보고 싶다면
아래 '구독하기' 버튼을 클릭해주세요 😉

 

 

 

  • #AI
  • #인공지능

추천 콘텐츠

더보기