This tutorial shows how you: 1. find the textures within the DLC folders, 2. create a landscape material for your project that uses these textures, and 3. paint those textures/materials onto your terrain using the Paint tool in Landscape mode [Shift+2]. Preface: Unfortunately, painting/texturing the terrain is a bit more complex than necessary because for some reason we can't use the landscape material file from other DLCs for our own project - If we could things, would have been a lot easier. I think it has something to do with the yet missing cooking feature of the Editor. So it could be that if this comes in a feature, this tutorial becomes redundant or at least not so necessary anymore, but for now just take things as they are. So it requires a bit more effort and time than just selecting a texture and paint it to the terrain. This does not mean that you should be scared of it now when I say that, but just to let you know before: It needs some preparation. This preparation means in clear words: Setting up your landscape material. After you have created this landscape material, you can use the textures within for your terrain and paint them anywhere you like. Also important to say is that I basically use the method explained by Unreal Sensei in the following video (timestamp from 2:09:00 onwards), but just adapted his way to how we can obtain textures from the DLC folders of Train Sim World and how Dovetail Games stores some terrain files and the layerinfo files for the texture layers inside of the landscape material. You can store these files however you want, but I just use the way DTG does. But if you find it better to have a video guide or don't understand a certain step of my tutorial, I recommend to watch the "Landscapes" part of his video. It might come easier to understand for you then: With all of that mind, Let's start: 1. In your route plugin folder, create a folder called "LandscapeMaterial". Inside of this folder you create two subfolders. First create a subfolder called "Materials". Thereafter you create a subfolder called "Layers" or "Layerinfo" -> choice is yours (For some reasons, It does not let you create a "LayerInfo" folder -> attention to the uppercase 'I'!) So now you have your route plugin folder and inside of it is a folder called "LandscapeMaterial" folder and inside of that there lie the "Material" and "Layers" subfolders. [Name of your route folder] / LandscapeMaterial / Material [Name of your route folder] / LandscapeMaterial / Layers 2. Go to the "Material" subfolder, right-click on empty space to open up the menu and then click on "Material" as showed in the following picture. Name the file how you like, I choose "LimburgAu_Landscape" because the first is the name of my plugin and second describes what it is and hit Enter. Save your project with Ctrl+S on this step. So now you have your landscape material created. In this file we going to store the textures we want to use for our route and create the important connections within to be able to use/paint these textures. 3. Open up your landscape material file by double clicking on it in the "Material" subfolder. A window like this will appear: This is the Material Editor. Don't worry. It looks horriblely complicated at first sight, but we actually don't need to use every little value and need just to do some few steps in here to get the textures from the DLC folders for use in our project. Take a deep breath and let's continue. 4. In case it's unselected, select the box in the middle which has the same name as your landscape material and go to its "Details" tab (usually at bottom left by default), go into the submenu "Material" and tick the entry of "Use Material Attributes" (I highlighted a bit in the following picture). See how the box turned from big box with multiple entries to just a tiny one having a single entry. 5. Rightclick anywhere beside the box having the name of your landscape material and type in "LandscapeLayerBlend" and hit enter. A new box with the name "LayerBlend" appears. 6. Connect the LayerBlend box with the box having the name of your landscape material by hold and drag a line from the exit (outlet) of the LayerBlend box to the entry of the box named your landscape material. 7. Go to the details tab of the "LayerBlend" box. There you will find an "Layers" entry. Click on the plus icon as indicated in the next picture to add one layer to the "LayerBlend" box. (Don't worry about the error in the log at the bottom, it will disappear in a second) Be aware that I create one layer for one texture (I think at this moment it's called individual materail) for my overall landscape material with this. For the sake of simplicity and the screenshot upload limit I have for one post, I just show you how you get one texture/material working here in your landscape material. If you want more (and of course you will), you need to create one layer entry here for each one you want to use. So, if you for example want to use 5 invididual materials/textures for grass, ballast, gravel, sand and ashalt, the "LayerBlend" box need to have 5 layers added. It's important to say that the following steps 8 to 12 need to be done for each texture/layer you want to have in your landscape material. 8. Name the layer. For the sake of simplicity, I call it 1. Note that you can rename the layer later on to fit the name of the associated texture. If you have quite a bunch of layers, you will find it handy for sure later on if you name them like that. 9. Rightclick beside the boxes in empty space and type in "MakeMaterialAttributes". A new box with multiple entries appears. 10. Now drag a line from the exit (outlet) of the "MakeMaterialAttributes" box to the entry Layer 1 of the LayerBlend box. Your Material Editor should look similar like this : 11. Now we finally are able to import the texture from any other DLC into our Landscape material file. As example, I want to use the texture "T_Grass_01" under the path "DresdenRiesa Content/LandscapeMaterial/Textures". Now a short lesson about textures as material components. A material (not the landscape material) can be composed of one or several texture files. If it are multiple, there are usually provided as 3 textures types. The most important one is the "Base Color" also abbreviated as "BC" texture. This is basically the image or pattern which is used for the painted material. The second is the "Normal" also abbreviated as "N" texture which contains the fake 3D information, so that a image is perceived has having a 3Dimensional depth. The third common one is the "Metallic" also abbreviated as "M" texture which as the name suggests, contains information about the "metallic glow" or shine of the material. This is important if you want a reflective material. In my case, I have all of them 3 for my "T_Grass_01" texture/material under "DresdenRiesa Content/LandscapeMaterial/Textures" calling: T_Grass_01_BC T_Grass_01_M T_Grass_01_N These three textures I'm now going to import into the Material Editor. A box for each of those appears. 12. Now we need to drag lines from the RGB exits (outlets) of these three boxes into the respective entry (inlet) of the "MakeMaterialAttributes" box. To know which box is what, you can see that in the details tab to the left again and looking at the file name. Or you can go by the indicated color in the box because Normal textures are usually dark blue, Metallic textures are bright blue and the left one is usually the Base color texture, which has a variable color dependent upon the image/pattern used. 13. Now it's done for the Material Editor! Hit "Apply" at the top bar, save the landscape material and exit the Material Editor window. 14. Go the the world outliner of your project and search for "Landscape". There should be an actor with only that name, no other naming like "LandscapeStreamingProxy". Select the "Landscape" actor and you should find under the "Details" tab and the "Landscape" submenu a box to drag and drop your landscape material into. Do so. 15. Congratulations! You set up your landscape material. Now you can go to Landscape Mode (or simply press Shift+2) and select the paint tool. 16. In the Paint tool, go to the Paint tool details to the left and under target layers you should find the layers you created in your landscape material file. At this layer entry, click on the plus icon "Create Layer Info", choose "Weight-Blended Layer" and choose the path to the "Layers" folder we created in step 1. (Unreal creates an automatic folder in your Map folder ending with "_sharedassets" for that, but DTG stores the layer info files not there. Instead they store it in [folder of route project] / LandscapeMaterial / Layers] which is exactly what I did here). Do so too and click "OK". 17. After a few seconds your complete terrain will turn to the material of the layer you created the first layerinfo file (I don't know why it does and it have no idea how to stop or revert that - therefore be careful what layer you choose first) If you made several layers in your landscape material file you can now paint the corresponding texture/material to the terrain, by selecting the according layer in the Details tab of the Paint tool. This is how it worked in my case. I hope this is helpful to you. If I made any mistakes, hint me on that. Another important note is that I just covered a really fundamental view on creating materials. The Material Editor is a powerful tool with hundreds of functions which can improve the quality of your painted textures. Maybe search on your own for Unreal Engine tutorials of how you can improve your materials (A few tips I find especially useful I will link below). I also will need a second post to get the next 5 screenshots uploaded because the limit is 5 uploaded pictures per post. Tips: This thread here in the forum is very informative regarding problems and advanced techniques: https://forums.dovetailgames.com/threads/any-tips-for-texturing-the-terrain.75042 Another interesting thread is this one, where some developers even give a few insights about the processes behind the curtain regarding performance: https://forums.dovetailgames.com/threads/landscape-material-and-textures.74386 If you don't want that repetitive texture pattern, which is painted to your terrain you can use two tips. This video by Unreal Sensei: This tip by Tomas9970 :
Pretty cool however I do want to add two things. 1.) The M texture is actually a packed MRAO texture, which means that is contains three unrelated grayscale maps packed into a single RGB texture. Red = Metallic Green = Roughness Blue = Ambient Occlusion 2.) It's better to use Height Blend instead of Alpha Blend for blending layers as it's going to look far more natural. Simply set it for each of the layers and then use the "Get Material Attributes" node to pull the information back from the material input. DTG textures should have the displacement map stored in their alpha channel.