Autonomous Rover Testing Simulator in Unreal Engine 5
View the Project on GitHub MissouriMRDT/RoveSoSimulator
Return to RoveSoDocs Guides for Today, Tomorrow, and Forever.
Project Goal: To establish a clear, repeatable workflow for importing 3D models and their associated textures into Unreal Engine, ensuring they appear physically accurate and visually correct. This guide covers the entire pipeline, from asset preparation to final material setup.
Case Study: The Rock_Pick model. This asset serves as our primary example, specifically addressing the common issue where a model appears shiny and correct in its authoring software (e.g., Blender) but looks dull and flat upon import into Unreal Engine.
Physically Based Rendering (PBR) is the industry-standard approach for creating realistic materials. It relies on a set of specific texture maps that describe the physical properties of a surface. A successful import requires both the 3D model and these textures.
Required Assets Before starting in Unreal Engine, you must have the following files:
.fbx being the most common and recommended. This file contains the geometric shape of the object..png, .tga) that correspond to the model. A standard PBR set includes:
texture_pbr_...)texture_pbr_..._metallic)texture_pbr_..._roughness)texture_pbr_..._normal)This step brings the raw files into the project’s Content Browser.
Import All Files
Content/Models/RockPick)..fbx model file and all of its associated texture maps directly into this folder from Windows Explorer.The Import Dialog
.fbx file, an “FBX Import Options” dialog will appear. For a simple static mesh, the default settings are usually sufficient. Ensure that Generate Missing Collision is checked if you want the object to have basic physics collision. Click Import.Upon successful import, you will have a Static Mesh asset (with a light blue stripe) and several Texture assets in your folder.
This is the most critical stage and where the Rock_Pick issue was resolved. By default, an imported mesh has a very basic material that doesn’t use our detailed PBR textures. We must create a new material and connect them correctly.
Create the Material Asset
Material.M_RockPick.The Problem - A Dull Appearance
Rock_Pick was first imported, it was assigned a default material. This material did not use the Metallic or Roughness maps, so the entire object was treated as a dull, non-metallic plastic. The engine had no information about which parts were shiny metal and which were rough rubber.M_RockPick material, providing the engine with the physical surface information it needs.Correctly Connecting PBR Textures
Open your new M_RockPick material. You will see a final output node with several inputs. Drag all your texture assets for this model into the material graph to create Texture Sampler nodes. Now, connect them as follows:
Base Color texture sampler.Metallic texture sampler. Since it’s a grayscale map, all color channels contain the same information.Roughness texture sampler.Rock_Pick’s dull appearance.Normal Map texture sampler.Normalmap (BC5). Save the texture. This tells Unreal to interpret the colors as directional vectors, which is essential for the effect to work.After connecting all the nodes, your material graph should be clean and direct. Click Apply and Save in the Material Editor.
The final step is to assign your newly created, physically accurate material to the 3D model.
Assigning the Material
Rock_Pick Static Mesh asset to open it.Details panel on the right, you will see the Material Slots.M_RockPick.Your model is now fully imported, textured, and ready to be placed in any level. This same workflow—Import -> Create Material -> Connect PBR Textures -> Assign Material—can and should be used for any static mesh to ensure it is rendered realistically and correctly within the engine.