Book Image

Game Development Projects with Unreal Engine

By : Hammad Fozi, Gonçalo Marques, David Pereira, Devin Sherry
Book Image

Game Development Projects with Unreal Engine

By: Hammad Fozi, Gonçalo Marques, David Pereira, Devin Sherry

Overview of this book

Game development can be both a creatively fulfilling hobby and a full-time career path. It's also an exciting way to improve your C++ skills and apply them in engaging and challenging projects. Game Development Projects with Unreal Engine starts with the basic skills you'll need to get started as a game developer. The fundamentals of game design will be explained clearly and demonstrated practically with realistic exercises. You’ll then apply what you’ve learned with challenging activities. The book starts with an introduction to the Unreal Editor and key concepts such as actors, blueprints, animations, inheritance, and player input. You'll then move on to the first of three projects: building a dodgeball game. In this project, you'll explore line traces, collisions, projectiles, user interface, and sound effects, combining these concepts to showcase your new skills. You'll then move on to the second project; a side-scroller game, where you'll implement concepts including animation blending, enemy AI, spawning objects, and collectibles. The final project is an FPS game, where you will cover the key concepts behind creating a multiplayer environment. By the end of this Unreal Engine 4 game development book, you'll have the confidence and knowledge to get started on your own creative UE4 projects and bring your ideas to life.
Table of Contents (19 chapters)
Preface

Importing the Required Assets

Unreal Engine gives users the ability to import a wide range of file types for users to customize their projects. There are several import options that developers can tweak and play around with to match their required settings.

Some common file types that game developers often import are FBX for scenes, meshes, animations (exported from Maya and other similar software), movie files, images (mostly for the user interface), textures, sounds, data in CSV files, and fonts. These files may be obtained from the Epic Marketplace or any other means (such as the internet) and used within the project.

Assets can be imported by dragging and dropping them into the Content folder, or by clicking the Import button in the Content Browser.

Now let's tackle an exercise where we'll learn how to import FBX files and see how this is done.

Exercise 2.03: Importing a Character FBX File

This exercise will focus on importing a 3D model from an FBX file. FBX files are widely used to export and import 3D models, along with their materials, animations, and textures.

The following steps will help you complete this exercise:

  1. Download the SK_Mannequin.FBX, ThirdPersonIdle.FBX, ThirdPersonRun.FBX and ThirdPersonWalk.FBX files from the Chapter02 -> Exercise2.03 -> ExerciseFiles directory, which can be found on GitHub.

    Note

    The ExerciseFiles directory can be found on GitHub at the following link: https://packt.live/2IiqTzq.

  2. Open the blank project we created in Exercise 2.01, Creating an Empty C++ Project.
  3. In the Content Browser interface of the project, click Import:
    Figure 2.10: Content Browser Import button

    Figure 2.10: Content Browser Import button

  4. Browse to the directory of the files we downloaded in Step 1, select SK_Mannequin.FBX, and click on the Open button.
  5. Make sure the Import Animations button is unchecked and click the Import All button. You may get a warning here stating that There are no smoothing groups. You can ignore this for now. With that, you have successfully imported a skeletal mesh from an FBX file. Now, we need to import its animations.
  6. Click the Import button again, browse to the folder we created in Step 1, and select ThirdPersonIdle.fbx, ThirdPersonRun.fbx, and ThirdPersonWalk.fbx. Then click on the Open button.
  7. Make sure the skeleton is set to the one you imported in Step 5 and click Import All:
    Figure 2.11: Animation FBX Import Options

    Figure 2.11: Animation FBX Import Options

  8. Now, you can see the three animations (ThirdPersonIdle, ThirdPersonRun, and ThirdPersonWalk) inside the Content Browser.
  9. If you double-click on ThirdPersonIdle, you'll notice that the left arm is hanging down. This means that there's a retargeting issue. When the animations are imported separately from the skeleton, the Unreal Engine internally maps all the bones from the animation to the skeleton but sometimes that results in a glitch. We're now going to resolve this glitch.
    Figure 2.12: ThirdPersonIdle UE4 mannequin animation glitch

    Figure 2.12: ThirdPersonIdle UE4 mannequin animation glitch

  10. Open the SK_Mannequin Skeletal Mesh and open the Skeleton Tree tab if not open previously.
    Figure 2.13: SK_Mannequin Skeleton Tree tab select

    Figure 2.13: SK_Mannequin Skeleton Tree tab select

  11. Under Options enable the Show Retargeting Options checkbox.
    Figure 2.14: Enabling retargeting options

    Figure 2.14: Enabling retargeting options

  12. Now inside the skeleton tree, reduce the spine_01, thigh_l and thigh_r bones to enable better visibility.
  13. Now select the spine_01, thigh_l and thigh_r bones. Right click on them, and in the menu, click the Recursively Set Translation Retargeting Skeleton button. This will fix the bone translation issues we encountered before.
  14. Re-open the ThirdPersonIdle Animation to verify the hanging arm has been fixed.
    Figure 2.15: Fixed ThirdPersonIdle Animation

Figure 2.15: Fixed ThirdPersonIdle Animation

Note

You can locate the complete exercise code files on GitHub in the Chapter02 -> Exercise2.03 -> Ex2.03-Completed.rar directory by going to the following link: https://packt.live/2U8AScR

After extracting the .rar file, double-click the .uproject file. You will see a prompt asking Would you like to rebuild now?. Click Yes on that prompt so that it can build the necessary intermediate files, after which it should open the project in Unreal Editor automatically.

By completing this exercise, you've understood how to import assets and, more specifically, imported an FBX skeletal mesh and animation data into your project. This is crucial for the workflows of many game developers as assets are the building blocks of the entire game.

In the next section, we'll be looking at the Unreal core classes for creating a game, how important they are for creating a game or experience, and how to use them inside a project.