• Stars
    star
    183
  • Rank 210,154 (Top 5 %)
  • Language
  • License
    Apache License 2.0
  • Created over 3 years ago
  • Updated about 2 months ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

Getting Started Sample Project for Cesium for Unreal

Cesium for Unreal Logo

Cesium for Unreal Samples

The Cesium for Unreal Samples is a starter project to learn and explore the Cesium for Unreal plugin.

The levels in this project will walk you through the plugin's features and demonstrate global-scale content, applications, and experiences in Unreal Engine.

Photogrammetry of Melbourne, Australia visualized in Unreal Engine using Cesium for Unreal.

Photogrammetry of Melbourne, Australia visualized in Unreal Engine using Cesium for Unreal.
Open the 02_CesiumMelbourne level in Cesium for Unreal Samples to experience it yourself!

๐Ÿš€ Get Started

Download Cesium for Unreal Samples from Unreal Engine Marketplace

You will also need to download the Cesium for Unreal plugin from the Unreal Engine Marketplace.

Have questions? Ask them on the community forum.

โ›ฐ๏ธ Level Descriptions

1๏ธโƒฃ Level 1 - Cesium World

The sample levels begin with a scene in San Francisco. You'll see Cesium World Terrain below the camera. This level is designed to familiarize you with the core Cesium actors and components like Cesium World Terrain and Cesium Georeference.

Be sure to sign into your Cesium ion account using the Cesium button in the toolbar.

2๏ธโƒฃ Level 2 - Melbourne Photogrammetry

In this level, explore high-resolution photogrammetry data of Melbourne. This data is streamed from Cesium ion with the 3D Tiles format, a spatial index for streaming massive 3D content over the web. 3D Tiles makes it possible to stream hundreds of gigabytes of data over the web using hierarchical level of detail, spatial subdivision, and runtime optimizations.

Be sure to change the time of day to create beautiful lighting in your scenes.

See how this level was created with the Adding Datasets tutorial.

3๏ธโƒฃ Level 3 - Denver Photogrammetry with an Unreal Character Controller

In this level, explore even more high-resolution photogrammetry data of Denver using a third-person character controller. Whereas Melbourne allowed you to freely fly around and explore, in this level you'll walk right up to the real-world data. When streaming content through Cesium for Unreal, physics and gravity will continue to work as expected with your character controllers. For more information on character controllers, check out the Using Custom Controllers tutorial.

Grab some cool screenshots to share with us as you explore and customize the scenes.

Photogrammetry of Union Station in Denver, CO captured by Aerometrex visualized in Unreal Engine using Cesium for Unreal.

Photogrammetry of Union Station in Denver, CO captured by Aerometrex.
Open 03_CesiumDenver in the Cesium for Unreal Samples to walk around the dataset.

4๏ธโƒฃ Level 4 - Using Sublevels to Explore the World

You can build experiences in different locations around the world, without even changing levels. In this level, we've added a few locations around the world that you can explore. Enter play mode and jump between locations by pressing the 1-5 keys on your keyboard. These levels are loaded in and georeferenced by working with Unreal's Sublevel feature.

You can also add your own locations, like your hometown or your favorite vacation spot. Check out the Sublevels tutorial to learn how.

5๏ธโƒฃ Level 5 - Post Processing

Combine real-world content With Unreal Engine's lighting, rendering, and post processing capabilities! Whether you want to visualize a sunset at your favorite beach, or record a timelapse at Mt. Everest, Cesium for Unreal can help you quickly create your scenes.

This level has lighting, fog, volumetric clouds, and a post processing volume to create a picturesque scene at Mt. Fuji. You should try tweaking the setting to customize the scene and create different effects. Not sure where to start? Check out the Lighting and Rendering tutorial. We would love to see what you create!

6๏ธโƒฃ Level 6 - Metadata

Cesium for Unreal enables you to access metadata encoded in your 3D Tiles datasets. In this level, explore the buildings in New York City and see what information is included in the tileset about each building.

Metadata of New York City buildings visualized.

Metadata of New York City buildings visualized.
Open 06_CesiumMetadata in the Cesium for Unreal Samples to explore the New York City's metadata.

Looking to use metadata in your project? Check out the Visualizing Metadata tutorial to learn more.

7๏ธโƒฃ Level 7 - Multiple Views

In this level, see how to create minimaps or other views of your scenes. While the 3D Tiles that are loaded depend on what the camera currently sees, Cesium for Unreal will also load tiles for secondary viewports or Scene Capture actors and components.

Press Play to explore the level, assisted by a minimap and a view from space.

8๏ธโƒฃ Level 8 - Clipping & Cartographic Polygons

In this level, you'll see how overlapping tilesets can be combined and unwanted details can be removed. Using the Cesium Cartographic Polygon actor, you can hide sections of tilesets. Explore the level and see how the Aerometrex Denver dataset has been inset in to Cesium World Terrain and OSM buildings. You'll also see another example of how clipping can be utilized, by cutting out a lake and replacing it with a water body and a landscape.

9๏ธโƒฃ Level 9 - Material Editing

In this level, visit picturesque Crater Lake, where Cesium Cartographic Polygons and material editing are used to render the water of the lake. The Cesium materials used to render tilesets can be easily customized to create any material effect you might need. For some inspiration, take a look at the materials in the CesiumSamples/Materials folder, and try applying them to Cesium World Terrain.

Crater Lake, Oregon, visualized in Unreal Engine using Cesium for Unreal.

Crater Lake, Oregon, visualized in Unreal Engine with Cesium for Unreal. Cesium Cartographic Polygons and an edited material allow you to render water in any location.
Open 09_CesiumMaterialEditing to explore the scene.

๐Ÿ”Ÿ Level 10 - Procedural Window Materials

The samples project includes two materials that can add visual detail to city datasets like Cesium OSM Buildings. These materials generate windows on the sides of buildings that are reflective and glow at night. Additionally, one material uses OSM buildings metadata to randomize building colors based on their building type. You can use these materials in your own levels to give untextured datasets more visual variety.

Cesium OSM Buildings in San Francisco, California, visualized with procedural windows.

Cesium OSM Buildings in San Francisco, California, visualized with procedural windows.
Open 10_CesiumOSMWindows_Metadata to explore the scene.

โ˜๏ธ Level 11 - Point Clouds

Cesium for Unreal supports rendering point cloud 3D Tilesets in addition to terrain and photogrammetry datasets. In this scene, explore several point cloud datasets around the world. Feel free to add your own point clouds as well!

Point Cloud of Melbourne, Australia visualized using Cesium for Unreal.

Point Cloud of Melbourne, Australia visualized using Cesium for Unreal.
Open 11_CesiumPointClouds to explore multiple point cloud datasets, including the Melbourne Point Cloud.

๐ŸŒ Level 12 - Photorealistic 3D Tiles via Google Maps Platform

Explore the world through Photorealistic 3D Tiles, streamed via Google Maps Platform. You can learn how to use Photorealistic 3D Tiles in your own projects in the Photorealistic 3D Tiles from Google Maps Platform tutorial.

The Googleplex in Mountain View, California visualized with Photorealistic 3D Tiles in Cesium for Unreal.

The Googleplex in Mountain View, California visualized with Photorealistic 3D Tiles in Cesium for Unreal.
Open 12_CesiumGoogleMapsTiles in the Cesium for Unreal Samples to explore the world as Photorealistic 3D Tiles.

๐Ÿ› ๏ธ Using Cesium for Unreal Samples for Development

Cesium for Unreal Samples can also be used for development and testing of the Cesium for Unreal plugin. To use this project for development, follow these steps.

  1. Clone the repo with git clone [email protected]:CesiumGS/cesium-unreal-samples.git.
  2. From the cesium-unreal-samples/Plugins directory, clone Cesium for Unreal using git clone --recursive [email protected]:CesiumGS/cesium-unreal.git.
  3. Follow the instructions to compile Cesium for Unreal.
  4. Open CesiumForUnrealSamples.uproject in the Unreal Editor.
    • If prompted to rebuild modules, click "yes".
    • Optional: Generate Visual Studio project files manually by choosing File -> [Refresh/Generate] Visual Studio Project in the editor. You can also do this by right-clicking CesiumForUnrealSamples.uproject and clicking Generate Visual Studio project files.
    • Optional: You can open the project Visual Studio by opening the CesiumForUnrealSamples.sln solution file generated by Unreal Engine.
  5. The Cesium for Unreal Samples project contains numbered levels that showcase the global scale and real-world content of Cesium for Unreal. Levels include terrain, imagery, 3D Buildings, and photogrammetry. Give them a spin and let the ideas flow!

๐Ÿ“—License

Apache 2.0. Cesium for Unreal Samples is free to use as starter project for both commercial and non-commercial use.

More Repositories

1

cesium

An open-source JavaScript library for world-class 3D globes and maps ๐ŸŒŽ
JavaScript
12,828
star
2

3d-tiles

Specification for streaming massive heterogeneous 3D geospatial datasets ๐ŸŒŽ
Batchfile
2,110
star
3

gltf-pipeline

Content pipeline tools for optimizing glTF assets. ๐ŸŒ
JavaScript
1,915
star
4

obj2gltf

Convert OBJ assets to glTF
JavaScript
1,706
star
5

cesium-unreal

Bringing the 3D geospatial ecosystem to Unreal Engine
C++
924
star
6

cesium-native

C++
423
star
7

3d-tiles-validator

Validator for 3D Tiles ๐Ÿšฆ
TypeScript
420
star
8

webglreport

A web page that reports a browser's WebGL capabilities, including supported extensions and implementation specific capabilities, such as the maximum number of texture units.
JavaScript
401
star
9

cesium-unity

Bringing the 3D geospatial ecosystem to Unity
C#
349
star
10

3d-tiles-tools

TypeScript
295
star
11

3d-tiles-samples

Sample tilesets for learning how to use 3D Tiles ๐Ÿ“š
JavaScript
274
star
12

cesium-webpack-example

The minimal recommended setup for an application using Cesium with Webpack.
JavaScript
246
star
13

quantized-mesh

Specification for streaming massive terrain datasets for 3D visualization.
238
star
14

cesium-unity-samples

Sample project for Cesium for Unity
C#
229
star
15

cesium-threejs-experiment

A small example for using Three JS on Cesium to emulate a combined scene.
JavaScript
187
star
16

cesium-workshop

An example application that visualizes and annotates a 3D city using the Cesium platform.
JavaScript
164
star
17

wetzel

Generate Markdown documentation from JSON Schema
JavaScript
133
star
18

cesium-google-earth-examples

Google Earth plugin API samples ported to Cesium
JavaScript
94
star
19

cesium-materials-pack

A Cesium plugin with procedurally-shaded materials such as bricks, wood, and noise patterns
JavaScript
85
star
20

cdb-to-3dtiles

Convert CDB to 3D Tiles
C++
76
star
21

cesium-o3de

Cesium for O3DE
C++
74
star
22

cesium-omniverse

Bringing the 3D geospatial ecosystem to Omniverse
C++
56
star
23

cesium-ion-rest-api-examples

Code examples for using the Cesium ion REST API ๐ŸŒŽ
JavaScript
35
star
24

cesium-vite-example

The minimal recommended setup for an application using Cesium with Vite.
JavaScript
34
star
25

cesium-unreal-vr-tutorial

Unreal Engine project, assets, and code used in the Cesium for Unreal VR Tutorial Series
33
star
26

cesium-ion-blender-addon

Blender add-on for uploading and tiling models with Cesium ion. https://cesium.com
Python
22
star
27

collada2gltf-web-service

Simple Node.js web service to convert 3D models from COLLADA to glTF
JavaScript
20
star
28

cesium-ion-3ds-max-plugin

Autodesk 3DS Max plugin for uploading and tiling models with Cesium ion.
MAXScript
15
star
29

cesium-omniverse-samples

Sample projects for Cesium for Omniverse
14
star
30

3d-tiles-samples-generator

TypeScript
12
star
31

webstorm-plugin

Kotlin
8
star
32

cesium-ion-sketchup-extension

SketchUp extension for uploading and tiling models with Cesium ion.
Ruby
8
star
33

OpenPhillyGlobe

"Google Earth for Philadelphia" with open source and open data.
JavaScript
7
star
34

cesium-o3de-samples

Samples project for Cesium for O3DE
CMake
6
star
35

cesium-concierge

I automate common GitHub tasks
JavaScript
6
star
36

strip-pragma-loader

JavaScript
4
star
37

eslint-config-cesium

ESLint Configuration for Cesium
JavaScript
1
star
38

cesium-ion-plugin-template

1
star