logo资料库

Learning Unreal Engine Game Development.pdf

第1页 / 共274页
第2页 / 共274页
第3页 / 共274页
第4页 / 共274页
第5页 / 共274页
第6页 / 共274页
第7页 / 共274页
第8页 / 共274页
资料共274页,剩余部分请下载后查看
Cover
Copyright
Credits
About the Author
About the Reviewers
www.PacktPub.com
Table of Contents
Preface
Chapter 1: An Overview of Unreal Engine
What goes into a game?
What is a game engine?
The history of Unreal Engine
Game development
Artists
Cinematic creators
Sound designers
Game designers
Programmers
The components of Unreal Engine 4
The sound engine
The physics engine
The graphics engine
Input and the Gameplay framework
Light and shadow
Post-process effects
Artificial intelligence
Online and multiplatform capabilities
Unreal Engine and its powerful editors
Unreal Editor
Material Editor
The Cascade particle system
The Persona skeletal mesh animation
Landscape – building large outdoor worlds and foliage
Sound Cue Editor
Matinee Editor
The Blueprint visual scripting system
Unreal programming
Unreal objects
A beginner's guide to the Unreal Editor
The start menu
Project Browser
Content Browser
Toolbar
Viewport
Scene Outliner
Modes
Summary
Chapter 2: Creating Your First Level
Exploring preconfigured levels
Creating a new project
Navigating the viewport
Views
Control keys
Creating a level from a new blank map
Creating the ground using the BSP Box brush
Useful tip – selecting an object easily
Useful tip – changing View Mode to aid visuals
Adding light to a level
Useful tip – positioning objects in a level
Adding the sky to a level
Adding Player Start
Useful tip – rotating objects in a level
Viewing a level that's been created
Saving a level
Configuring a map as a start level
Adding material to the ground
Adding a wall
Duplicating a wall
Creating an opening for a door
Adding materials to the walls
Sealing a room
Adding props or a static mesh to the room
Adding Lightmass Importance Volume
Applying finishing touches to a room
Useful tip – using the drag snap grid
Summary
Chapter 3: Game Objects – More and Move
BSP Brush
Background
Brush type
Brush solidity
Static Mesh
BSP Brush versus Static Mesh
Making Static Mesh movable
Materials
Creating a Material in Unreal
Materials versus Textures
Texture/UV mapping
How to create and use a Texture Map
Multitexturing
A special form of texture maps – Normal Maps
Level of detail
Collisions
Collision configuration properties
Simulation Generates Hit Events
Generate Overlap Events
Collision Presets
Collision Enabled
Object Type
Collision Responses
Collision hulls
Interactions
Static Mesh creation pipeline
Introducing volumes
Blocking Volume
Camera Blocking Volume
Trigger Volume
Nav Mesh Bounds Volume
Physics Volume
Pain Causing Volume
Kill Z Volume
Level Streaming Volume
Cull Distance Volume
Audio Volume
PostProcess Volume
Lightmass Importance Volume
Introducing Blueprint
Level Blueprint
Using the Trigger Volume to turn on/off light
Using Trigger Volume to toggle light on/off (optional)
Summary
Chapter 4: Material and Light
Materials
The Material Editor
The rendering system
Physical Based Shading Model
High Level Shading Language
Getting started
Creating a simple custom material
Creating custom materials using a simple texture
Using custom materials to transform the level
Rendering pipeline
Shaders
APIs – DirectX and OpenGL
DirectX
DirectX12
Lights
Configuring a Point Light with more settings
Attenuation Radius
Intensity
Color
Adding and configuring a Spot Light
Inner cone and outer cone angle
Using the IES Profile
Downloading IES Light Profiles
Importing IES Profiles into the Unreal Engine Editor
Using IES Profiles
Adding and configuring a Directional Light
Example – adding and configuring a Sky light
Static, stationary, or movable lights
Common light/shadow definitions
Static Light
Stationary Light
Movable Light
Exercise – extending your game level (optional)
Useful tips
Guidelines
Summary
Chapter 5: Animation and AI
What is animation?
Understanding how to animate a 3D model
Preparing before animation
How is animation created?
What Unreal Engine 4 offers for animation in games
Importing animation from Maya/3ds Max
Tutorial – importing the animation pack from Marketplace
What can you do with Persona?
Tutorial – assigning existing animation to a Pawn
Why do we need to blend animations?
Tutorial – creating a Blend Animation
Tutorial – setting up the Animation Blueprint to use a Blend Animation
Artificial intelligence
Understanding a Behavior Tree
Exercise – designing the logic of a Behavior Tree
Example – creating a simple Behavior Tree
How to implement a Behavior Tree in Unreal Engine 4
Navigation Mesh
Tutorial – creating a Navigation Mesh
Tutorial – setting up AI logic
Creating the Blueprint AIController
Creating the Blueprint character
Adding and configuring Mesh to a Character Blueprint
Linking AIController to the Character Blueprint
Adding basic animation
Configuring AIController
Adjusting movement speed
Creating the BlackBoardData
Creating a Behavior Tree
Creating a simple BT using a Wait task
Using the Behavior Tree
Creating a custom task for the Behavior Tree
Using the PickTargetLocation custom task in BT
Replacing the Wait task with Move To
Implementing AI in games
Summary
Chapter 6: A Particle System and Sound
What is a particle system?
Exploring an existing particle system
The main components of a particle system
Modules
The design principles of a particle system
Research
The iterative creative process
Example – creating a fireplace particle system
Crafting P_Fireplace
Observing the solo emitters of the system
Deleting non-essential emitters
Focusing on editing the Flame emitter
Looking at the complete particle system
Sound and music
How do we produce sound and music for games?
Audio quality
How are sounds recorded?
The Unreal audio system
Getting audio into Unreal
The audio format
The sampling rate
Bit depth
Supported sound channels
Unreal sound formats and terminologies
The Sound Cue Editor
How to open the Sound Cue Editor
Exercise – importing a sound into the Unreal Editor
Exercise – adding custom sounds to a level
Configuring the Sound Cue Editor
Summary
Chapter 7: Terrain and Cinematics
Introducing terrain manipulation
Exercise – creating hills using the Landscape tool
Landscape creation options
Multiple landscapes
Using custom material
Importing height maps and layers
Scale
The number of components
Section Size
Introducing cinematics
Why do we need cut scenes?
Cinematic techniques
Adjusted camera functions
Zoom
Field of view
Depth of field
Camera movement
Tilt
Pan
Dolly/track/truck
Pedestal
Capturing a scene
Lighting
Framing
Shot plan
Getting familiar with the Unreal Matinee Editor
Exercise – creating a simple matinee sequence
Summary
Index
Learning Unreal Engine Game Development A step-by-step guide that paves the way for developing fantastic games with Unreal Engine 4 Joanna Lee BIRMINGHAM - MUMBAI
Learning Unreal Engine Game Development Copyright © 2016 Packt Publishing All rights reserved. No part of this book may be reproduced, stored in a retrieval system, or transmitted in any form or by any means, without the prior written permission of the publisher, except in the case of brief quotations embedded in critical articles or reviews. Every effort has been made in the preparation of this book to ensure the accuracy of the information presented. However, the information contained in this book is sold without warranty, either express or implied. Neither the author, nor Packt Publishing, and its dealers and distributors will be held liable for any damages caused or alleged to be caused directly or indirectly by this book. Packt Publishing has endeavored to provide trademark information about all of the companies and products mentioned in this book by the appropriate use of capitals. However, Packt Publishing cannot guarantee the accuracy of this information. First published: February 2016 Production reference: 1240216 Published by Packt Publishing Ltd. Livery Place 35 Livery Street Birmingham B3 2PB, UK. ISBN 978-1-78439-815-6 www.packtpub.com
Credits Author Joanna Lee Reviewers Michele Bertolini Kyle Langley Daniel Jonathan Valik Commissioning Editor Edward Bowkett Acquisition Editor Subho Gupta Content Development Editor Preeti Singh Technical Editor Ankita Thakur Copy Editor Sonia Cheema Project Coordinator Shweta H. Birwatkar Proofreader Safis Editing Indexer Tejal Daruwale Soni Production Coordinator Nilesh Mohite Cover Work Nilesh Mohite
About the Author Joanna Lee has more than 8 years of experience in game development. She has designed and programmed various video games. She first started working with Unreal's game engine in 2005 and is very excited to be able to author a book about the newest Unreal Engine 4. She has also worked with many other engines as well as reviewed books and videos on Cry Engine 4. I would like to thank my parents and sister for their constant support in my game development journey and my brother, Jerome, who first drew me into the world of gaming. I also want to thank all my ex-colleagues and managers for their patience while teaching me about developing games and making each work day a pleasure. Lastly, I would also like to thank the amazing team at Packt Publishing for guiding me through the publishing process and making this book possible.
About the Reviewers Michele "Budello" Bertolini always had a passion for videogames, but his way into the industry had been long and strange. In his youth, he was more interested in becoming a professional volleyball player despite studying computer science and computer graphics. Then, he stopped growing and he only had one choice left. Michele's education and background are strongly technical due to his master's in computer engineering degree. Through the course of his career, he's developed various artistic skills, passing drawing and photography courses. He's also a keen observer of nature. He thinks of himself as a technical guy with a good taste. 34BigThings is a small indie company based in Turin, Italy. Currently, it's involved in two titles: Redout, a tribute to old racing monsters, such as F-Zero, WipeOut, Rollcage, and POD and Hyperdrive Massacre, an 80s inspired multiplayer fragfest for up to four local players, which is focused on kinesthetic, tactical, and shooting skills. I'd like to thank all the guys and gals in 34BigThings: first friends, then coworkers. Kyle Langley is a self-taught game designer currently working for Vex Studios. He has also worked with Emotional Robots Inc, Sony Online Entertainment, and High Moon Studios. He is the author of Learn Programming With Unreal Script, which is aimed at teaching beginners the concept of object-oriented programming as well as the initial aspects of programming for the Unreal Development Kit. He was also the technical reviewer of Source SDK Game Development Essentials, Packt Publishing. You can find more about him on his website (www.dotvawxgames.com).
Daniel Jonathan Valik is an industry expert in the areas of Unified/Universal Communications, IaaS, SaaS, DevOps, Cloud Native Apps, WebRTC, Cloud Voice and Business Voice, mobile computing, social networking and UC-enabled Contact Center technologies. Daniel has driven these topics for more than 15 years in the IT and telecommunication industries, and he has also lived and worked in different regions, such as Europe, Southeast Asia, and the United States. Daniel is currently a senior technical product marketing manager for Cloud Native Apps, DevOps and Cloud Technologies at the VMWare HQ in Palo Alto, California. He was previously the senior technical product marketing manager for the Skype Developer Platform and Skype for Business Online at the Skype/Microsoft HQ in Redmond, Washington, USA. As part of the Skype product team, Daniel drove the positioning of Skype for Business, Online, Developer Platform, a UC-enabled contact center, and other emerging technologies. He holds a number of technical certifications, including Microsoft Certified Trainer; he has a double master's degree (MBA), a master's degree (MAS) in general business, and additionally holds a degree in international business management.
www.PacktPub.com Support files, eBooks, discount offers, and more For support files and downloads related to your book, please visit www.PacktPub.com. Did you know that Packt offers eBook versions of every book published, with PDF and ePub files available? You can upgrade to the eBook version at www.PacktPub. com and as a print book customer, you are entitled to a discount on the eBook copy. Get in touch with us at service@packtpub.com for more details. At www.PacktPub.com, you can also read a collection of free technical articles, sign up for a range of free newsletters and receive exclusive discounts and offers on Packt books and eBooks. TM https://www2.packtpub.com/books/subscription/packtlib Do you need instant solutions to your IT questions? PacktLib is Packt's online digital book library. Here, you can search, access, and read Packt's entire library of books. Why subscribe? • Fully searchable across every book published by Packt • Copy and paste, print, and bookmark content • On demand and accessible via a web browser Free access for Packt account holders If you have an account with Packt at www.PacktPub.com, you can use this to access PacktLib today and view 9 entirely free books. Simply use your login credentials for immediate access.
分享到:
收藏