How do I create landscapes in UE4 based on real-world locations? Where do I get this heightmap data?
Answer: Use Terrain.Party.
Terrain.Party is a website that can generate and export heightmap texture data for any location in the world which then you can use to create landscapes in UE4.
Make sure you've gone through UE4 Heightmap Guide tutorial so you know everything about UE4 heightmaps.
Here are my secrets to using Terrain.Party to create landscapes for UE4.
Let's generate your very first heightmap in Terrain.Party and bring it into UE4. These are 9 steps you need to follow.
Step 1: Go to Terrain.Party
Go to Terran.Party website
Step 2: Find Location
This square is your sampled data that will be used to generate the heightmap.
Left Click Hold and Drag this square to position it anywhere in the world. Don't expect to get good heightmaps from everywhere. Some regions in the world will give you better results that others.
Use the Plus/Minus icons on the left to zoom in/out on the map or use the Mouse Wheel:
Step 3: Set Your Size
Use the Plus/Minus icon to sample the region size. You can go from 8km to 60km.
Important: Every heightmap texture downloaded from Terrain.Party will be 1081x1081px. It doesn't matter how large you sample the area. It will return the same heightmap resolution.
Step 4: Change Map View (Optional)
You can change Map View to:
This will show you different visual result of the map. It doesn't affect the heightmap data you will download.
Step 5: Download the Zip
Click on this icon to Export the heightmap.
Name it and download the zip file.
Step 6: Extract and Use Merged
Extract the downloaded zip file. The one file you want to use is Merged. This is the best and cleanest heightmap texture. You can delete the rest.
File format downloaded will be:
Step 7: Resize the Heightmap
Resize the heightmap texture down to 1009x1009. This is the closest texture resolution to Epic's Recommended Landscape Sizes.
You could use 1081x1081 without resizing and it will work. However there will be a stetched out effect at the border of your landscape which I explained in-detail in this tutorial and how you could fix it.
Resizing the heightmap to closest recommended landscape size of 1009x1009 will avoid this problem.
Step 8: Export the Heightmap
Save/Export the heightmap as:
Step 9: Import the Heightmap into UE4
Import the heightmap into UE4. Go to Landscape Mode and under Manage click on Import from File. Navigate to the heightmap, open it:
I leave all the settings here to whatever UE4 thinks is best and click Import:
You now have your landscape from Terrain.Party heightmap.
You may need to reduce landscape's Scale Z. Select the landscape and lower Scale Z:
Choosing different km sizes for each heightmap will NOT give you that distance in UE4, this is only used to sample a larger area in Terrain.Party. ALL textures generated in Terrain.Party give you 1081x1081px which is just over 1km, regarldess of the kilometer sizi square.
Here are some of the comparisons.
Here are the same heightmaps but with human reference scale. This gives you better idea what each looks like:
It's difficult to understand what your heightmap will look like from Terrain.Party but I discovered a useful technique.
Use Google Maps 3D View to find the area you like:
Then go to that location in Terrain.Party to generate the heightmap of the area:
It may take a little bit of time to find the precise location going back and forth between Google Maps and Terrain.Party but doing this will give you better location scouting results.
Tutorial on using Google Maps 3D: 11 Secrets for Level Design and Game Environment Ideas, Layouts and Reference with "Google Maps 3D"
You are limited to one size of heightmap from Terrain.Party - 1081x1081px. Which is over 1km in size.
But there is a hack you can use to create large size heightmaps and have more terrain data to use. It will require some work and it doesn't always work.
You have to generate multiple downloads of the heightmap.
You position the square in one area then download the heightmap. Then move the square to another area slightly overlapping where the previous square was and download another heightmap. Then do two more times moving the square to another area - creating a larger square in the process. You end up generating 4 heightmaps that you'll need to stitch together.
Bring them all into Photoshop. Use the Merged version of each downloaded zip and drag them onto a larger canvas.
Create a new document using Recommended Landscape Sizes and 16bit grayscale format.
In this example I generated 4 heightmaps so I will create the next size up in heightmap texture 2017x2017 and position all the heightmaps into this document.
Then adjust, erase and clone so the 4 images are seamless. Here is the result of the 4 images above:
Once done, save it and test it out in UE4. This landscape is over 2km x 2km:
If you import a heightmap from Terrain.Party as 1081x1081 resolution will work BUT UE4 will stretch existing pixel data to fill the rest of the heightmap so it's compatible size for UE4:
2 ways to fix this.
#1: Remove one component during importing of the heightmap from 18x18 down to 17x17:
#2: Resize the original heightmap from 1081x1081 down to 1009x1009, as per Epic's Recommended Landscape Chart (see the chart above in this post):
Terrain.Party heightmaps will give you full-range of black to white data.
It works as needed BUT if you decide to sculpt your terrain lower or higher you won't be able to do much with it. Because you can't sculpt lower than black and higher than white. For this you need to make a quick adjustment in Photoshop. This tip was shared with me by Olivier.
Open the heightmap in Photoshop and adjust levels on it. Under Output Levels:
The new heightmap will now have more information for you to play with.
Learn EVERYTHING you need to know for how to create/sculpt landscapes and create/paint landscape materials entirely in UE4 without any external software with "UE4 Fundamentals Vol.2: Landscape Essentials".
All content on this website is copyrighted ©2008-2021 World of Level Design LLC by Alex Galuzin. All rights reserved.
Duplication and distribution is illegal and strictly prohibited.
World of Level Design LLC is an independent company. World of Level Design website, its tutorials and products are not endorsed, sponsored or approved by any mentioned companies on this website in any way. All content is based on my own personal experimentation, experience and opinion. World of Level Design™ and 11 Day Level Design™ are trademarks of Alex Galuzin.
Template powered by w3.css