HAPPY BOOKSGIVING
Use code BOOKSGIVING during checkout to save 40%-55% on books and eBooks. Shop now.
Register your product to gain access to bonus material or receive a coupon.
Readers will master essential tools and techniques including: BSP brushes, static meshes, the creation of surface materials and lighting, and the setup process for terrain - everything they need to create convincing environments. Building on the basics, the authors introduce several advanced aspects of level creation, including: Kismet visual scripting for automating in-game events and reactions; the Matinee animation system; procedures for optimizing gameplay levels; and the use of level streaming to create seamlessly blended worlds out of multiple levels.
Mastering Unreal Technology, Volume I: Introduction to Level Design with Unreal Engine 3 is your start-to-finish guide to modding and level design with the world’s hottest new gaming engine: Unreal Engine 3. Here’s everything you need to know to jumpstart your skills and create stunning new content and games for consoles and PCs alike! Your authors aren’t just the world’s #1 Unreal game development trainers: They’ve even built the training modules that shipped with Unreal Tournament 3: Limited Collector’s Edition. Now, working with the full cooperation of Unreal Engine 3’s creators, Epic Games, they introduce every facet of game development—from simple level creation to materials, lighting, and terrain...even advanced level optimization and streaming!
Packed with tips, hands-on tutorials, and expert techniques, Mastering Unreal Technology, Volume I is all you need to create levels that look spectacular and work brilliantly...levels that gamers just can’t stop playing!
You’ll find expert tips on
Introduction to Unreal Technology
Download the sample pages (includes Chapter 1 and Index)
CHAPTER 1: Introduction to Unreal Technology . . . 1
History of Unreal . . . 2
June 1998: Unreal . . . 2
November 1999: Unreal Tournament . . . 3
March—July 2001: The Unreal Developer Network . . . 5
September 2002: Unreal Championship and Unreal Tournament 2003. . . 5
February 2003: Unreal II . . . 7
March 2004: Unreal Tournament 2004 . . . 9
April 2005: Unreal Championship 2: The Liandri Conflict . . . 10
November 2006: Gears of War. . . 11
November 2007: Unreal Tournament 3 . . . 12
Overview of the Unreal Engine. . . 14
Unreal Engine Components . . . 14
The Graphics Engine. . . 14
The Sound Engine. . . 15
The Physics Engine . . . 16
The Input Manager . . . 16
Network Infrastructure . . . 17
The UnrealScript Interpreter. . . 18
Overview of Component Interaction . . . 18
Engine Components at Work . . . 20
Creating Your Own Worlds with the Unreal Engine . . . 21
Game Assets . . . 21
Animations and Skeletal Meshes . . . 25
The Tools of the Trade . . . 26
CHAPTER 2: Overview of Game Development. . . 31
The Importance of Iteration . . . 32
Start with the Idea . . . 32
Story Treatment . . . 34
Considerations for Production Scheduling . . . 39
Communication . . . 41
Have Regular Meetings . . . 41
Make Yourself Heard. . . . 41
Respect Your Teammates . . . 41
Artists Versus Programmers: Round One, Fight! . . . 42
Pick Your Battles . . . 42
Stay Creative . . . 42
Testing and Feedback . . . 43
Ending Production . . . 44
CHAPTER 3: Up and Running: A Hands-On Level Creation Primer. . . 45
Starting Your First Level . . . 46
CHAPTER 4: A Universe of Brushes: World Geometry In-Depth . . . 117
Key Terms and Concepts: BSP and CSG . . . 117
Brush Types . . . 118
The Red Builder Brush. . . 118
Additive Brushes . . . 118
Subtractive Brushes . . . 120
A Quick Word on Building. . . 120
Cleaning BSP Materials . . . 21
Working with Brushes . . . 124
Additive and Subtractive Levels. . . 124
The Almighty Drag Grid . . . 124
Moving with Pivots . . . 125
Brush Order . . . 125
Building to the Proper Scale . . . 126
Primitives . . . 127
Cube . . . 127
Cone . . . 128
Cylinder . . . 128
Sheet . . . 130
Tetrahedron (Sphere) . . . 130
Curved Staircase . . . 130
Linear Staircase . . . 132
Spiral Staircase . . . 132
Volumetric . . . 133
Boolean Operations . . . 134
Intersect Tool. . . 134
De-Intersect Tool . . . 135
Brush Solidity. . . 135
Solid . . . 136
Semi-Solid. . . 136
Non-Solid . . . 136
Brush Manipulation . . . 137
Geometry Mode . . . 137
Selection Modes . . . 138
Toggle Modifier Window . . . 141
Working with Shadows. . . 164
CHAPTER 5: Static Meshes. . . 169
The Importance of Static Meshes. . . 169
Static Mesh Workflow Overview . . . 170
UV Texture Coordinates . . . 185
Considerations When Creating UV Layouts . . . 193
Creating Textures . . . 195
Importing Static Meshes. . . 197
Using the Static Mesh Editor . . . 200
Collisions . . . 202
Creating Custom Collisions. . . 205
Placing Static Meshes. . . 213
Static Meshes and Shadows. . . 216
CHAPTER 6: Introduction to Materials. . . 221
What Is a Material? . . . 222
Materials vs. Textures. . . . . 223
Texture Coordinates (UVs). . . . 223
Material Instructions. . . 224
Thinking About Color in Unreal. . . 225
A Quick Word on Lighting. . . 226
Anatomy of a Material . . . 226
Material Nodes . . . 227
Material Channels . . . 232
Material Expressions. . . 239
The Available Material Expressions. . . 244
Material Expressions List. . . 244
Parameter Expressions. . . 262
Material Creation. . . 264
Surface Properties . . . 274
The Surface Properties Dialog. . . 275
CHAPTER 7: Introduction to Lighting . . . 357
Light Placement. . . . 358
A Word on Building Lights. . . 358
Lighting Concepts . . . 375
Light Maps and Shadow Maps. . . 375
Static and Dynamic Lighting . . . 376
Per-Vertex Lighting and Lighting Subdivisions. . . 377
Types of Lights. . . 378
Toggleable Lights. . . 378
Moveable Lights . . . 378
Point Lights. . . 379
Spotlights . . . 380
Directional Lights. . . . 382
SkyLights. . . 382
Pickup Lights. . . 384
Light Properties . . . 387
General Properties. . . 387
Exclusive SpotLight Properties. . . 389
Exclusive DirectionalLight Properties. . . 389
Exclusive SkyLight Properties . . . 389
Lighting Channels . . . 390
Lighting Volumes . . . 394
Shadows . . . . . 394
Precomputed Shadows (Shadow Maps). . . . 395
Shadow Buffer Shadows . . . 396
Shadow Volume Shadows . . . 396
Shadow Modulation . . . 398
Light Environments . . . 405
Light Functions . . . 410
Workflow Tips . . . 415
CHAPTER 8: Terrain. . . 417
What Is Terrain? . . . 417
Accessing Terrain . . . 419
Terrain Anatomy and Properties . . . 427
Terrain Anatomy (Terminology) . . . 427
Terrain Properties . . . 428
TerrainMaterials and Layers . . . 433
TerrainMaterial Properties. . . 433
Terrain Layers . . . 434
Terrain Editor Dialog. . . 449
The Terrain Editing Dialog Interface Overview. . . 449
Terrain Editing Tools. . . 459
Decorating Your Terrain: Foliage and DecoLayers. . . 483
Foliage. . . 484
DecoLayers. . . 488
Terrain Workflow Considerations . . . 494
CHAPTER 9: Introduction to Unreal Kismet . . . 497
Kismet: The Big Picture. . . 497
Accessing Kismet . . . 498
Anatomy of a Sequence Object . . . 506
Types of Sequence Objects . . . 508
Events . . . 508
Actions . . . 509
Variables . . . 509
Conditions . . . 510
Matinee . . . 512
Kismet Sequence Flow . . . 512
Simple Kismet Sequences . . . 526
Commenting Kismet Sequences . . . 535
Intermediate Kismet Sequences . . . 536
CHAPTER 10: Unreal Matinee. . . 615
What Is Matinee? . . . 615
Matinee Terminology . . . 616
Accessing Matinee . . . 636
The Matinee Sequence Object . . . 636
Inputs . . . 637
Outputs. . . . 638
Variable Links . . . 638
Properties . . . 638
Matinee Data Object. . . 640
InterpActors . . . 641
Mover Kismet Event . . . 641
The Matinee Editor . . . 643
Toolbar . . . 644
Curve Editor . . . 644
Group/Track List . . . 644
Timeline . . . 645
Properties . . . 646
Types of Tracks. . . 647
Anim Control . . . 647
Color Property . . . 648
Event . . . 648
FaceFX . . . 648
Float Material Param. . . 648
Float Particle Param. . . 649
Float Property . . . 649
Morph Weight. . . 649
Movement. . . 649
SkelControl Scale . . . 650
Sound . . . 650
Effects Toggle . . . 651
Vector Material Param. . . . 651
Vector Property . . . 651
Director Group-Specific Tracks . . . 651
Matinee Considerations . . . 652
CHAPTER 11: Level Optimization . . . 705
General Optimization. . . 705
Understanding Overhead . . . 706
In-Game Performance Diagnostics . . . 706
Occlusion . . . 717
CullDistance and CullDistanceVolumes . . . 718
Levels of Detail . . . 719
Optimizing Lights and Shadows . . . 719
Light Maps . . . 719
Light Environments. . . 720
Light Functions . . . 720
Casting Light onto Unlit Materials . . . 720
The Primitive Stats Browser. . . 721
Dynamic Shadows and the Dynamic Shadow Stats Browser . . . 722
Material Optimization . . . 725
Multiple Materials per Object . . . 726
Material Instructions. . . 726
Unlit Translucency . . . 727
CHAPTER 12: Level Streaming. . . 731
Level Streaming Benefits. . . 732
Testing Level Streaming . . . 733
Streaming Methods . . . 733
Persistent Levels Versus Streaming Levels . . . 733
The Level Browser and Scene Manager . . . 734
Map Changing . . . 736
Level Streaming via Kismet. . . 757
Level Streaming via LevelStreamingVolumes. . . 758
Level Streaming via Distance. . . 767
Troubleshooting . . . 777
Level Streaming Considerations . . . 777
APPENDIX A: The Unreal Editor User’s Guide. . . 779
The Main Menubar . . . 779
The Toolbar . . . 781
File Options . . . 781
Undo and Redo . . . 782
Far Clipping Plane Distance . . . 782
Transform Tools . . . 782
Search for Actor . . . 783
Toggle Fullscreen . . . 783
Cut, Copy, and Paste . . . 783
Generic Browser . . . 783
Kismet . . . 783
Toggle Brush Polys . . . 783
Toggle Prefab Lock . . . 783
Use Curves Button . . . 783
Enable/Disable Socket Snapping. . . 783
Building . . . 784
Play Level Area . . . 784
The Toolbox . . . 785
Camera and Utilities Area . . . 785
Brush Primitives Area . . . 786
CSG Operations Area . . . 792
Additional Brushes Area . . . 793
Selections Area . . . 794
The Viewports . . . 795
Navigation . . . 796
Viewport Controls. . . 797
Viewport Toolbar . . . 798
Viewport Context Menu. . . 802
The Console Bar . . . 804
Command Line . . . 805
Selection Status . . . 805
Transform Status . . . 805
DrawScale Numeric Fields . . . 805
Drag Grid . . . 805
Rotation Grid . . . 805
Scale Grid . . . 806
AutoSave . . . 806
Browsers . . . 806
Generic Browser. . . 806
Actor Classes Browser. . . 811
Groups Browser . . . 813
Level Browser . . . 815
Referenced Assets Browser . . . 816
Primitive Stats Browser . . . 818
Dynamic Shadow Stats Browser. . . 819
Scene Manager . . . 820
Log . . . 822
Editors . . . 823
Static Mesh Editor. . . 823
Material Editor. . . 824
Kismet Visual Scripting Editor. . . 824
Matinee Editor . . . 826
PhAT (Physics Asset Tool) Physics Editor. . . 826
Cascade Particle System Editor . . . 826
User Interface Scene Editor . . . 828
SoundCue Editor . . . 828
Post Process Manager . . . 828
AnimSet Editor . . . 830
AnimTree Editor. . . 830
Search for Actors . . . 831
Property Windows . . . 832
Actor Properties . . . 832
Surface Properties . . . 833
APPENDIX B: The Curve Editor. . . 835
Animation Curves . . . 836
Controlling Interpolation Curves . . . 838
Auto . . . 839
User . . . 840
Break. . . . 840
Linear. . . 840
Constant . . . 842
Curve Editor Interface. . . 842
Curve Editor Toolbar. . . 842
Curve Editor Curve Key List. . . 844
Curve Editor Graph View . . . 846
Preset Curves . . . 847
Available Preset Curve Settings. . . 848
Index. . . 851