You are previewing Mastering Unreal Engine 4.X.
O'Reilly logo
Mastering Unreal Engine 4.X

Book Description

Take your game development skills to the next level with one of the best engines on the market

About This Book

  • Build an entire AAA game level throughout the book

  • Take your C++ scripting skills to the next level and use them extensively to build the game

  • An advanced practical guide with a tutorial style approach that will help you make the best of Unreal engine 4

  • Who This Book Is For

    This book is for game developers who have a basic knowledge of Unreal Engine and C++ scripting knowledge. If you want to take the leap from a casual game developer to a full-fledged professional game developer with Unreal Engine 4, this is the book for you.

    What You Will Learn

  • Script your player controls in C++

  • Build a superb and engaging level with advanced design techniques

  • Program AI with C++

  • Use Cascade to add life to your games

  • Use custom shaders and advanced shading techniques to make things pretty

  • Implement an awesome UI in the game

  • Control gameplay using data tables

  • In Detail

    Unreal Engine 4 has garnered a lot of attention in the gaming world because of its new and improved graphics and rendering engine, the physics simulator, particle generator, and more. This book is the ideal guide to help you leverage all these features to create state-of-the-art games that capture the eye of your audience.

    Inside we’ll explain advanced shaders and effects techniques and how you can implement them in your games. You’ll create custom lighting effects, use the physics simulator to add that extra edge to your games, and create customized game environments that look visually stunning using the rendering technique. You’ll find out how to use the new rendering engine efficiently, add amazing post-processing effects, and use data tables to create data-driven gameplay that is engaging and exciting.

    By the end of this book, you will be able to create professional games with stunning graphics using Unreal Engine 4!

    Style and approach

    An advanced guide that will take you to the next level of developing games with Unreal engine with illustrative examples that will make you confident of creating customized professional level games on your won.

    Downloading the example code for this book. You can download the example code files for all Packt books you have purchased from your account at http://www.PacktPub.com. If you purchased this book elsewhere, you can visit http://www.PacktPub.com/support and register to have the code file.

    Table of Contents

    1. Mastering Unreal Engine 4.X
      1. Table of Contents
      2. Mastering Unreal Engine 4.X
      3. Credits
      4. About the Author
      5. Acknowledgments
      6. About the Reviewer
      7. www.PacktPub.com
        1. eBooks, discount offers, and more
          1. Why subscribe?
      8. Preface
        1. What this book covers
        2. What you need for this book
        3. Who this book is for
        4. Conventions
        5. Reader feedback
        6. Customer support
          1. Downloading the example code
          2. Downloading the color images of this book
          3. Errata
          4. Piracy
          5. Questions
      9. 1. Preparing for a Big Project
        1. Overview of the game
        2. Creating a C++ project
        3. The project settings
        4. The editor settings
        5. Mapping the inputs
        6. Migrating assets
        7. Using MarketPlace assets
        8. Retargeting animations
        9. Summary
      10. 2. Setting Up Your Warrior
        1. The code project
        2. Creating the C++ class
        3. Editing and adding code
        4. The Gladiator header (.h) file
        5. The Gladiator source (.cpp) file
          1. The includes
          2. The constructor
          3. BeginPlay
          4. SetupPlayerInputComponent
          5. Jump
          6. StopJumping
          7. OnAttack
          8. OnPostAttack
          9. OnChangeWeapon
          10. TurnAtRate
          11. LookUpAtRate
          12. OnSetPlayerController
          13. OnChangeHealthByAmount
          14. MoveForward
          15. MoveRight
        6. Compiling the code
        7. Animation assets
          1. Adding sockets to the skeleton
          2. Creating the blend space
          3. The animation blueprint
        8. Building the blueprint
        9. Adding the blueprint to the GameMode
        10. Summary
      11. 3. Designing Your Playground
        1. The art of level design
          1. Placing assets into the world
          2. Using brushes to enhance level design
          3. Adding lights to the level
        2. Building lightmaps for a level
          1. Creating water surfaces
        3. Player Start
        4. The navigation mesh
        5. Summary
      12. 4. The Road to Thinkable AI
        1. The overall idea
        2. The AI assets
          1. Behavior Tree
          2. BTTask
          3. BTService
          4. Blackboard
        3. The animation blueprint
        4. Building the C++ logic
        5. EnemyAIController
          1. EnemyAIController.h
          2. EnemyAIController.cpp
        6. Enemy
          1. Enemy.h
          2. Enemy.cpp
        7. Building the behavior tree
        8. Creating the blueprint
        9. Adding notifies
        10. What else?
        11. Summary
      13. 5. Adding Collectables
        1. The idea behind collectables
        2. The base class
          1. PickupBase.h
          2. PickupBase.cpp
        3. The coin class
          1. CoinPickup.h
          2. CoinPickup.cpp
        4. Making it collectable
        5. Building the blueprint
        6. Going forward
        7. Summary
      14. 6. The Magic of Particles
        1. The particles editor
        2. Toolbar
        3. The viewport panel
        4. The emitters panel
        5. The details panel
          1. Particle system
            1. Thumbnail
            2. LOD
            3. Bounds
            4. Delay
            5. Macro UV
            6. Occlusion
            7. Materials
          2. The particle emitter
            1. Particle
            2. Cascade
          3. Particle modules
            1. Cascade
        6. Curve Editor
          1. Interpolation modes
          2. Organizing curves
            1. Adding curves to the graph
            2. Removing curves from the graph
            3. Organizing the curve editor with tabs
        7. Spawning particles
        8. Changing parameters at runtime
        9. Summary
      15. 7. Enhancing the Visual Quality
        1. The lightmass
        2. The Swarm Agent
        3. The ambient occlusion
          1. AO settings
        4. Lightmass settings
          1. World Settings
          2. Importance volume settings
        5. The post process project settings
          1. The post process volume
            1. The properties
          2. The available effects
        6. Reflection Capture
          1. Reflection Capture actors
        7. The fog effects
          1. Atmospheric Fog
            1. Adding it
          2. Exponential Height Fog
            1. Adding it
        8. Summary
      16. 8. Cinematics and In-Game Cutscenes
        1. Matinee actor (cinematic actor)
          1. Matinee Editor
          2. Groups
          3. Tracks
        2. Bellz cinematic
        3. The animated fog
          1. Color
          2. Animating exponential height fog
          3. Saving the cinematic as video
        4. Summary
      17. 9. Implementing the Game UI
        1. UMG as Unreal's UI system
        2. The game UI widget
        3. UMG Designer
          1. The Toggle mode
          2. Palette
          3. The hierarchy
          4. Animations
          5. Canvas
          6. The Details panel
        4. Constructing the UI
        5. Adding animations to the UI
        6. Connecting the UI with the game logic
        7. What else?
        8. Summary
      18. 10. Save the Game Progress
        1. Building the SaveGame class
        2. Saving and loading game data in C++
        3. The *.sav file
        4. Saving and loading game data in blueprints
        5. Summary
      19. 11. Controlling Gameplay via Data Tables
        1. Data table sheets
        2. Creating the data table asset
        3. Creating a data structure
        4. Blueprint data structure
        5. C++ data structure
          1. GameDataTables.h
          2. GameDataTables.cpp
        6. Reading from data tables
          1. Reading data through C++
          2. Reading through blueprints
        7. Summary
      20. 12. Ear Candy
        1. Importing audio files
        2. Sound assets
          1. Dialogue Voice
          2. Dialogue Wave
          3. Media sound wave
          4. Reverb effect
          5. Sound attenuation
          6. Sound Class
          7. Sound cue
          8. Sound mixes
        3. Sound cue editor
        4. Audio volumes
        5. Playing sound effects
        6. Summary
      21. 13. Profiling the Game Performance
        1. The blueprint debugger
        2. The Collision Analyzer
        3. The console
        4. The FPS charts
        5. The view modes and visualizers
        6. The GPU visualizer
        7. The Device Manager
        8. Device Profiles
        9. Summary
      22. 14. Packaging the Game
        1. Preparing the project for building
        2. Packaging settings
        3. Maps & Modes settings
        4. Description settings
        5. Platform settings
        6. Adding different screens
        7. Packaging the game
        8. Cooking the content
        9. Project Launcher and DLCs
        10. Packaging a release
        11. Packaging a patch or DLC
        12. Summary
      23. Index