Questions about landscapes, lightmaps, and assets

Hello,

I’m new to Unreal Engine 4. My team decided to give it a try over the weekend and we’re still evaluating whether or not we’ll be converting our game to unreal (it’s leaning heavily that way already) there’s just a few remaining sticking points so I figured I’d make a post and see if they can get cleared up.

  1. My level designer is trying to setup landscape materials (blending a few layers based on height), and he’s having success but it’s taking a very long time to tweak them because every change he makes results in the compilation of ~1000 shaders. It’s hard to tweak a value and check the results when there’s a 10 minute wait to see the changes (with landscapes checking the material preview isn’t really sufficient) In some cases, such as light building, it’s just the nature of the beast. Having done landscape blending shaders and other shader work in the past I’m a bit confused as to why one value change results in the need to compile 1000 shaders. Does using something like a ‘param’ instead of a ‘constant’ result in less compilation time when the value is changed due to it being considered dynamic? I guess I’m just wondering what everyone’s workflow is for terrain materials? Even youtube videos seem to pause the video recording during compilation and come back after. Should we just try an external landscape program like World Machine?

  2. The default lightmap size is 32, is that 32x32 pixels? It seems like with a lot of models I import I need to increase the lightmap size to start getting usable lighting results. It doesn’t seem to be be mentioned that often in video tutorials I find, but instead I found the information on answerhub. I just want to make sure it’s standard practice to need to increase lightmap size on almost every static object you import? In that same light (no pun intended), do you guys build big complex level models, like a castle, externally as one model? Or do you break them up into pieces and put it together in unreal? I’m just thinking if it takes up to 1024 setting to get a bridge to look correctly, what lightmap size will I have to pick in order to get an entire castle to light correctly.

  3. I’ve already managed to (accidentally) break a project to the point where I can’t open it. This is okay, it happens, but what worries me is the fact that I’ve had a hell of a time trying to get the assets and blueprints out of the broken project. I had to keep removing files from the project until I managed to get it open, at that point I could then migrate assets out of the project and into a new one. Am I missing something? Is there no way to import assets from project A into project B without opening project A in the editor? It’s already created this uneasy feeling where I’ll have to make a point to migrate assets/blueprints into a “backup” project. I know that when the chips are down I can go into the content folder and manually migrate content but that won’t help me to sleep at night as the project grows in complexity.

Thanks in advance for any replies. Really enjoying the engine so far.
Andrew.

  1. create a material instance constant -> parameters

  2. The lightmap resolutions depends on the size and complexity of the mesh. I personally always create sets of meshes (tower, wall,…) and the in put the together in the engine -> you can build several different castles out of the set + better LOD control

  3. You can also just copy the folders in the content folder to a new project -> but keep the folder structure!! :slight_smile:

in that case welcome to UE4 and the forum:)

yes that is 32x32 pixels

yes it is fairly standard practice to need to increase lightmap res.

as says its usually better to create modular pieces, although if its just a background mesh or you cant go inside you could do it as one piece.

that has happened to me too. the best way to avoid it I have found is just make a copy of your entire project somewhere else on your HDD as a backup and then when you do add more to it just overwrite the backup with the latest version.