Muutke küpsiste eelistusi

Game Development and Simulation with Unreal Technology, Second Edition 2nd edition [Pehme köide]

(Digital gaming and Sims Program Dir, University of Houston-Victoria)
  • Formaat: Paperback / softback, 736 pages, kõrgus x laius: 234x156 mm, kaal: 1580 g, 18 Tables, black and white
  • Ilmumisaeg: 20-Dec-2018
  • Kirjastus: CRC Press
  • ISBN-10: 1138092193
  • ISBN-13: 9781138092198
  • Formaat: Paperback / softback, 736 pages, kõrgus x laius: 234x156 mm, kaal: 1580 g, 18 Tables, black and white
  • Ilmumisaeg: 20-Dec-2018
  • Kirjastus: CRC Press
  • ISBN-10: 1138092193
  • ISBN-13: 9781138092198
Dr. Alireza Tavakkolis Game Development and Simulation with Unreal Technology covers the latest version of Unreal Technology. Since the 1990s Epic Games, Inc. has been leading the revolution of gaming graphics and Artificial Intelligence. Now, unreal technology is one of the most potent and prominent engines that is currently used in games. Its influence can be spotted in classic triple A titles like, Fortnite, Gears of War 2, Borderlands 2, and XCOM: Enemy Unknown.

Tavakkoli goes into detail concerning the creation of game level designs, blueprint coding, shader programing, as well as artificial intelligence concepts to help readers in creating their own games. Game Development also includes a number of practice friendly extensions and concept modules to help solidify the readers understanding of concepts and techniques. The book is divided into three sections that act as building blocks in order to facilitate the comprehension of the material.

Key Features:











Provides beginner level through advanced concepts in blueprint programming with the Unreal Engine 4.18





Hundreds of small/mid-scale projects developed as concept examples throughout the book which can be utilized in more comprehensive entertaining interactive computer simulations and games





Chapter exercises will take the readers understanding of Unreal Engine to the next level.
Preface xv
Contributor xxiii
Acknowledgments xxv
SECTION I Unreal Technology Basics: Introductory Development Techniques
Chapter 1 Setting Up Unreal Project Templates
3(24)
1.1 Introduction
3(1)
1.2 Unreal Project Types
3(1)
1.3 Blank Projects and Content Migration
4(6)
1.4 First Person Projects
10(4)
1.5 Third Person
14(3)
1.6 Side Scroller
17(3)
1.7 Top Down Templates
20(4)
1.8 Summary
24(1)
1.9 Exercises
24(3)
Chapter 2 Introduction to Level Design in Unreal
27(58)
2.1 Introduction and Objectives
27(1)
2.2 Establishing the Geometry
27(28)
2.2.1 Geometry Brush Overview
33(22)
2.3 Improving the Level Aesthetics with Materials
55(5)
2.4 Refining the Geometry and Adding Meshes
60(7)
2.5 Refining the Level with Lighting
67(3)
2.6 Adding Functionality
70(12)
2.7 Summary
82(1)
2.8 Exercises
82(3)
Chapter 3 Unreal Blueprints
85(40)
3.1 Introduction to Unreal Blueprints
85(1)
3.2 A Tour of Unreal Blueprint Editor
85(1)
3.2.1 Graph Editor
85(1)
3.3 Types of Blueprints
85(7)
3.3.1 Level Blueprints
86(1)
3.3.2 Class Blueprint
87(1)
3.3.3 Data-Only Blueprints
87(5)
3.4 Variables, Functions, and Events
92(1)
3.4.1 Events
92(1)
3.4.2 Functions
93(1)
3.4.3 Variables
93(1)
3.5 Class Blueprints vs. Level blueprints
93(4)
3.6 Construction Script
97(1)
3.7 Components Mode
97(9)
3.7.1 Components
97(1)
3.7.2 Components Events and Functions
98(8)
3.8 Creating Your Own Class blueprints
106(4)
3.9 User Input and Interaction
110(12)
3.9.1 Action Mappings
110(1)
3.9.2 Axis Mappings
111(11)
3.10 Summary
122(1)
3.11 Exercises
123(2)
Chapter 4 Materials in Unreal Technology
125(136)
4.1 Introduction
125(1)
4.2 What Is a Material?
125(2)
4.2.1 Materials vs. Textures
126(1)
4.2.2 Texture Coordinates (UVs)
127(1)
4.3 Unreal Material Editor
127(2)
4.3.1 The Toolbar
128(1)
4.3.2 Preview Window
128(1)
4.3.3 Graph Canvas
128(1)
4.3.4 Details Panel
129(1)
4.3.5 Expressions Palette
129(1)
4.4 Physically Based Materials in Unreal Engine 4
129(1)
4.5 Anatomy of an Unreal Engine 4 Material
130(48)
4.5.1 Material Nodes
131(1)
4.5.2 Material Channels
131(16)
4.5.3 Material Shading Models
147(1)
4.5.4 Material Domain
148(1)
4.5.5 Material Blend Mode
149(29)
4.6 Material Expressions in Unreal 4
178(78)
4.6.1 Parameter vs. Non-Parameter Expressions
180(1)
4.6.2 Commonly Used Material Expressions
180(1)
4.6.2.1 Constant Expressions
181(1)
4.6.2.2 Mathematical Expressions
182(24)
4.6.2.3 Coordinate Expressions
206(16)
4.6.2.4 Depth Expressions
222(1)
4.6.2.5 Font Expressions
223(1)
4.6.2.6 Parameter Expressions
224(3)
4.6.2.7 Particle Expressions
227(1)
4.6.2.8 Texture Expressions
228(6)
4.6.2.9 Utility Expressions
234(21)
4.6.2.10 Vector Expressions
255(1)
4.7 Summary
256(1)
4.8 Exercises
257(4)
SECTION II Making Game Worlds Stand Out: Intermediate Development Concepts
Chapter 5 Advanced Material Concepts
261(28)
5.1 Introduction
261(1)
5.2 More about Unreal Engine's Shading Models
261(2)
5.2.1 Default Lit
261(1)
5.2.2 Unlit
262(1)
5.2.3 Subsurface
262(1)
5.2.4 Preintegrated Skin
263(1)
5.2.5 Clear Coat
263(1)
5.2.6 Subsurface Profile
263(1)
5.3 Material Blend Modes
263(2)
5.3.1 Opaque Blend Mode
264(1)
5.3.2 Masked Blend Mode
264(1)
5.3.3 Translucent Blend Mode
264(1)
5.3.4 Additive Blend Mode
264(1)
5.3.5 Modulate Blend Mode
265(1)
5.4 More Advanced Material Expressions
265(12)
5.4.1 Parameter Expressions
265(5)
5.4.2 Particle Expressions
270(7)
5.5 Blends
277(1)
5.6 Physically Based Materials in Unreal Engine 4
278(1)
5.7 Material Functions in Unreal Engine 4
279(3)
5.8 Material Attributes Expressions
282(1)
5.9 Layered Materials
283(3)
5.9.1 Material Layer Blend Types
284(2)
5.10 Material Instances and Dynamic Material Modifications...
286(1)
5.11 Decals
286(1)
5.11.1 Decal Blend Mode
286(1)
5.12 Post Process Materials
287(1)
5.13 Refraction and Reflection
287(1)
5.14 Summary
288(1)
Chapter 6 Visual Effects in Unreal Engine
289(76)
6.1 Introduction
289(1)
6.2 Anatomy of Visual Effects
289(3)
6.2.1 Particles
289(1)
6.2.2 Particle System
290(1)
6.2.3 Emitter Actor
290(1)
6.2.4 Emitter
290(1)
6.2.5 Module
290(2)
6.2.6 Particle System Component
292(1)
6.2.7 Distributions
292(1)
6.3 Unreal Cascade Particle System Editor
292(3)
6.3.1 Simulation Viewport
294(1)
6.3.2 Emitters List
294(1)
6.3.3 Details Panel
295(1)
6.3.4 Curve Editor
295(1)
6.4 Particle Specific Materials Setup
295(1)
6.4.1 Particle Expressions
296(1)
6.5 CPU-Based Sprite Emitters
296(29)
6.6 GPU-Based Sprite Emitters
325(10)
6.6.1 GPU vs. CPU Particles
325(10)
6.7 Working with Sub UVs
335(17)
6.8 Particle Type Data Modules
352(10)
6.8.1 GPU Sprites Type Data
352(3)
6.8.2 Beam Type Data
355(2)
6.8.3 Mesh Type Data
357(3)
6.8.4 Ribbon Type Data
360(2)
6.9 Summary
362(1)
6.10 Exercises
362(3)
Chapter 7 Designing Terrains and Outdoor Environments
365(114)
7.1 Introduction to Landscapes
365(1)
7.2 Landscape Setup
366(5)
7.2.1 Creating A Landscape
367(1)
7.2.2 The Landscape Manage Tab (Creation Mode)
368(3)
7.3 Landscape Materials
371(47)
7.3.1 How Landscape Materials Blend
377(1)
7.3.2 Landscape Material Expressions
378(40)
7.4 Editing Landscapes
418(8)
7.4.1 Landscape Sculpt Mode
418(5)
7.4.2 Landscape Paint Mode
423(2)
7.4.3 Manage Mode
425(1)
7.5 Landscape Splines
426(14)
7.5.1 Creating Splines
427(1)
7.5.2 Joining Splines
427(1)
7.5.3 Splitting Splines
427(1)
7.5.4 Assigning Static Mesh Actors to Splines
427(1)
7.5.5 Editing Splines
428(1)
7.5.6 Applying Splines to a Landscape
428(12)
7.6 Foliage and Foliage Editor
440(19)
7.6.1 Foliage Tools
442(3)
7.6.2 Culling Instances
445(14)
7.7 Water in the Landscape
459(14)
7.8 Summary
473(1)
7.9 Exercises
474(5)
SECTION III Example Games: Advanced Game Development Concepts
Chapter 8 Advanced Blueprint Concepts
479(56)
8.1 Introduction
479(1)
8.2 Communication between Blueprints
479(2)
8.2.1 Direct Blueprint Communication
479(1)
8.2.2 Blueprint Casting
479(1)
8.2.3 Event Dispatchers
480(1)
8.2.4 Blueprint Interfaces
481(1)
8.3
Chapter Synopsis
481(19)
8.4 Creating The HUD
500(19)
8.5 Saving and Loading Game Data
519(15)
8.6 Summary
534(1)
Chapter 9 A Top-Down Game with Blueprints
535(70)
9.1 Synopsis
535(1)
9.2 Setting Up the Level
536(1)
9.3 Character, Controller, and Game Mode Blueprints
537(6)
9.4 Character Movement and User Input
543(6)
9.5 Projectile Class Blueprint and Functionality
549(15)
9.5.1 Firing Mechanism
552(7)
9.5.2 Setting Up Collisions
559(5)
9.6 Creating the Enemy Class and Implementing Damage
564(9)
9.6.1 Enemy Damage Implementation
566(3)
9.6.2 Implementing the Player Damage
569(4)
9.7 Implementing Game Over!!!
573(3)
9.8 AI and Enemy Spawning
576(13)
9.8.1 Spawning Enemies
576(6)
9.8.2 Setting Up Enemy Artificial Intelligence
582(7)
9.9 Particle Systems and Visual Effects
589(14)
9.9.1 Destruction Visual Effects
589(2)
9.9.2 Hit Visual Effects
591(12)
9.10 Summary
603(2)
Appendix A Unreal Engine 4 Material Expressions Reference 605(1)
Appendix A 605(44)
A.1 Introduction
605(1)
A.2 Atmosphere Expressions
605(1)
A.3 Color
605(1)
A.4 Constant Expressions
606(3)
A.5 Coordinate Expressions
609(3)
A.6 Depth Expressions
612(1)
A.7 Font Expressions
613(1)
A.8 Function
614(2)
A.9 Material Attributes Expressions
616(1)
A.10 Math Expression
617(10)
A.11 Parameters Expressions
627(5)
A.12 Particles
632(4)
A.12.1 Particle Macro UV
633(3)
A.13 Landscape
636(2)
A.14 Texture
638(2)
A.15 Utility
640(7)
A.16 Vector Operations
647(1)
A.17 Vector Expressions
647(2)
Appendix B Distributions in Unreal Engine 4 649(8)
Appendix B
649(1)
B.1 Introduction
649(1)
B.2 Float Distributions
649(2)
B.2.1 DistributionFloatConstant
649(1)
B.2.2 DistributionFloatUniform
649(1)
B.2.3 DistributionFloatConstantCurve
650(1)
B.2.4 DistributionFloatUniformCurve
650(1)
B.2.5 DistributionFloatParticleParam
651(1)
B.3 Vector Distributions
651(6)
B.3.1 Distribution VectorConstant
652(1)
B.3.2 DistributionVectorUniform
653(1)
B.3.3 DistributionVectorConstantCurve
653(1)
B.3.4 Distribution VectorUniformCurve
654(1)
B.3.5 Distribution VectorParticleParam
655(2)
Appendix C The Curve Editor in Unreal Engine 4 657(6)
Appendix C
657(1)
C.1 Introduction
657(1)
C.2 Curve Editor Layout
657(1)
C.3 Curve Editor Controls
657(2)
C.3.1 Mouse Controls
657(1)
C.3.2 Keyboard Controls
658(1)
C.3.3 Shortcuts
658(1)
C.4 Interpolation Modes
659(4)
C.4.1 Auto
659(1)
C.4.2 Auto Clamped
659(1)
C.4.3 User
660(1)
C.4.4 Break
660(1)
C.4.5 Linear
661(1)
C.4.6 Constant
661(2)
References 663(4)
Index 667
Dr. Alireza Tavakkoli is an Associate Professor of Computer Science at the University of Nevada, Reno. He teaches undergraduate and graduate courses in Computer Science, Computer Engineering, and Digital Gaming and Simulation. His research interests include Artificial Intelligence, Visual Computing, Robotics and Teleoperation, and Digital Gaming and Simulation. Prior to joining the University of Nevada, Reno, he served as a tenured professor of computer science at the University of Houston-Victoria and was the founding director of the Computation and Advanced Visualization Engineering Laboratory, where undergraduate and graduate students utilize a state-of-the-art motion capture studio for research in entertainment and serious gaming application.