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.
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.
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:
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.
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.
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 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:
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.
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 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 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 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 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 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 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.