UE4 FBX Static Mesh Pipeline

前端之家收集整理的这篇文章主要介绍了UE4 FBX Static Mesh Pipeline前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

TheStaticMeshsupport in the FBX import pipeline makes getting meshes from 3D applications into Unreal Engine 4 a simple,painless task. When meshes are imported,the textures used in the materials applied to those meshes in their respective 3D application (diffuse and normal map only) are also imported and,in turn,used to generate the materials applied to the mesh in UE4.

Features supported for importingStatic Meshesusing FBX:

Currently,when importing multiple meshes with custom collision in a single file,only the first mesh's collision will be imported.

The UE4 FBX import pipeline usesFBX 2014. Using a different version during export may result in incompatibilities.

This page includes information on both Autodesk Maya and Autodesk 3ds Max,please choose your preferred content creation tool below and the information relevant only to the chosen tool will be displayed:

Choose Your 3D Art Tool

Autodesk Maya

Autodesk 3ds Max

General Setup

In general,you are free to createStatic Meshesusing any tools and methods you want. There are some stipulations as far as setting up UVs,placement of the mesh,etc. that you need to account for in order for the exporting and importing to go smoothly and for the mesh to work properly in Unreal Editor.

Pivot Point

The pivot point of the mesh in Unreal Engine determines the point around which any transformations (translation,rotation,scale) will be performed.

The pivot point is always located at the origin (0,0) when exporting from a 3D modeling application. Because of this,it is best to create your meshes at the origin,with the origin generally being located at one corner of the mesh to allow for proper alignment when snapping to the grid inside of Unreal Editor.

Triangulation

Meshes in Unreal Engine must be triangulated as the graphics hardware only deals with triangles.

There are several ways you can ensure your mesh is triangulated.

  • Model the mesh with only tris - best solution,provides the most control over the end result.

  • Triangulate the mesh in the 3D app - good solution,allows cleanup and modification before export.

  • Allow the FBX exporter to triangulate the mesh - okay solution,allows no cleanup but can work for simple meshes.

  • Allow the importer to triangulate the mesh - okay solution,allows no cleanup but can work for simple meshes.

It will always be best to manually triangulate the mesh in the 3D application,controlling the direction and placement of edges. Automatic triangulation can lead to undesirable results.

UV Texture Coordinates

The import of multiple UV sets is supported by the FBX pipeline in Unreal Engine 4. ForStatic Meshes,this is generally used to handle one set of UVs for the diffuse. There are no special requirements for setting up the UVs forStatic Meshesusing the FBX pipeline.

Creating Normal Maps

Normal maps can be created for your meshes directly inside of most modeling applications by creating both a low-res render mesh and a high-res detail mesh.

The geometry of the high-res detail mesh is used to generate the normals for the normal map. Epic uses a workflow internally that introduces XNormal into the process and generally results in much better normals when rendering inside of Unreal Engine 4. For details on this process,seeNormal Map Creation Guide.

Materials

The materials applied to meshes modeled in external applications will be exported along with the mesh and then imported into Unreal. This streamlines the process as textures do not need to be imported separately in Unreal,materials do not need to be created and applied,etc. The import process is capable of performing all of these actions when using the FBX pipeline.

These materials also need to be set up in a specific way,especially when the mesh has multiple materials or the order of the materials on the mesh is important (i.e. for character models where material 0 needs to be the body and material 1 needs to be the head).

For complete details of setting up materials for export,see theFBX Material Pipelinepage.

Collision

Simplified collision geometry is important for optimizing collision detection in-game. Unreal Engine 4 provides basic tools for creating collision geometry within theStatic Mesh Editor. Some circumstances,though,are best handled by creating custom collision geometry within your 3D modeling application and exporting it with the render mesh. Generally,this is true for any mesh with an opening or concave area that objects need to not collide with.

For instance:

  • Doorway meshes

  • Walls with window cutouts

  • Oddly shaped meshes

Collision meshes are identified by the importer based on their name. The collision naming Syntax should be:

@H_404_208@
Mesh Prefix and Name Description
UBX_[RenderMeshName]_## Boxes are created with theBoxobjects type in Max or with theCubepolygonal primitive in Maya. You cannot move the vertices around or deform it in any way to make it something other than a rectangular prism,or else it will not work.
USP_[RenderMeshName]_## Spheres are created with theSphereobject type. The sphere does not need to have many segments (8 is a good number) at all because it is converted into a true sphere for collision. Like Boxes,you should not move the individual vertices around.
UCX_[RenderMeshName]_## Convex objects can be any completely closed convex 3D shape. For example,a Box can also be a convex object. The diagram below illustrates what is convex and what is not:

Caveats and Considerations

  • RenderMeshNamemust be identical to the name of the render mesh the collision mesh is associated with in the 3D application. So if you have a render mesh named **Tree_01** in your 3D application,your collision mesh should be in the scene with that mesh and namedUCX_Tree_01,and then exported along with the render mesh to the same FBX file. If you need more than one collision object for a mesh,you can extend their names with further identifiers,such as:UCX_Tree_01_00,UCX_Tree_01_01,UCX_Tree_01_02,etc... and they all will be associated as collision for that mesh.

  • Currently,spheres are only used for rigid-body collision and Unreal's zero-extent traces (e.g. weapons),not non-zero extent traces (e.g. Player movement). Also,spheres and Boxes do not work if theStaticMeshis non-uniformly scaled. In general you probably want to createUCXprimitives.

  • Once your collision objects are set up,you can export both the render and collision mesh in the same .FBX file. When you import the .FBX file into Unreal Editor,it will find the collision mesh,remove it from the render mesh,and turn it into the collision model.

  • Breaking up a non-convex mesh into convex primitives is a complex operation,and can give unpredictable results. Another approach is to break the collision model into convex pieces yourself in Max or Maya.

  • In the case of an object whose collision is defined by multiple convex hulls,results are best when the hulls do not intersect with one another. For example,if the collision for a lollipop were defined by two convex hulls,one for the candy and one for the stick,a gap should be left between the two as in the following illustration:

  1. UCX_Candy

  2. Small gap between collision surfaces

  3. UCX_Stick

@L_403_23@

Vertex Colors

Vertex colors forStatic Meshescan be transferred using the FBX pipeline. No special setup is necessary

Export Mesh

Static Meshescan be exported individually or multiple meshes can be exported to a single FBX file. The import pipeline will separate multipleStatic Meshesinto multiple assets within the destination package unless specified to combine the meshes by enabling theCombine Meshessetting at the time of import.

The UE4 FBX import pipeline usesFBX 2014. Using a different version during export may result in incompatibilities.

  1. Select the mesh(es) to be exported in the viewport.

  2. In theFilemenu,chooseExport Selection(orExport Allif you want to export everything in the scene regardless of selection).

  3. In theExportdialog Box:

    • Choose theContentfolder inside your UE4 Project (1)

    • Enter a name for the file and set it to FBX Export (2)

    • Set your Export Options (3)

    • ClickExport All(4)

    The settings in the Geometry category above are the most basic requirements for exportingStatic Meshesto Unreal Engine 4.

  4. On your disk,browse to theContentfolder of your Project. You will see that your FBX file has been added.

  5. If you have the UE4 Editor open (or next time you run it) you will be prompted with anFBX Import Optionsdialog,clickImportorImport All.

    You can leave the default options for importing. Refer toFBX Import Options Referencefor more information on each option.

  6. Your asset has now been imported and you can drag-and-drop it from theContent Browserinto your level.

    In the example above (as part of our Import Options),we importedMaterialsandTextures.

Import Mesh

  1. Click thebutton in theContent Browserand chooseImport. Navigate to and select the FBX file you want to import in the file browser that opens.Note:you may want to selectin the dropdown to filter out unwanted files.

    The path of the imported asset depends on the current location of theContent Browserwhile importing. Make sure to navigate to the appropriate folder prior to performing the import. You may also drag the imported assets into a new folder once import is complete.

  2. Choose the appropriate settings in theImportdialog. The defaults should be sufficient in most cases. See theFBX Import Dialogsection for complete details of all of the settings.

  3. Click thebutton to import the mesh(es). The resulting mesh,material(s),and texture(s) will be displayed in theContent Browserif the process was successful.

    Although textures and materials can be imported with a Static Mesh,onlyColorandNormalwill automatically be connected (assuming asupported material was used in Max/Maya),Specularmaps will be imported but not connected,other maps,likeAmbient Occlusionmap in theDiffuseslot of a maya material,would not even be imported; it is best to check your materials and connect any unconnected maps and check which maps did not import. Simplydouble-clickthe new material and connect the available textures into their appropriate inputs.

    By viewing the imported mesh in theStatic Mesh Editorand enabling the display of collision,you can determine that the process worked as expected.

    @H_815_502@

Alternatively,you can actually just click and drag an FBX file from Windows into theContent Browserand it will bring up the import dialog for you.

猜你在找的设计模式相关文章