본문 바로가기
언리얼엔진

[ 언리얼엔진 ] Cesium for Unreal 빠른 시작 가이드

by CODESIGN 2025. 5. 23.

안녕하세요! 오늘은 Cesium for Unreal을 사용해서 실제 지형과 건물 데이터를 활용한 3D 애플리케이션을 만드는 방법을 소개해드리려고 합니다. 이 가이드에서는 Cesium World Terrain과 Cesium OSM Buildings를 사용해서 멋진 3D 세계를 구축하는 과정을 단계별로 알아보겠습니다.

 

시작하기 전에


이 가이드는 Unreal Engine 5.1을 기준으로 작성되었지만, 최신 버전의 언리얼 엔진을 사용하셔도 단계는 동일합니다. 다만 UI가 조금 다를 수 있어요.

단계별 과정을 건너뛰고 Cesium for Unreal의 능력을 바로 확인하고 싶으시다면, Cesium for Unreal Samples 프로젝트를 다운로드해 보세요!

 

이 가이드에서 배울 내용


이 튜토리얼을 통해 다음과 같은 내용을 학습하게 됩니다:

  • Unreal Engine에 Cesium for Unreal 플러그인 설치하기
  • 레벨 생성하고 Cesium ion에서 에셋 가져오기
  • 프로젝트의 기본 ion 에셋 토큰 설정하기
  • CesiumSunSky로 앱에 조명 추가하기
  • Cesium의 DynamicPawn으로 레벨 내비게이션하기

 

필수 준비사항


시작하기 전에 다음 사항들을 준비해주세요:

  • Unreal Engine 설치 (5.1 이상 버전): 아직 설치하지 않으셨다면 Unreal Engine 다운로드 페이지에서 설치 가이드를 참고해 주세요.
  • Cesium ion 계정: 지형과 건물 에셋을 Unreal Engine으로 스트리밍 하기 위해 필요합니다. 아직 계정이 없으시다면 무료 Cesium ion 계정을 생성해 주세요.

Cesium ion은 3D 콘텐츠를 스트리밍하고 호스팅하는 오픈 플랫폼으로, 실제 세계 애플리케이션을 만들 수 있는 글로벌 큐레이팅 데이터를 제공합니다.

1단계: Cesium for Unreal 플러그인 설치

플러그인을 아직 설치하지 않으셨다면 먼저 설치해보겠습니다.

  1. Unreal Engine Marketplace에서 Cesium for Unreal 플러그인 페이지를 열어주세요.

 

2. 필요시 로그인한 후, Free 버튼을 클릭해서 플러그인을 계정에 설치합니다.

3. Install to Engine 버튼을 클릭해서 Unreal Engine 설치본에 플러그인을 추가합니다.

2단계: Cesium for Unreal 프로젝트 생성

  1. Unreal Engine을 실행하고 새 프로젝트를 생성합니다. New Project Category에서 Game을, Template에서 Blank를 선택해주세요. 간단한 설정을 위해 Project Defaults 섹션에서 Starter Content를 체크 해제하는 것을 추천합니다.
  2. 프로젝트 구성을 완료했다면 Create 버튼을 클릭합니다. 새 프로젝트가 열릴 거예요.
  3. 프로젝트가 완전히 로드되면 Cesium for Unreal 플러그인을 활성화합니다. Plugins 창을 열고 (Edit -> Plugins) 상단 검색창에서 "Cesium"을 검색합니다. 플러그인 옆의 체크박스가 체크되어 있는지 확인해주세요. 플러그인을 활성화한 후 Unreal Engine을 재시작해야 할 수도 있습니다.

 

4. Cesium for Unreal 플러그인을 처음 활성화한 후 에디터를 재시작하면, Water Body Collision profile과 관련된 오류가 나타날 수 있습니다. Add entry to DefaultEngine.ini 링크를 클릭해서 수정해주세요.

3단계: 프로젝트와 레벨 준비

  1. 새 레벨을 생성합니다 (File -> New Level). 프롬프트가 나타나면 **"Empty Level"**을 선택해서 레벨에 오브젝트가 없도록 해주세요.
  2. World Bounds Checks를 비활성화합니다. 이 옵션은 World Settings (Window -> World Settings)의 World -> Advanced 카테고리에서 찾을 수 있습니다.

 

Enable World Bounds Checks가 켜져 있으면, Unreal Engine은 원점에서 멀리 떨어진 Pawn을 자동으로 원점 쪽으로 되돌리려고 시도합니다. 대부분의 Cesium 애플리케이션에서는 원점에서 멀리 떨어져 있는 것이 완전히 정상적이므로, 이 자동 동작이 Pawn이 사용자가 원하는 곳으로 가는 것을 방해합니다.

 

3. Cesium 패널을 열어주세요 (Window -> Cesium).

 

4. 나중 단계에서 추가할 타일셋을 볼 수 있도록 조명을 추가해야 합니다. Cesium for Unreal에는 CesiumSunSky라는 미리 만들어진 지구 인식 태양 및 대기 시스템이 포함되어 있습니다.

 

5. Cesium 패널의 Quick Add Basic Actors 섹션에서 Cesium SunSky를 찾아 버튼을 클릭해서 레벨에 추가합니다. 뷰포트에 하늘 같은 그라데이션이 나타나는 것을 확인할 수 있을 거예요.

 

 

혹시 화면이 하얗게 나온다면?


CesiumSunSky를 추가한 후 뷰포트가 완전히 하얗게 변하고 그대로 유지된다면, CesiumSunSky가 현실적인 빛 밝기 값을 사용하기 때문입니다. 이를 해결하려면:

방법 1: Edit -> Project Settings로 이동해서 Engine -> Rendering으로 들어간 후, Default Settings 섹션에서 Auto ExposureExtend default luminance range in Auto Exposure settings 옵션을 활성화합니다.

방법 2: CesiumSunSky 액터를 클릭하고, Details 패널에서 Directional Light 컴포넌트를 찾아 Intensity를 10.0으로 줄입니다.

  1. 이제 레벨을 저장하기 좋은 시점입니다. 에디터 왼쪽 상단의 저장 버튼을 클릭하거나 Ctrl+S를 누르세요. 레벨에 이름을 지어주세요. 새 레벨을 프로젝트의 기본 맵으로 설정하는 것도 좋습니다. Edit -> Project Settings의 Maps & Modes에서 Editor Startup MapGame Default Map을 모두 새로 만든 레벨로 변경해주세요.

 

4단계: Cesium ion에 연결


  1. 이전 단계에서 열었던 Cesium 패널로 돌아가서 Connect to Cesium ion 버튼을 클릭합니다.
  2. 팝업 브라우저 창이 열립니다. 로그인되어 있지 않다면 Cesium ion 계정에 로그인해주세요. Epic Games, GitHub, 또는 Google 계정으로도 로그인할 수 있습니다.
  3. 로그인하면 Cesium for Unreal이 에셋에 액세스할 수 있도록 허용할지 묻는 프롬프트가 나타납니다. Allow를 선택한 후 Unreal Engine으로 돌아가서 계속 진행합니다.

4. 이제 프로젝트의 기본 Access Token을 생성합니다. Cesium ion에서 스트리밍하는 모든 에셋에는 Access Token이 필요합니다. 이 튜토리얼에서는 모든 에셋이 사용할 프로젝트 전체 액세스 토큰을 설정하겠습니다.

 

5. Cesium 패널 상단의 Token 버튼을 클릭합니다.

 

6. 토큰을 구성하는 새 창이 나타납니다. Create a new token 옵션을 선택하고, 원한다면 토큰 이름을 바꿔주세요. 그 다음 Create New Project Default Token 버튼을 누릅니다.

보안 참고사항: Cesium for Unreal에서 생성된 토큰은 허용한 에셋에만 액세스 합니다. 이는 Cesium ion 계정의 보안 모범 사례를 따릅니다.

 

5단계: 지구 만들기


이제 Cesium ion에서 에셋을 추가할 준비가 되었습니다!

  1. Cesium 패널을 사용해서 "Cesium World Terrain + Bing Maps Aerial imagery" 옆의 버튼을 클릭해서 추가합니다.
  2. 레벨에 지형이 나타날 것입니다! 멋지죠?
  3. 오른쪽의 Outliner를 확인해보세요. 이전에 추가한 CesiumSunSky와 함께 다양한 Cesium 액터들을 볼 수 있습니다. 그 중 Cesium World Terrain이 방금 생성한 타일셋입니다. 나머지 세 개(CesiumCameraManager, CesiumCreditSystemBP, CesiumGeoreference)는 3D Tileset이나 지리참조 액터를 레벨에 처음 추가할 때 자동으로 생성됩니다.

 

6단계: 전 세계 3D 건물 추가


이제 이 그림 같은 언덕을 떠나 대도시로 향해보겠습니다!

  1. Outliner에서 CesiumGeoreference 액터를 선택합니다. 이 액터는 레벨이 세계의 어느 위치에 설정되어 있는지를 결정합니다.
  2. Details 패널에서 Cesium 카테고리 아래의 Origin Latitude, Origin Longitude, Origin Height 변수를 찾아보세요.
  3. 현재 값들은 미국 콜로라도주 덴버 외곽의 언덕으로 설정되어 있습니다. 이 변수들을 여러분이 좋아하는 도시의 좌표로 변경하거나, 시카고, 일리노이, 미국으로 이동하려면 다음 좌표를 사용하세요:
    • Origin Latitude = 41.878101
    • Origin Longitude = -87.59201
    • Origin Height = 1000.0
  4. 이 좌표를 입력하면 레벨이 이 새로운 위치로 이동했음을 확인할 수 있습니다.
  5. 도시가 매우 평평해 보입니다. Cesium World Terrain은 건물 세부사항을 포함하지 않기 때문입니다. 다행히 Cesium OSM Buildings가 도움이 될 수 있습니다!
  6. Cesium Quick Add 패널에서 Cesium OSM Buildings를 레벨에 추가합니다. 와! 이제 건물들이 보이네요!

 

7단계: 레벨 탐험하기


이 섹션에서는 에디터와 플레이 중에 레벨을 탐색하는 방법을 배우겠습니다. 또한 지구의 거대한 크기를 탐색하는 데 도움이 되는 Cesium for Unreal 플러그인에 포함된 컨트롤러인 Dynamic Pawn에 대해서도 알아보겠습니다.

  1. 뷰포트 카메라를 이동하려면 뷰포트 창에서 마우스 오른쪽 버튼을 클릭하고 누른 상태를 유지합니다. 오른쪽 마우스 버튼을 누른 상태에서 마우스를 움직여 주변을 둘러보고, 키보드의 W, A, S, D 키를 눌러 날아다닐 수 있습니다. 마우스 스크롤 휠로 카메라 속도를 조정할 수 있습니다.
  2. Play 버튼을 누르면 기본 카메라 속도가 매우 느리고 조정할 수 없다는 것을 알게 됩니다. 실제 세계 데이터의 규모를 고려할 때, 플레이 중에 레벨을 효율적으로 탐색하려면 다른 Pawn이 필요합니다.
  3. Cesium 패널을 사용해서 Dynamic Pawn을 추가합니다.

 

Dynamic Pawn이란?

Cesium의 DynamicPawn 액터는 지구를 인식하도록 만들어 내장 pawn 클래스를 확장합니다. DynamicPawn은 마우스 휠로 이동 속도를 조정하는 기능과 곡선 경로를 따라 전 세계 위치 간을 비행하는 기능과 같은 중요한 이동 기능도 추가합니다.

  1. DynamicPawn은 지리참조 액터입니다. 표준 Unreal Engine 세계 좌표가 아닌 지구상의 좌표에 상대적으로 위치를 유지합니다. 즉, Georeference Origin을 다른 위치로 변경하면 DynamicPawn은 뒤에 남게 됩니다. 새 위치로 이동하려면 Outliner에서 선택하고 Location X, Y, Z 좌표를 0으로 설정하거나 회색 화살표를 사용해서 위치를 원점으로 재설정합니다.
  2. 이제 레벨을 테스트할 준비가 되었습니다! 상단 도구막대의 Play 버튼을 누르세요. 뷰포트 컨트롤과 유사하게 W, A, S, D 키보드 키와 마우스를 사용해서 날아다닐 수 있습니다. 마우스 스크롤 휠을 사용해서 속도를 변경할 수 있습니다.

축하합니다! Cesium for Unreal로 첫 번째 프로젝트를 만들었습니다. 자유롭게 탐험하고 세계를 확인해보세요!

 

반응형

댓글