List of Figures |
|
xv | |
List of Tables |
|
xxvii | |
Preface |
|
xxxi | |
Acknowledgments |
|
xxxix | |
Section I Unreal Technology Basics: Introductory Development Techniques |
|
|
Chapter 1 Setting up Unreal Project Templates |
|
|
3 | (24) |
|
|
3 | (1) |
|
|
3 | (1) |
|
1.3 Blank Projects and Content Migration |
|
|
4 | (6) |
|
1.4 First Person Projects |
|
|
10 | (4) |
|
|
14 | (3) |
|
|
17 | (2) |
|
|
19 | (5) |
|
|
24 | (1) |
|
|
25 | (2) |
|
Chapter 2 Introduction to Level Design in Unreal Technology |
|
|
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 | (8) |
|
2.5 Refining the Level with Lighting |
|
|
68 | (3) |
|
|
71 | (11) |
|
|
82 | (1) |
|
|
83 | (2) |
|
Chapter 3 Unreal Visual Scripting with Blueprints |
|
|
85 | (40) |
|
3.1 Introduction to Unreal Blueprints |
|
|
85 | (1) |
|
3.2 A Tour of Unreal Blueprint Editor |
|
|
85 | (1) |
|
|
85 | (1) |
|
|
86 | (6) |
|
|
86 | (1) |
|
|
87 | (1) |
|
3.3.3 Data-Only Blueprint |
|
|
87 | (5) |
|
3.4 Variables, Functions, and Events |
|
|
92 | (2) |
|
|
93 | (1) |
|
|
93 | (1) |
|
|
93 | (1) |
|
3.5 Class Blueprints vs. Level Blueprints |
|
|
94 | (3) |
|
|
97 | (1) |
|
|
98 | (8) |
|
|
98 | (1) |
|
3.7.2 Component Events and Functions |
|
|
98 | (8) |
|
3.8 Creating Your Own Class Blueprints |
|
|
106 | (5) |
|
3.9 User Input and Interaction |
|
|
111 | (12) |
|
|
111 | (1) |
|
|
111 | (12) |
|
|
123 | (1) |
|
|
123 | (2) |
|
Chapter 4 Materials in Unreal Engine |
|
|
125 | (144) |
|
|
125 | (1) |
|
4.2 Anatomy of 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) |
|
|
128 | (1) |
|
|
128 | (1) |
|
|
128 | (1) |
|
|
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 | (50) |
|
|
130 | (1) |
|
|
130 | (17) |
|
4.5.3 Material Shading Models |
|
|
147 | (1) |
|
|
148 | (1) |
|
4.5.5 Material Blend Mode |
|
|
149 | (31) |
|
4.6 Material Expressions in Unreal 4 |
|
|
180 | (85) |
|
4.6.1 Parameter vs. Non-Parameter Expressions |
|
|
181 | (1) |
|
4.6.2 Commonly Used Material Expressions |
|
|
182 | (87) |
|
4.6.2.1 Constant Expressions |
|
|
182 | (2) |
|
4.6.2.2 Mathematical Expressions |
|
|
184 | (26) |
|
4.6.2.3 Coordinate Expressions |
|
|
210 | (16) |
|
4.6.2.4 Depth Expressions |
|
|
226 | (1) |
|
|
227 | (1) |
|
4.6.2.6 Parameter Expressions |
|
|
228 | (5) |
|
4.6.2.7 Particle Expressions |
|
|
233 | (1) |
|
4.6.2.8 Texture Expressions |
|
|
234 | (7) |
|
4.6.2.9 Utility Expressions |
|
|
241 | (23) |
|
4.6.2.10 Vector Expressions |
|
|
264 | (1) |
|
|
265 | (1) |
|
|
266 | (3) |
Section II Making Game Worlds Stand Out: Intermediate Development Concepts |
|
|
Chapter 5 Advanced Material Concepts in Unreal Engine |
|
|
269 | (32) |
|
|
269 | (1) |
|
5.2 More About Unreal Engine's Shading Models |
|
|
269 | (2) |
|
|
269 | (1) |
|
|
270 | (1) |
|
|
270 | (1) |
|
|
271 | (1) |
|
|
271 | (1) |
|
|
271 | (1) |
|
|
271 | (2) |
|
|
272 | (1) |
|
|
272 | (1) |
|
5.3.3 Translucent Blend Mode |
|
|
272 | (1) |
|
5.3.4 Additive Blend Mode |
|
|
272 | (1) |
|
5.3.5 Modulate Blend Mode |
|
|
273 | (1) |
|
5.4 More Advanced Material Expressions |
|
|
273 | (13) |
|
5.4.1 Parameter Expressions |
|
|
273 | (7) |
|
5.4.2 Particle Expressions |
|
|
280 | (6) |
|
|
286 | (1) |
|
5.6 Physically Based Materials in Unreal Engine 4 |
|
|
287 | (2) |
|
5.7 Material Functions in Unreal Engine 4 |
|
|
289 | (3) |
|
5.8 Material Attributes Expressions |
|
|
292 | (1) |
|
|
293 | (3) |
|
5.9.1 Material Layer Blend Types |
|
|
295 | (1) |
|
5.10 Material Instances and Dynamic Material Modifications |
|
|
296 | (1) |
|
|
297 | (1) |
|
|
297 | (1) |
|
5.12 Post-Process Materials |
|
|
297 | (1) |
|
5.13 Refraction and Reflection |
|
|
298 | (1) |
|
|
299 | (2) |
|
Chapter 6 Visual Effects and Cascade in Unreal Engine |
|
|
301 | (80) |
|
6.1 Introduction to Visual Effects and Particle Systems Terminologies |
|
|
301 | (1) |
|
6.2 Anatomy of Visual Effects |
|
|
301 | (3) |
|
|
301 | (1) |
|
|
302 | (1) |
|
|
302 | (1) |
|
|
302 | (1) |
|
|
302 | (2) |
|
6.2.6 Particle System Component |
|
|
304 | (1) |
|
|
304 | (1) |
|
6.3 Unreal Cascade Particle System Editor |
|
|
304 | (3) |
|
6.3.1 Simulation Viewport |
|
|
306 | (1) |
|
|
306 | (1) |
|
|
307 | (1) |
|
|
307 | (1) |
|
6.4 Particle Specific Materials Setup |
|
|
307 | (1) |
|
6.4.1 Particle Expressions |
|
|
308 | (1) |
|
6.5 CPU-Based Sprite Emitters |
|
|
308 | (29) |
|
6.6 GPU-based Sprite Emitters |
|
|
337 | (11) |
|
6.6.1 GPU vs. CPU Particles |
|
|
338 | (10) |
|
|
348 | (16) |
|
6.8 Particle Type Data Modules |
|
|
364 | (12) |
|
6.8.1 GPU Sprites Type Data |
|
|
365 | (3) |
|
|
368 | (2) |
|
|
370 | (4) |
|
|
374 | (2) |
|
|
376 | (1) |
|
|
376 | (5) |
|
Chapter 7 Terrains and Landscapes in Unreal Engine |
|
|
381 | (120) |
|
7.1 Introduction to Landscapes |
|
|
381 | (1) |
|
|
382 | (12) |
|
7.2.1 Creating a Landscape |
|
|
383 | (2) |
|
7.2.2 The Landscape Manage Tab (Creation Mode) |
|
|
385 | (9) |
|
|
394 | (42) |
|
7.3.1 How Landscape Materials Blend |
|
|
394 | (1) |
|
7.3.2 Landscape Material Expressions |
|
|
394 | (42) |
|
|
436 | (11) |
|
7.4.1 Landscape Sculpt Mode |
|
|
437 | (6) |
|
7.4.2 Landscape Paint Mode |
|
|
443 | (2) |
|
|
445 | (2) |
|
|
447 | (15) |
|
|
448 | (1) |
|
|
448 | (1) |
|
|
448 | (1) |
|
7.5.4 Assigning Static Mesh Actors to Splines |
|
|
448 | (1) |
|
|
449 | (1) |
|
7.5.6 Applying Splines to a Landscape |
|
|
449 | (13) |
|
7.6 Foliage and Foliage Editor |
|
|
462 | (20) |
|
|
464 | (4) |
|
|
468 | (14) |
|
7.7 Water in the Landscape |
|
|
482 | (15) |
|
|
497 | (1) |
|
|
497 | (4) |
Section III Example Games: Advanced Game Development Concepts |
|
|
Chapter 8 Advanced Blueprint Concepts |
|
|
501 | (58) |
|
|
501 | (1) |
|
8.2 Communication between Blueprints |
|
|
501 | (2) |
|
8.2.1 Direct Blueprint Communication |
|
|
501 | (1) |
|
|
501 | (1) |
|
|
502 | (1) |
|
8.2.4 Blueprint Interfaces |
|
|
503 | (1) |
|
|
503 | (19) |
|
|
522 | (20) |
|
8.5 Saving and Loading Game Data |
|
|
542 | (14) |
|
|
556 | (3) |
|
Chapter 9 A Top-Down Game with Blueprints |
|
|
559 | (72) |
|
|
559 | (1) |
|
|
560 | (1) |
|
9.3 Character, Controller and Game Mode Blueprints |
|
|
561 | (7) |
|
9.4 Character Movement and User Input |
|
|
568 | (5) |
|
9.5 Projectile Class Blueprint and Functionality |
|
|
573 | (14) |
|
|
576 | (6) |
|
9.5.2 Setting up Collisions |
|
|
582 | (5) |
|
9.6 Creating the Enemy Class and Implementing Damage |
|
|
587 | (10) |
|
9.6.1 Enemy Damage Implementation |
|
|
590 | (3) |
|
9.6.2 Implementing the Player Damage |
|
|
593 | (4) |
|
9.7 Implementing Game Over!!! |
|
|
597 | (3) |
|
9.8 AI and Enemy Spawning |
|
|
600 | (14) |
|
|
601 | (6) |
|
9.8.2 Setting up Enemy Artificial Intelligence |
|
|
607 | (7) |
|
9.9 Particle Systems and Visual Effects |
|
|
614 | (14) |
|
9.9.1 Destruction Visual Effects |
|
|
614 | (2) |
|
|
616 | (12) |
|
|
628 | (3) |
Appendix A Material Expressions in Unreal Engine 4 |
|
631 | (44) |
|
|
631 | (1) |
|
A.2 Atmosphere Expressions |
|
|
631 | (1) |
|
|
631 | (1) |
|
|
632 | (3) |
|
A.5 Coordinate Expressions |
|
|
635 | (3) |
|
|
638 | (1) |
|
|
639 | (1) |
|
|
640 | (2) |
|
A.9 Material Attributes Expressions |
|
|
642 | (1) |
|
|
643 | (10) |
|
A.11 Parameter Expressions |
|
|
653 | (5) |
|
|
658 | (4) |
|
|
662 | (2) |
|
|
664 | (2) |
|
|
666 | (7) |
|
|
673 | (1) |
|
|
674 | (1) |
Appendix B Distributions in Unreal Engine 4 |
|
675 | (8) |
|
|
675 | (1) |
|
|
675 | (2) |
|
B.2.1 DistributionFloatConstant |
|
|
675 | (1) |
|
B.2.2 DistributionFloatUniform |
|
|
675 | (1) |
|
B.2.3 DistributionFloatConstantCurve |
|
|
676 | (1) |
|
B.2.4 DistributionFloatUniformCurve |
|
|
676 | (1) |
|
B.2.5 DistributionFloatParticleParam |
|
|
677 | (1) |
|
|
677 | (6) |
|
B.3.1 DistributionVectorConstant |
|
|
678 | (1) |
|
B.3.2 DistributionVectorUniform |
|
|
678 | (1) |
|
B.3.3 DistributionVectorConstantCurve |
|
|
679 | (1) |
|
B.3.4 Distribution VectorUniformCurve |
|
|
679 | (1) |
|
B.3.5 Distribution VectorParticleParam |
|
|
680 | (3) |
Appendix C The Curve Editor in Unreal Engine 4 |
|
683 | (6) |
|
|
683 | (1) |
|
|
683 | (1) |
|
C.3 Curve Editor Controls |
|
|
683 | (1) |
|
|
683 | (1) |
|
|
684 | (1) |
|
|
684 | (1) |
|
|
684 | (5) |
|
|
684 | (1) |
|
|
685 | (1) |
|
|
685 | (1) |
|
|
686 | (1) |
|
|
686 | (1) |
|
|
687 | (2) |
References |
|
689 | (4) |
Index |
|
693 | |