DP Modding
Editing Landscape Materials
This guide shows how to integrate landscape layers from one layer to another so that you can cleanly blend materials together, or simply stick to one material by including those layers that matter to you. I won't show how to set up a landscape material from the beginning, rather the point is to quickly get what you need out of what is already included in the Conan Exiles devkit.
Pick an Initial Landscape Material
The first thing to do, is pick a landscape material that has most of what you want, and minimal what you don't. For example, Landscape_Master7 has much of the desert and jungle layers already in it, so if we want to just add the volcano rock, we can use Master7 as our starting point and edit from there. So first, simply locate the Landscape Material (not the instance) and copy it, then paste it into your mod folder, giving it a unique name (add your mod prefix or something as XX_ to the beginning). After making the copy, right click on your new material and create a material instance of it in your mod folder. We will use both of these assets extensively.
Open your Material Instance and the original
Now that we have made a copy and have our Instance, we need to open the instance, and match all the settings to the one we copied. So if you used Master7, open the Master7_INST asset and your new Instance. You will notice that the original has a ton of options, checkboxes and Texture inputs that are not set in our new Material Instance. What you want to do right now is go thru the original and copy/Paste the various settings into your new Material Instance until they are the same. All you are doing at this point is replicating the original Material Instance and its properties. As an aside, for Master7 particularly, there are some height settings for Underwater which affects a waterline effect that may or may not be of interest to you. You can now freely set this line and its blend properties to suit your map elevation and potential ocean level. If you don't need or want this transition, simply set it extremely negative so that it doesn't affect your map.
Original MI
New MI
Tip: When setting a texture, you can hit the magnifier in the original instance, then the arrow in the new instance, to quickly locate and use the Texture needed.
Including the New Layer Code
Now that you've spent an hour or so mindlessly copying settings, its time to add the layer information you want. In the case, I want to add the volcano rock from master_Highlands to Master7 because I have a jungle volcanic island and well... I have a volcano. I'm also going to add the lava at the same time. Open both your new Material (not the instance this time) and the Material that has something you want. Inside the materials, you will see a node called "Layer Blend":
Click on the Layer Blend node and look at the details to the left. You will see that each Layer is named, and has a Blend Type (these are the only things we will edit). A Height Blended Layer will have both a surface (like grass, a rock texture, whatever) and a "cliff" edge effect (Like the way the Highlands has a gray cliff side if the landscape is high enough angle). The Layer Blend node will have a Layer input and a Height input if you use a Height Blend, only one input for a Weight Blend. In your new Material, you will need to add an input to the Layer Blend for each new layer you wish to add, paying attention to if the Layer you are adding is one of these two Blend types.
At the top of the Layer Blend Details in the left panel, there is a + for each you are adding. Each time you hit the +. a new Layer Blend Node input will be added, two in the case of a Height Blended Layer.
Now the Ugly Part... Copying the Code
Now we need to get the code from the original Material we want to include and paste it into our new custom Material. You can see at right, I want the Volcano Rock and Lava, so what I do is, copy all that stuff and paste it into an empty space in my new material. Now, if what you want has noodle inputs from other code/layers, make sure you get that code too; get everything that contributes to the last connection before the Layer Blend. You need it all because it likely contains Height Blend information. Volcano Rock for example needs some Cimmeria inputs... just get it all and be careful.
After you paste it into your new material, make sure and connect the outputs to your new Layer Blend node.
Set the Material Instance Again
Now that you have included the necessary code, you need to open your new Material Instance and Match the settings for the new Layer information you just added. Do the same thing we did before; anything not set, just copy paste the settings from the Material Instance of the Material you were just cannibalizing. Make sure and set anything that came along for the ride too, per the comment about the Cimmeria rock for Master_Highlands. If you miss something, you will see this ugly Funcom Checkerboard mixed in with your landscape painting that will give you a clue that you missed something.
Create the Layer Info
We now have one last thing we need to do. After you assign your new Material Instance to a LandscapeStreamingProxy you wish to paint, you need to go to the Landscape Painting tab of the devkit and look for the new Layers you added. In my case, I added Volcano Rock and Volcano Lava.
You will see that they have no Layer Info attached to them and if you click the drop down, you will likely see they have no option (they may... this is hit and miss). This is much easier than your immediate gag reflex may think if no Layer info is available (or the existing one craps out if it is available)... simply click the + sign next to the Layer as in the Picture, and the devkit will create it for you from your Material and Material Instance.
That's It!
Now it's just a matter of assigning your Material Instance to your LandscapeStreamingProxies and painting and blending like a (semi)pro! Or... painting like a hack who just needs to solve a problem and doesn't care about doing it from scratch... guilty.