I’m a beginning Blueprints guy with little programming experience, trying to do a simple thing: Take an aerial map of downtown Seattle, place that on the floor, scale it, then use that as a template to build parts of the city: placing simple boxes for different key buildings or entire city blocks in their correct location. I’d love to know from anyone more experienced (which is everyone) what the most efficient way to do this is. I can find nothing like this in any of Unreal’s many repositories of knowledge. Thanks!
Well if you could somehow download a huge hd image of the city (or chunks), maybe you could throw that on the map as a texture? Sounds very hacky though.
Another idea could be just to be building city while looking at a map side-by-side.
That’s my city, yo!
you might try finding as large and as detailed a map as you can find - even an actual paper map…
you can print from google maps…
figure out how large a terrain you’ll need to build - 217 sq km of land according to wiki…
so a 15kmx15km landscape would do it…
take your map and cut it up into 1km x 1km square textures - at say, 2k
use World Composition to create 15 x 15 streaming maps
use the textures on the maps…
you should be able to get height data from the USGS…
just some thoughts…
you may also want to look into CityEngine - Advanced 3D City Design Software | ArcGIS CityEngine
Just have to be careful, there are texture size limitations with UE4, as of 4.11 these sizes are able to be increased, but I can’t remember the details
Thanks to those who replied. I had taken screenshots of downtown Seattle but couldn’t apply it to the floor or a floor decal. I also wanted to view this map from above, but can’t find anything in the documentation; the orthographic top view shows no mesh. I also wasn’t sure how to calculate the map size so a player walking would travel a realistic-looking distance. I would think there’s some simple way to do all of this…
If you want the geometry for the lanscape including a surface pic as texture, then you can have that from google-maps or other sources:
Put youre characters or the unreal mannequin on it to scale it up to the correct size you like to have. Then:
On this you can put the buildings: either the ones made already from googe-earth and sketchup or build you’re own.
Dont even try to make a big city or even a quarter in one map, you get massive performance drop untill unplayable (maybe around 10.000 actors). Use level-streaming and to a load-test with dummy assets before you start the actual production.
I was hoping for a simple method to place a map of seattle on the floor, build the buildings I need on each city block using the map as a groundplan, then delete the Seattle map.
Thanks, Goldfarb: I tried working with World Composition and am still on the learning curve.
And thanks, Vollgaser. I want to import a map of Seattle – but only temporarily as a template so I can place buildings in the right places then delete the map. Or is there a way to import the buildings using an existing height map? Or does that only give terrain? I didn’t know I could export anything from Google Earth (format?) or from SketchUp either. Is it faster to use the Seattle groundplan in SketchUp, build my buildings there, then import into Unreal???
A heightmap doesn’t know anything about the buildings standing on top of it so there is no way to automate the placement of the buildings by using only heightmap data. If you are not really after recreating every single building at the right place (ambitious that is, good luck with it) than you could follow goldfarb’s proposal: use a city generator or buildings generator to create low poly buildings and place them by hand. I doubt that blueprint has some node to read single pixels of an image. In that case you could import a color coded image for the placement of building (however someone would have to color code that image in, e.g., Photoshop). I did something similar in Flash for a simple top down map. Probably you could write a bp node in c++ but you are not a programmer I guess.
If esris city engine is too expensive for that project you could use plugins for max or Blender to generate the necessary buildings. Maybe even Sketchup has such a plugin.
Your doing it all wrong see, what you gotta do is… … took me a while to figure out the easiest, free process, (#usual disclaimer, may not be best way, if someone has better idea pls post) Looking outside traditional gaming tools there is a world of under utilized resources.
- using open street map select area required, this contains building placement and height data and road layout(sometimes trees to) if you’re lucky, export “whatever”.osm
2)if you only require layout then import directly into your modelling app using a osm importer, but for height and additional data use osm2world to convert to obj, then import to your app of choice to refine.
3)Then depending on game-play/level of detail required etc you can use the simple building shapes as templates.
Quick note: the first rule of open software, confuse the user by doing something backwards, i.e select export before selecting area to export, really?
Click on export , select area, export .osm , load into osm2world http://osm2world.org/ convert to obj import into 3d software,
from there depending on what your goal is you can apply module building assets or textures,
Well what’s being suggested in the OP is called gray boxing where the intent is to establish a source chain from a host application to Unreal4 and replace blocks via the iteration process and using a map as a blueprint for a level is easy to set up once you have the relative scaling set.
How I would set the relative scale I would need to know the dimension of a single landmark like a water fountain which I then would create a proxy object the same size as the true world measurement (let’s say it’s 10 meters across).
In Unreal 4 world space I would create a material and use the map texture as the default defused color.
To lay the map out I would then add a planner object equal in size as to the defused texture in resolution converted to metric units. Since metric converts perfectly to 10 base units the planer object would be 1024X1024 cm=ue4 units which would be relative to the same size as the applied texture/material if it was 1024X1024.
To convert the asset to real world scale we have a proxy of a know fixed size of 10 meters across so you would just have to align the object as to the world location of the water fountain and uniform scale the planer object up until it matches the volume of space occupied on the planer object and tada your map is set to true world scale inside of Unreal 4.
After that I did a series on map conversion from idtech3 to Unreal 4 as to scene management using the iteration process as well as level streaming.
5 episodes in the series and should be enough info to clone a true world scale version of Seattle
Hi, few years ago at Bohemia Interactive I was leading development of Seattle’s 60x60km map for TakeOn Helicopters.https://youtube.com/watch?v=nKdz2X7NIsk
I’d definitely go for OpenStreetMap data as you can extract vector data into any 3D modelling tool(via shp,dxf, obj… format). I don’t recommend using an aerial imagery, only if you have it in highres(10cm) and ortho rectified, otherwise it can be pretty inaccurate. Modelling a city or part of it also requires some knowledge of GIS principles and tools(like QuantumGIS,GlobalMapper,ARCGIS and so on), but there already are importers for OSM format to several 3D modelling tools, depends on what attributes(bulding height, roof type etc.) you need to extract from a dataset.
Regarding the elevation data, as someone already mentioned you can use USGS data, but as far as I remember data available there are still in 10m/px resolution which is a bit rough for urban areas to have nice details on the group, but depends on what detail you expect to have. You can use 10m/px resolution at least to place buildings on a terrain.