Creating a model within Unreal Engine can be either simple or complex, depending on your project requirements. The times when manual modeling was a common thing have long gone, and even though it adds to the complexity of your toolkit, the benefits of automated 3D modeling are hard to ignore.
Creating Models in 3D Graphics Software
Modeling programs such as Maya, Blender, 3Ds Max, Mudbox, and many others serve as a great tool to form the models for further transferring into the game engine.
Unreal Engine is no different from its counterparts, and a whole process of making 3D assets can be divided into three major stages: modeling, rigging, and skinning; meanwhile, texturing and shading can be related to further refinement after the previous steps are done. Depending on the complexity of the asset, it can either involve all those steps of producing if the model is projected to have a complex set of animations, or can be limited just to modeling if it is not supposed to execute any actions or the animation is very basic (for example, a spinning object). Texturing and shading, however, are always the mandatory steps to take after completing the listed actions.
In order to explain the entire process, we highlighted some of the major steps for creating assets in Maya before transferring them into Unreal Engine.
Modeling is a process of making a visual portrayal of objects and surfaces for further manipulations. Basically, every asset goes through this stage, unlike rigging and skinning that are mostly associated with the game character development. Therefore, if you need to create a static 3D asset that will not perform any complex animation set, modeling will be the necessary way to create it. For example, if you create a wheel for a vehicle, both rigging and skinning will not be necessary.
Keeping in mind such factors as correct topology, the scale of model’s mesh and its location will serve as a good basis for getting the action started.
The whole modeling process can be completed in many ways, depending on which one is the most appealing for a 3D artist.
- Primitive modeling means creating simple 3D objects like spheres, cubes, cones and influencing by changing their attributes. With the usage of Modeling Toolkit, an artist can split, extrude, merge, or delete the components from the objects to make a primitive object more or less complex.
- Curve modeling is a method of making 3D assets when the surfaces are manipulated by curves that are controlled by the weighted control points. By changing the weight for a certain point, an artist can pull the curves closer to a specified point. These curves incorporate splines, patches, and NURBS.
- Converting is a method to create polygons by using the actual NURBS and subdivision surface models.
- Individual Polygons can be made by placing individual vertices to showcase the individual polygon faces. The Create Polygon Tool or the Quad Draw Tool can either extrude or split the faces from the polygonal mesh afterward.
- Digital Sculpting serves as a tool for pushing, smoothing, grabbing, pulling, and pinching to manipulate the objects as if they were made of clay. By using Displacement, Volumetric, and Dynamic Tessellation methods, an artist can achieve a decent level of the image with a high resolution.
Given how many polygons a highly-detailed model has (sometimes up to 10M), it often becomes impossible to create proper animations with the number of influence points that a 3D artist has to deal with. By using a Quad Draw feature in Modeling Toolkit, you have access to marking all over the model with the quads that enables creating a vastly simplified new topology based on a reference model surface. To make the rigging process available for 3D artists, this transforms high-poly models into low- or mid-poly topologies that have around 5-10K polygons.
After the desired poly count is reached, an artist can extract the detailing data from a high-poly initial model and apply it to a previously-derived low-poly counterpart. As a result, we have a good-looking and detailed 3D asset susceptible to further manipulation in Maya.
UV mapping is the next common step before diving into the Rigging topic; however, it can also be done afterward. This stage means that an artist can take a 2D image and apply it to a 3D model surface for further texture mapping. By painting 3D model polygons with color and other mapping parameters, UV mapping assigns the image pixels to the polygon surface mappings by copying and pasting a piece of the image map onto the object.
UV mapping is divided into 6 different techniques:
- Automatic method attempts to create UVs by finding the best UV positioning, projecting the location from various angles. It is most commonly used for making more complicated shapes when regular cylindrical or spherical projection cannot project appropriate UVs.
- Planar method is designed to project UVs onto the mesh by using the plane — which is great for objects that are either flat or can be well observed from a single angle; however, it can cause UV shells to overlap.
- Cylindrical method is good for making UVs for objects that have a cylindrical form by wrapping it around the mesh. This approach is the best when objects can be fully locked within a cylinder without protruding or empty parts.
- Spherical method is used when creating UVs with a spherical shape surrounding the mesh, making it the best for keeping the mesh fully enclosed for spherical-based objects.
- Used-defined method implies a control of 3D artist over mapping UV texture coordinates for the UV projection Automatic Mapping segment.
- Camera Mapping allows for applying the image taken from the camera angle to the entire mesh.
Rigging is a procedure of making a “skeleton” and binding it to a 3D mesh. Like a real-life skeleton, it consists of a number of joints that can manipulate a model to bend or lean towards a certain direction.
Creating a skeleton can usually be done with a help of three joint types that will also allow for specifying the root joints they are attached to:
– Leaf joint is a default option with a basic list of settings;
– Jiggle joint is a common option for apply secondary animations to the model;
– Dynamic joint is capable of creating a chain of joints, giving an opportunity to establish an appropriate number of joints to be created.
On the other hand, there is always an opportunity to downloaded previously-created rigging templates from middleware animation libraries such as Human IK.
Placing a created skeleton can be done by a Joint Mover. Before doing that action, a 3D artist needs to secure the current joint placement either by checking the joint hierarchy of root joints or by Forward Kinematics to calculate a joint movement of a rigged character. After properly adjusting the skeleton placement by the Mover UI, a Deformation option will show up with the skin-weighing tools.
The Heat Map Binding method, however, will also be a nice option as it will allow for highlighting the default spots for both model and skeleton root joints, reducing the clean-up process afterward.
Skinning is a process of attaching a 3D mesh to a number of previously-created joints that will influence the model’s vertices by moving them in 3D space.
By default, Maya binds the skeleton to mesh with a Smooth Bind method by detecting the vertices that are located close to the joints, setting their influence value based on the distance. However, such method has its flaws, so a good chunk of the job still has to be done manually by setting up the colors of the weight sections.
The rigid method, on the other hand, will enable sharp deformation with a specific joint, which can be then smoothed by the flexors. The indirect skinning method uses a lattice that surrounds the models and allows for influencing and deforming the model.
Constantly checking certain body parts during model animation will be the key to detecting its deformation so that the influence points could be polished. Further polishing will mean intense work with the weighing parameters, but by modifying you will be able to adjust the influence points between the model and a skeleton. If a certain side body part is done and dusted, it will be a good idea to use the mirror option for an opposite side coloring, saving a lot of time for an artist, unless the opposite body parts were designed to be discernible.
Exporting and Importing the Assets
After a created model is set and done, you need to transfer it to the game engine. Such programs as Maya our Autodesk have a regular path to make a smooth transition without losing any data.
Once you have a project started in UE4, in the beginning, you should export an asset from your 3D modeling application by choosing the Export option and giving it an appropriate name for further manipulations.
Depending on the files’ format, they can be imported and played in UE4. Let’s take FBX, for instance, as that is the most recommended one for UE4 when it comes to 3D models.
After clicking the “Import” feature in a content browser and then choosing and opening the content files, you will be headed towards the FBX Import Options that will appear and allow for importing files into your project. If you just want to import the skeleton, then import it, as the Skeletal section should be checked and vice versa if a whole static mesh needs to be imported. Using the “Import All” feature will apply the filters to all the important objects, so pay attention when the imported objects aren’t similar.
To save all the needed assets and to remove the asterisk sign from them, you will need to select the imported files and press “Save Selected” in the Save Content dialog box.
Checking whether or not the imported files have been saved on a hard disk can be done by proceeding to Content>Folder Options>Show in Explorer, where they will be indicated by the .uasset format.
Inside the Engine
When we have all our assets inside Unreal Engine, there will be another list of actions to polish the models to make them look the way they should.
The following instruments are designed to promote further assets polishing inside UE4. When you start creating the level and adding the actors for your project, it is fairly vital to know whether you need a certain tool or not to make the process of working in Unreal Engine smooth, seamless, and time-efficient.
Level Editor is the major tool to produce the levels inside a game. It is capable of adding the valuable features like blueprints, cascade particles, actors, and geometry. Level Editor is the default feature that gets opened automatically when a project is created. In this section, the levels are created, viewed, and generally influenced by placing, transforming, and editing the properties of actors.
The Actor is a programming class used to identify any object that has a 3D position, rotation, scale data and may be either light or a mesh — or a character. In other words, it is every object that can be positioned inside the levels.
Long story short, creating levels in UE is placing the items inside of it including static meshes, lights, weapons, vehicles, decorations, and the world geometry.
Material Editor is a place where an artist can create or use premade materials that will serve as the assets for controlling the visual looks of meshes. By using this UE segment, you can create specific shaders that will further be applied to Static and Skeletal meshes, for example, by creating and applying the “dirt” material onto the terrain of the level, it will add an interesting dirt-looking surface.
Being a node-based graphical interface, Material Editor allows for convenient tracking and manipulating of your shaders. In such environment, nodes are the objects such as events, variables, flow control operations, that are mostly in graphs to define the capabilities of a certain graph and Blueprint that contains it.
Blueprint Editor is an area where a 3D artist can modify the Blueprints, a special type of asset that allows for creating new types of actors and script level events, not having to use any type of C++ code. This type of visual scripting is capable of driving level-based events, manipulate in-game scripted patterns of behavior for actors, and control the perplex animations in the highly realistic character systems.
Being a node-based graphical editor, it serves as a major tool for creating and editing scripting node networks, commonly called the Blueprints. This editor will enable 3D artists to create their own arrays, variables, functions, etc. Also, debugging tools inside this segment can be helpful when you need to debug and improve the data flow inside the network.
Behavior Tree Editor
Behavior Tree Editor is a primary tool for scripting the Artificial Intelligence (AI) with the node-based system for actors inside the game levels. As a result, it can be a behavior pattern for main characters, enemies, minor creatures, vehicles, etc.
The most common process of working in this tool is comprised of adding the Service, the Tasks, and the Decorators.
Persona Editor is a built-in animation toolkit inside UE4 that can be used for modifying the skeletal meshes, animation blueprints, skeletal assets, or any other animation assets.
There are 5 major animation tools in UE4:
- The Skeleton Editor is designed to examine and modify the skeleton from the Skeletal Mesh for either adding the sockets to joints or testing the joints of that Skeletal Mesh rotations.
- The Skeletal Mesh Editor serves for importing LOD’s and assigning the basic materials to the Skeletal Mesh. You can also apply APEX clothing, manipulate the bounds of a Skeletal Mesh, and use the Shadow Physics Asset.
- The Animation Editor allows for using Animation Sequences as well as Blend Spaces and Animation Montages.
- The Animation Blueprint Editor is used for making the routes of setting the time and the way the animations will be played by using state machines and various blends.
- The Physics Editor will help to make and manipulate the collision bodies that will be further used for the Skeletal Meshes.
Cascade Editor is designed to modify the cascade particle systems that provide real-time feedback and the editing of modular effects, serving as a great tool for simple and fast establishing of the most perplex effects. By using emitters, it helps to make the modular, particle-based effects.
UMG UI Editor
The UMG UI Editor is a primary tool for creating the game HUD, main menu, submenus, and every graphical in-game interface that is required. It utilizes the widgets, a basis of in-game functions that form a chain of events that are used to form an interface. In Widget Blueprint, an artist can use Designer segment that is responsible for the visual part of the UI and the Graph segment, used for the functional part of the widgets’ interface.
Matinee Editor serves for creating high-intensity gameplay events and in-game cinematics by using specific animation tracks that allow for placing the keyframes and setting up the actors’ property values. This tool also enables 3D artists to animate the properties of certain actors over time.
Sound Cue Editor
Sound Cue Editor is a node-based tool that helps to set up the sound behavior. By mixing, shuffling, and combining various sound assets, you can make an audio from a solid mixed output. Each node has their own speaker as well as Volume and Pitch values, that are used to manage relative Sound Cue volumes.
Modulator nodes, on the other hand, can make controlling volume and pitch values of sound waves and random nodes independently.
Paper2D Sprite Editor
Paper2D Sprite Editor is used for setting up and managing Sprites in UE4. Briefly, it is an inbuilt tool for drawing regular 2D images inside the game engine. By switching modes, polygons, box polygons, and snapping the vertices to the pixel grid when managing collision or render geometry, it allows for easy and fast 2D asset manipulations.
Paper2D Flipbook Editor
Paper2D Flipbook Editor is a tool for making 2D animations inside UE4. The method is very reminiscent of the old cartoon animations when a series of 2D image key frames (Sprites) is set to be played in a sequence that forms an animation after “flipping” in the editor. It will enable tweaking and tune the playback speed and the duration of each sprite with the frames per second option.
Physics Asset Tool Editor
Physics Asset Tool Editor is a part of the Animation Editor tools list (along with Skeleton, Skeletal Mesh, Animation, and Anim Blueprint editors) and allows for manipulating the physical assets for skeletal meshes. Being used for indicating the physics and collision of a skeletal mesh, physical assets contain a number of rigid bodies that form a singular ragdoll that is not constrained by a humanoid ragdoll. Having only one physical asset available per skeletal mesh, they can be used for any type of physical simulation when using bodies or constraints.
Static Mesh Editor
Static Mesh Editor is a tool that allows for previewing the collision, UVs, and the look of the skeleton mesh as well as setting up its parameters. There is also an option of manipulating the level of detail settings of your skeletal meshes.
Media Player Editor
Media Player Editor is used to load media files for further playback usage inside UE4. Despite its name, this segment can’t really edit the files inserted into the engine but will come in handy when there is a need to set up the playback rate, looping, auto-playing, etc.
Being the second most popular engine among video game developers, Unreal Engine can offer a wide range of tools capable of polishing and setting up 3D assets to make marvelous characters, realistic vehicles, stunning levels with an appealing environment, and many other cool things to create a spectacular gaming experience.
It comes with a necessity of knowing how each of these tools can interact with certain assets, created in 3D modeling software and imported into Unreal Engine. There is no doubt that mastery in such programs like Maya, 3Ds Max, and Blender is the key to creating the best 3D assets. However, knowing how to utilize these resources in UE4 will be another vital factor in pushing the game’s potential to the limit.