Unreal Editor for Fortnite (UEFN) has different material instances for custom terrain that you can create using Landscape Mode. The Paint tools in Landscape Mode provide a way to edit the top layer of your terrain. Select from the following material instances for your terrain:
-
MI_Landscape_Chpt2 (Apollo)
-
MI_Landscape_Chpt4 (Asteria)
-
MI_Fortnite_Customizable_01
The Chapter 2 material instance is the classic Fortnite Battle Royale landscape material. The Chapter 4 landscape material is from Fortnite Battle Royale Chapter 4.
Each of the Battle Royale material instances creates a grassland with flowers, and simulates wind blowing through the grass. In addition to these features, the Chapter 4 material instance auto-generates small bushes, and uses Niagara to simulate leaves blowing in the wind and butterflies flying around the terrain.
The Customizable material instance is a flat material. Use the Paint tool in Landscape Mode with this material to create wet grass, dirt patches, and more.
Selecting the Customizable Material Instance
Use Landscape Mode to create custom terrain for your island. The Manage stage of creating terrain is where you decide how large to make your custom terrain, and which landscape material to assign.
Select a material instance from the Material dropdown menu, the material instances mentioned above can be found in this dropdown menu with many other landscape material types.
To create a custom look for your landscape material, select MI_Fortnite_Customizable_01 from the dropdown menu. This sets the customizable material for your terrain mesh, then use the Paint stage tools to open the Material Instance Editor for each layer. By editing the layer information, you can change the look of the layer.
For more information on creating custom terrain, see the Create a Custom Landscape tutorial.
Painting Your Landscape Material
-
Create a new landscape using one of the three main material instances.
-
Select the individual landscape streaming proxies to change their material with the custom landscape material you created.
-
Click Paint from the Landscape Mode stages.
-
Scroll down to Layers.
-
Select any layer from the list to paint onto the landscape.
-
Select Layer7 from the Layers list. This opens all the layer material instances in the Content Browser.
Some of the layers you’ll see in the Paint tool are locked and reserved for splines. When you create a path or roadway with splines, these materials are used for the spline mesh.
Creating a Custom Landscape Material
Create a custom landscape material with layers you can use with the Paint tools to edit your terrain. You’ll create a material with three layers; mud, rock, and gravel. Create a folder to hold your materials, and create a material thumbnail by right-clicking inside the new folder.
Base Layer
Double-click the material thumbnail to open the material graph. When the graph opens, add the following material nodes:
-
Constant 3Vector node
-
Constant node
-
SetMaterialAttributes node
-
Texture Sample node
Select the Constant 3 Vector material node and add a color. Now you’re ready to create your node network.
-
Select the first SetMaterialAttributes node in the material graph.
-
Click on the + icon in the Array field in the Details panel. A Base Color array slot is created.
-
Repeat step 2 three times, creating three more array slots. As you add array slots in the details panel, the same array inputs are added to the SetMaterialAttributes node.
-
Edit the array slots so the following arrays are selected:
-
Base Color
-
Specular
-
Roughness
-
Normal
-
-
Change the Constant node value to 0.5.
-
Drag off the Constant node and plug it into the Specular input on the SetMaterialAttributes node.
-
Drag off the Constant node again and plug it into the Roughness input on the SetMaterialAttributes node.
-
Drag off the white pin on the Constant 3Vector node and plug it into the Base input on the SetMaterialAttributes node.
-
Select the Texture Sample node.
-
Add T_Asteria_Mud_01_N Normal texture to the Texture slot in the Material Expression Texture Base field.
-
Drag off the RGB output pin on the Texture Sample node and plug it into the Normal input on the SetMaterialAttributes node.
This is the Base material that appears on the landscape when no layers are painted.
Layer One
This next node network is the landscape material layer that sits below the landscape base material layer in Target Layers. This network uses an optimization node, the landscape layer switch. The landscape layer switch makes the material less data-heavy on landscape components that don’t have this layer painted on them.
Add the following material nodes:
-
Constant 3Vector node
-
Constant node
-
SetMaterialAttributes node
-
Texture Sample node
-
Landscape Layer Switch node
-
Blend MaterialAttributes node
-
Landscape Layer Sample node and name it Layer 1
Select the Constant 3 Vector material node and add a color. Now you’re ready to create your node network.
-
Select the first SetMaterialAttributes node in the material graph.
-
Click on the + icon in the Array field in the Details panel. A Base Color array slot is created.
-
Repeat step 2 three times, creating three more array slots. As you add array slots in the details panel, the same array inputs are added to the SetMaterialAttributes node.
-
Edit the array slots so the following arrays are selected:
-
Base Color
-
Specular
-
Roughness
-
Normal
-
-
Change the Constant node’s value to 0.5.
-
Drag off the Constant node and plug it into the Specular input on the SetMaterialAttributes node.
-
Drag off the Constant node again and plug it into the Roughness input on the SetMaterialAttributes node.
-
Drag off the white pin on the Constant 3Vector node and plug it into the Base input on the SetMaterialAttributes node.
-
Select the Texture Sample node.
-
Add T_Asteria_RockCliff_03_N Normal texture to the Texture slot in the Material Expression Texture Base field.
-
Drag off the RGB output pin on the Texture Sample node and plug it into the Normal input on the SetMaterialAttributes node.
-
Drag off the SetMaterialAttributes node and plug into the B input on the BlendMaterialAttributes node.
-
Drag off the Landscape Layer Sample node and plug into the Alpha input on the BlendMaterialAttributes node.
* The Landscape Layer Sample node provides the name for the paintable target layer in the landscape tool.
* This material node must be part of the landscape material for it to show up under Layers in the Paint tool.
* This node automatically samples the appropriate landscape layer mask texture and appropriate channel of the same name.
When creating a brand new landscape LayerInfo asset, this material technique requires the layers be set to Non Weight-Blended Layer in Landscape Mode when using the Paint tools.
-
Drag off the first SetMaterialAttributes node from the Base Layer and plug into the A input on the BlendMaterialAttributes node.
-
Drag off the first SetMaterialAttributes node from the Base Layer and plug into the LayerNotUsed input on the Landscape Layer Switch node.
-
Select the Landscape Layer Switch and change the Paramter Name to Layer 1 in the Details panel.
-
Drag off the BlendMaterialAttributes node and plug into the Layer Used input on the Landscape Layer Switch node.
In the image above reroute nodes were used to keep the Material graph organized. Reroute nodes aren’t necessary to complete this tutorial. To learn more about node connections, refer to Connecting Nodes in Unreal Engine documentation.
Layer Two
This next node network is the layer that sits below Layer 1. This network also uses the Landscape Layer Switch to make the material less data heavy on landscape components that don’t have this layer painted on them.
Add the following material nodes:
-
Constant 3Vector node
-
Constant node
-
SetMaterialAttributes node
-
Texture Sample node
-
Landscape Layer Switch node
-
Blend MaterialAttributes node
-
Landscape Layer Sample node and name it Layer 2
Select the Constant 3 Vector material node and add a color. Now you’re ready to create your node network.
-
Select the first SetMaterialAttributes node in the Material graph.
-
Click on the + icon in the Array field in the Details panel. A Base Color array slot is created.
-
Repeat step 2 three times, creating three more array slots. As you add array slots in the Details panel, the same array inputs are added to the SetMaterialAttributes node.
-
Edit the array slots so the following arrays are selected:
-
Base Color
-
Specular
-
Roughness
-
Normal
-
-
Change the Constant node’s value to 0.5.
-
Drag off the Constant node and plug it into the Specular input on the SetMaterialAttributes node.
-
Drag off the Constant node again and plug it into the Roughness input on the SetMaterialAttributes node.
-
Drag off the white pin on the Constant 3Vector node and plug it into the Base Color input on the SetMaterialAttributes node.
-
Select the Texture Sample node.
-
Add T_Asteria_FrozenGravel_01_N Normal texture to the Texture slot in the Material Expression Texture Base field.
-
Drag off the RGB pin on the Texture Sample node and plug it into the Normal input on the SetMaterialAttributes node.
-
Drag off the SetMaterialAttributes node and plug into the B input on the BlendMaterialAttributes node.
-
Drag off the Landscape Layer Sample node and plug into the Alpha input on the BlendMaterialAttributes node.
-
Select the Landscape Layer Switch and change the Paramter Name to Layer 2 in the Details panel.
-
Drag off the BlendMaterialAttributes node and plug into the Layer Used input on the Landscape Layer Switch node.
-
Drag off the first Landscape Layer Switch node and plug into the A input on the second BlendMaterialAttributes node.
-
Drag off the first Landscape Layer Switch node and plug into the LayerNotUsed input on the second Landscape Layer Switch node.
Since Layer 2 is blended here–after Layer 1, Layer 2 will draw on top of Layer 1. The Target Layer arrangement in the Paint tools is irrelevant when using No-Weight Blend Layers.
To complete your material, select the Main Material Node and in the Details Panel toggle on Use Material Attributes.
Now drag off the Layer 2 Landscape Layer Switch and plug it into the Main Material Node to complete you custom landscape material.
The Main Material Node takes the name you assigned to the material.
Using Your Custom Landscape Material
Now you can use your custom material to paint an existing landscape on the terrain you created. Select the Landscape Streaming Proxy from the Outliner panel.
Assign your custom material to the Landscape Material slot in the Details panel.
Switch to Landscape Mode from the Selection dropdown menu and select Paint from the Landscape stages. From here you’ll see your new material and all its layers in the Target Layers menu amongst the other landscape materials.
Before you can use your custom material you have to turn each custom layer into a Non Weight-Blend Layer. To do this select the + icon > Non Weight-Blend Layer > Save. Repeat this step for each layer of your custom material.
Now you can paint the terrain by selecting your custom material.