When you're lucky, importing models to Unreal Engine (UE) is fairly simple. You just drag and drop them in the content browser, let UE converts it to uassets, and puff, the job's done.
Even when the scale, rotation, and/or center point of your model is off, UE importer is clever and gives you an opportunity to correct them. Look under Transform in the import options dialog.
However, the model you've got might have been exported from 3D modeling software to a format incompatible with UE or you might want to make some changes to the model itself.
In this post, I'm going to show you how to use Blender 2.8 to prepare almost any model so it could be conveniently imported to UE and how to create a material from provided textures directly in UE.
As an example, I'll be using this rubber duck model made by Ikki_3d, which I've found on Sketchfab. I also renamed its textures to follow common UE naming conventions.
If you want to follow along, download the rubber duck model, open Blender, press A to select everything in the scene, and then hit Delete to prepare yourself a clean starting scene.
Now go to File → Import and because our rubber duck model is in dae format (which is not compatible with UE) select Collada (Default) (.dae).
After you import the RubberDuck.dae file, the mesh will be huge and your view ends up being inside. Scroll with the mouse wheel down until you see the whole duck.
Then select the model with Left Mouse Button (LMB), press Ctrl+A and in the pop-up menu click on All Transforms (or press A).
While the duck is still selected, in the right panel change scale to 0.001 and rotation around Z-axis to 90°, then repeat the previous step to apply all transforms again.
Now it's time to export the model to fbx format. Go to File → Export → FBX (.fbx) and in the dialog that pops up, select from Object Types only Mesh, set Forward axis to X Forward and Up to Z Up, and then hit Export FBX.
If you now ask why the forward is X Forward and up is Z Up, excellent question! See how the duck is now oriented and how axes are labeled in Blender.
When we save to our fbx file that the duck faces along the X-axis and its head points up along the Z-axis, the orientation in UE will be correct, because in UE the positive X-axis is associated with the forward vector and the positive Z-axis with the up vector.
Now, when all our work in Blender is finished and the output is RubberDuck.fbx file (or as you named it) we can conveniently import it to UE just by drag and drop in the content browser.
The last thing we need to do is to create a material for our static mesh (model imported to UE). If you haven't already, download all these textures and drag them to your UE project as well.
We're almost there. Double-click on the material that has been imported with the model to open it, select the Param node, and press Delete.
Now, drag the new line out of the Base Color pin and start typing TextureSample. Once you see it selected in the pop-up menu, hit enter.
While the newly added Texture Sample node is selected, in the left panel under Material Expression Texture Base assign the T_RubberDuck_D texture.
And finally, repeat the last steps for the rest of the provided textures until you end up with material as illustrated in the following image.
When you now hit Apply and Save (buttons in the top left corner), you should see back in the content browser a beautiful yellow rubber duck with an orange bill.
If not, you might need to open the static mesh and assign the material in the Details tab under Material Slot.
That's it for today. I hope you've found this post useful and if you want to learn more about working with content in UE, there's a lot about it in the official UE documentation.
And by the way, without looking, how many ducks are in the cover image? :-)