Preface |
|
xv | |
Contributor |
|
xxiii | |
Acknowledgments |
|
xxv | |
|
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 | (3) |
|
|
20 | (4) |
|
|
24 | (1) |
|
|
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) |
|
|
70 | (12) |
|
|
82 | (1) |
|
|
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) |
|
|
85 | (1) |
|
|
85 | (7) |
|
|
86 | (1) |
|
|
87 | (1) |
|
3.3.3 Data-Only Blueprints |
|
|
87 | (5) |
|
3.4 Variables, Functions, and Events |
|
|
92 | (1) |
|
|
92 | (1) |
|
|
93 | (1) |
|
|
93 | (1) |
|
3.5 Class Blueprints vs. Level blueprints |
|
|
93 | (4) |
|
|
97 | (1) |
|
|
97 | (9) |
|
|
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) |
|
|
110 | (1) |
|
|
111 | (11) |
|
|
122 | (1) |
|
|
123 | (2) |
|
Chapter 4 Materials in Unreal Technology |
|
|
125 | (136) |
|
|
125 | (1) |
|
|
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 | (48) |
|
|
131 | (1) |
|
|
131 | (16) |
|
4.5.3 Material Shading Models |
|
|
147 | (1) |
|
|
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) |
|
|
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) |
|
|
256 | (1) |
|
|
257 | (4) |
|
SECTION II Making Game Worlds Stand Out: Intermediate Development Concepts |
|
|
|
Chapter 5 Advanced Material Concepts |
|
|
261 | (28) |
|
|
261 | (1) |
|
5.2 More about Unreal Engine's Shading Models |
|
|
261 | (2) |
|
|
261 | (1) |
|
|
262 | (1) |
|
|
262 | (1) |
|
|
263 | (1) |
|
|
263 | (1) |
|
|
263 | (1) |
|
|
263 | (2) |
|
|
264 | (1) |
|
|
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) |
|
|
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) |
|
|
283 | (3) |
|
5.9.1 Material Layer Blend Types |
|
|
284 | (2) |
|
5.10 Material Instances and Dynamic Material Modifications... |
|
|
286 | (1) |
|
|
286 | (1) |
|
|
286 | (1) |
|
5.12 Post Process Materials |
|
|
287 | (1) |
|
5.13 Refraction and Reflection |
|
|
287 | (1) |
|
|
288 | (1) |
|
Chapter 6 Visual Effects in Unreal Engine |
|
|
289 | (76) |
|
|
289 | (1) |
|
6.2 Anatomy of Visual Effects |
|
|
289 | (3) |
|
|
289 | (1) |
|
|
290 | (1) |
|
|
290 | (1) |
|
|
290 | (1) |
|
|
290 | (2) |
|
6.2.6 Particle System Component |
|
|
292 | (1) |
|
|
292 | (1) |
|
6.3 Unreal Cascade Particle System Editor |
|
|
292 | (3) |
|
6.3.1 Simulation Viewport |
|
|
294 | (1) |
|
|
294 | (1) |
|
|
295 | (1) |
|
|
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) |
|
|
335 | (17) |
|
6.8 Particle Type Data Modules |
|
|
352 | (10) |
|
6.8.1 GPU Sprites Type Data |
|
|
352 | (3) |
|
|
355 | (2) |
|
|
357 | (3) |
|
|
360 | (2) |
|
|
362 | (1) |
|
|
362 | (3) |
|
Chapter 7 Designing Terrains and Outdoor Environments |
|
|
365 | (114) |
|
7.1 Introduction to Landscapes |
|
|
365 | (1) |
|
|
366 | (5) |
|
7.2.1 Creating A Landscape |
|
|
367 | (1) |
|
7.2.2 The Landscape Manage Tab (Creation Mode) |
|
|
368 | (3) |
|
|
371 | (47) |
|
7.3.1 How Landscape Materials Blend |
|
|
377 | (1) |
|
7.3.2 Landscape Material Expressions |
|
|
378 | (40) |
|
|
418 | (8) |
|
7.4.1 Landscape Sculpt Mode |
|
|
418 | (5) |
|
7.4.2 Landscape Paint Mode |
|
|
423 | (2) |
|
|
425 | (1) |
|
|
426 | (14) |
|
|
427 | (1) |
|
|
427 | (1) |
|
|
427 | (1) |
|
7.5.4 Assigning Static Mesh Actors to Splines |
|
|
427 | (1) |
|
|
428 | (1) |
|
7.5.6 Applying Splines to a Landscape |
|
|
428 | (12) |
|
7.6 Foliage and Foliage Editor |
|
|
440 | (19) |
|
|
442 | (3) |
|
|
445 | (14) |
|
7.7 Water in the Landscape |
|
|
459 | (14) |
|
|
473 | (1) |
|
|
474 | (5) |
|
SECTION III Example Games: Advanced Game Development Concepts |
|
|
|
Chapter 8 Advanced Blueprint Concepts |
|
|
479 | (56) |
|
|
479 | (1) |
|
8.2 Communication between Blueprints |
|
|
479 | (2) |
|
8.2.1 Direct Blueprint Communication |
|
|
479 | (1) |
|
|
479 | (1) |
|
|
480 | (1) |
|
8.2.4 Blueprint Interfaces |
|
|
481 | (1) |
|
|
481 | (19) |
|
|
500 | (19) |
|
8.5 Saving and Loading Game Data |
|
|
519 | (15) |
|
|
534 | (1) |
|
Chapter 9 A Top-Down Game with Blueprints |
|
|
535 | (70) |
|
|
535 | (1) |
|
|
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) |
|
|
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) |
|
|
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) |
|
|
591 | (12) |
|
|
603 | (2) |
Appendix A Unreal Engine 4 Material Expressions Reference |
|
605 | (1) |
Appendix A |
|
605 | (44) |
|
|
605 | (1) |
|
A.2 Atmosphere Expressions |
|
|
605 | (1) |
|
|
605 | (1) |
|
|
606 | (3) |
|
A.5 Coordinate Expressions |
|
|
609 | (3) |
|
|
612 | (1) |
|
|
613 | (1) |
|
|
614 | (2) |
|
A.9 Material Attributes Expressions |
|
|
616 | (1) |
|
|
617 | (10) |
|
A.11 Parameters Expressions |
|
|
627 | (5) |
|
|
632 | (4) |
|
|
633 | (3) |
|
|
636 | (2) |
|
|
638 | (2) |
|
|
640 | (7) |
|
|
647 | (1) |
|
|
647 | (2) |
Appendix B Distributions in Unreal Engine 4 |
|
649 | (8) |
|
|
649 | (1) |
|
|
649 | (1) |
|
|
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) |
|
|
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) |
|
|
657 | (1) |
|
|
657 | (1) |
|
|
657 | (1) |
|
C.3 Curve Editor Controls |
|
|
657 | (2) |
|
|
657 | (1) |
|
|
658 | (1) |
|
|
658 | (1) |
|
|
659 | (4) |
|
|
659 | (1) |
|
|
659 | (1) |
|
|
660 | (1) |
|
|
660 | (1) |
|
|
661 | (1) |
|
|
661 | (2) |
References |
|
663 | (4) |
Index |
|
667 | |