I'm making a game where a helicopter travels around.

I'd like that the environment around be as realistic as possible. For instance, since the helicopter can travel at speeds up to 200 km/h, I want the player to see very far away, in a realistic fashion.

I'm talking about a map where let's say there is a "real" mountain 50km away and you could "walk" there, as well as the mountain looking like a mountain in game from the any distance (no matter the quality).

How could I manage my map in UE4 that would allow me to implement such a "real" world?

  • \$\begingroup\$ You won't achieve the 50km thing, and not because of UE. If you make every unit equal 1 meter, then that's 50,000 units. Depth buffers have problems with distances like that. \$\endgroup\$ – Bálint Nov 11 '17 at 9:13
  • \$\begingroup\$ Reversed or logarithmic depth buffers can solve this problem. Or multiple depth buffers. \$\endgroup\$ – János Turánszki Nov 11 '17 at 9:59
  • \$\begingroup\$ On planet Earth the horizon is 4.7 km away - that's under one-tenth your hypothetical distance. Is this actually a real problem you're trying to solve? \$\endgroup\$ – Maximus Minimus Nov 11 '17 at 10:05
  • 1
    \$\begingroup\$ Hey, a small note on my edit: Asking if a technology is capable of a thing is kind of off-topic here as they don't make good canonical questions and answers. You can ask how you would do it, however: it's an actual issue that can be solved, and favours answers other than yes / no, and will still be valid even if the technology improves. \$\endgroup\$ – Vaillancourt Nov 12 '17 at 2:47
  • 1
    \$\begingroup\$ @MaximusMinimus The horizon is only 4.7 km away if you're approximating Earth as a perfect sphere – which it is not. You may be on a mountain, in which case the horizon will be much farther away. Besides, you may see things sticking up behind the horizon – like another mountain. \$\endgroup\$ – HelloGoodbye Aug 23 '18 at 15:17

The default MAX WORLD constant for a level in Unreal Engine is 20km so you can make a single map as large as 20*20km.

But then, Unreal Engine does have a feature that could help you do that: World Composition is the way to go for very large worlds.

Also have a look at Open World Toold and the Kite Demo they released

There are limitations though, like multi-player

  • \$\begingroup\$ Thanks, I watch the video here about Open World: youtube.com/watch?v=clakekAHQx0 .. question is if they could make 10 x 10 miles and it would perform, what prevents 50 x 50? .. Looks like you could just replace the distant objects with further aproximations of the foliage \$\endgroup\$ – Aurimas Nov 11 '17 at 14:14
  • \$\begingroup\$ Yes, you can do more, someone is developing a 200x200km world \$\endgroup\$ – SRombauts Nov 11 '17 at 18:47
  • \$\begingroup\$ Do you need any more details on this? You can also find a lot of documentation o' this matter online. You could probably look for any "flight simulator with Unreal Engine 4" to see if someone else has already worked and published on this precise subject. \$\endgroup\$ – SRombauts Nov 11 '17 at 20:00
  • 1
    \$\begingroup\$ Ah sure @AytAyt, understood! \$\endgroup\$ – SRombauts Nov 12 '17 at 6:45
  • 1
    \$\begingroup\$ No Aurimas, I say that it is possible and supported by the Engine. You mostly just have to split your map into multiple sublevel (world composition) to achieve unlimited world size. The Unreal Editor is able to auto generate LOD for your mesh if you want to, and then it can enable auto Hierarchical LOD to combine part of scenes. The Landscape and the Foliage features are designed to scale and optimize for long view distance. Please note that it is doable and supported, but still requires a lot of work and knowledge to use all this in the right and optimized way! \$\endgroup\$ – SRombauts Nov 12 '17 at 6:52

There can be two methods, but one requires extensive work and other, some serious coding skills.

  1. Divide your complete map into multiple pieces, lets say grids with different skyboxes for each (as you want to display things from large distances, like the mountain). Display them based on player position from a WorldController script.

  2. Generate the map programmatically (like world engine plugins) in multple LOD settings, it will be much easier than above method if you know how to code or apply logic using blueprints. But the details will be much less than what you could achieve through method 1.

If you want to base your game on some real life location, then method 1 must be used, else use method 2 if possible.


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.