Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

3D Game Programming All In One (2004)

.pdf
Скачиваний:
139
Добавлен:
17.08.2013
Размер:
17.91 Mб
Скачать

Contents at a Glance

Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .xxvi

Chapter 1

Introduction to 3D Game Development . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1

Chapter 2

Introduction to Programming . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .31

Chapter 3

3D Programming Concepts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .89

Chapter 4

Game Programming . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .123

Chapter 5

Game Play . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .157

Chapter 6

Network . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .205

Chapter 7

Common Scripts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .235

Chapter 8

Introduction to Textures . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .275

Chapter 9

Skins . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .309

Chapter 10

Creating GUI Elements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .335

Chapter 11

Structural Material Textures . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .351

x

Team LRN

Contents at a Glance

xi

Chapter 12

Terrains . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .365

Chapter 13

Introduction to Modeling with MilkShape . . . . . . . . . . . . . . . . . . . . . . . . . . .381

Chapter 14

Making a Character Model . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .415

Chapter 15

Making a Vehicle Model . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .465

Chapter 16

Making Weapons and Items . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .479

Chapter 17

Making Structures . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .499

Chapter 18

Making the Game World Environment . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .513

Chapter 19

Creating and Programming Sound . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .539

Chapter 20

Game Sound and Music . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .559

Chapter 21

Creating the Game Mission . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .583

Chapter 22

The Game Server . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .609

Chapter 23

The Game Client . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .631

Chapter 24

The End Game . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .659

Appendix A

The Torque Game Engine Reference . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .667

Appendix B

Game Development Resources on the Internet . . . . . . . . . . . . . . . . . . . . . . . .741

Appendix C

Game Development Tool Reference . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .749

Appendix D

QuArK Reference . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .755

Index . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .773

Team LRN

Contents

Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .xxvi Chapter 1 Introduction to 3D Game Development . . . . . . . . . . . . . . . .1

The Computer Game Industry . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

.1

3D Game Genres and Styles . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

.2

Game Platforms . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

.8

Game Developer Roles . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

11

Publishing Your Game . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

15

Elements of a 3D Game . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

16

Game Engine . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

16

Scripts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

17

Graphical User Interface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

19

Models . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

19

Textures . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

20

Sound . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

20

Music . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

21

Support Infrastructure . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

21

The Torque Game Engine . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

23

Descriptions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

23

Using Torque in This Book . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

28

Moving Right Along . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

29

xii

Team LRN

Contents xiii

Chapter 2

Introduction to Programming . . . . . . . . . . . . . . . . . . . . . . .

31

 

UltraEdit-32 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

31

 

Program Setup and Configuration . . . . . . . . . . . . . . . . . . . . . . . .

32

 

Setting Up Projects and Files . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

32

 

Search and Replace . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

35

 

Find in Files . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

38

 

grep . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

39

 

Bookmarks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

42

 

Macros . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

43

 

UltraEdit Review . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

44

 

Controlling Computers with Programs . . . . . . . . . . . . . . . . . . . . . . .

45

 

Programming Concepts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

48

 

How to Create and Run the Example Programs . . . . . . . . . . . . . .

48

 

Hello World . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

49

 

Expressions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

52

 

Variables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

53

 

Operators . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

60

 

Loops . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

64

 

Functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

66

 

Conditional Expressions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

71

 

Branching . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

74

 

Debugging and Problem Solving . . . . . . . . . . . . . . . . . . . . . . . . . .

82

 

Best Practices . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

86

 

Moving Right Along . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

87

Chapter 3

3D Programming Concepts . . . . . . . . . . . . . . . . . . . . . . . .

.89

 

3D Concepts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

.89

 

Coordinate Systems . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

.90

 

3D

Models . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

.92

 

3D

Shapes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

.94

 

Displaying 3D Models . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

.95

 

Transformation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

.95

 

Rendering . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

.98

 

Scene Graphs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

103

 

3D

Audio . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

104

 

3D Programming . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

104

 

Programmed Translation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

105

 

Programmed Rotation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

111

Team LRN

xiv

Contents

 

 

 

 

Programmed Scaling . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

.113

 

 

Programmed Animation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

115

 

 

3D Audio . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

119

 

 

Moving Right Along . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

122

 

Chapter 4

Game Programming . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

123

 

 

Torque Script . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

123

 

 

Strings . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

124

 

 

Objects . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

125

 

 

DataBlocks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

128

 

 

Game Structure . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

129

 

 

Server versus Client Design Issues . . . . . . . . . . . . . . . . . . . . . . . . . .

132

 

 

Common Functionality . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

133

 

 

Preparation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

133

 

 

Root Main . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

134

 

 

Control Main . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

139

 

 

Initialization . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

141

 

 

Client . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

144

 

 

Server . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

149

 

 

Player . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

151

 

 

Running Emaga4 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

153

 

 

Moving Right Along . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

155

 

Chapter 5

Game Play . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

157

 

 

The Changes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

157

 

 

Folders . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

157

 

 

Modules . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

158

 

 

Control Modules . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

158

 

 

control/main.cs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

159

 

 

Client Control Modules . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

160

 

 

control/client/client.cs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

160

 

 

control/client/interfaces/menuscreen.gui . . . . . . . . . . . . . . . . . . .

162

 

 

control/client/interfaces/playerinterface.gui . . . . . . . . . . . . . . . .

165

 

 

control/client/interfaces/splashscreen.gui . . . . . . . . . . . . . . . . . . .

169

 

 

control/client/misc/screens.cs . . . . . . . . . . . . . . . . . . . . . . . . . . . .

169

 

 

control/client/misc/presetkeys.cs . . . . . . . . . . . . . . . . . . . . . . . . . .

171

 

 

Server Control Modules . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

175

 

 

control/server/server.cs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

175

 

 

control/server/players/player.cs . . . . . . . . . . . . . . . . . . . . . . . . . . .

180

Team LRN

 

 

Contents

xv

 

control/server/weapons/weapon.cs . . . . . . . . . . . . . . . . . . .

. . . .186

 

 

control/server/weapons/crossbow.cs . . . . . . . . . . . . . . . . . . .

. . . .190

 

 

control/server/misc/item.cs . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . .197

 

 

Running Emaga5 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . .202

 

 

Moving Right Along . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . .203

 

Chapter 6

Network . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . .205

 

 

Direct Messaging . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . .205

 

 

CommandToServer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . .206

 

 

CommandToClient . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . .207

 

 

Direct Messaging Wrap-up . . . . . . . . . . . . . . . . . . . . . . . . .

. . . .209

 

 

Triggers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . .209

 

 

Area Triggers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . .209

 

 

Animation Triggers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . .209

 

 

Weapon State Triggers . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . .210

 

 

Player Event Control Triggers . . . . . . . . . . . . . . . . . . . . . . . .

. . . .210

 

 

GameConnection Messages . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . .211

 

 

What GameConnection Messages Do . . . . . . . . . . . . . . . . .

. . . .212

 

 

Specifics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . .212

 

 

Finding Servers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . .217

 

 

Code Changes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . .217

 

 

New Modules . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . .218

 

 

Dedicated Server . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . .230

 

 

Root Main Module . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . .230

 

 

Control—Main Module . . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . .231

 

 

Control—Initialize Module . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . .231

 

 

Testing Emaga6 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . .232

 

 

Moving Right Along . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . .233

 

Chapter 7

Common Scripts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . .235

 

 

Game Initialization . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . .235

 

 

Selected Common Server Modules . . . . . . . . . . . . . . . . . . . . . .

. . . .240

 

 

The Server Module . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . .240

 

 

The Message Module . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . .241

 

 

The MissionLoad Module . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . .242

 

 

The MissionDownload Module . . . . . . . . . . . . . . . . . . . . . .

. . . .246

 

 

The ClientConnection Module . . . . . . . . . . . . . . . . . . . . . . .

. . . .250

 

 

The Game Module . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . .256

 

Team LRN

xvi

Contents

 

 

 

 

Selected Common Code Client Modules . . . . . . . . . . . . . . . . . . . .

.258

 

 

The Canvas Module . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

259

 

 

The Mission Module . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

261

 

 

The MissionDownload Module . . . . . . . . . . . . . . . . . . . . . . . . . .

262

 

 

The Messages Module . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

266

 

 

A Final Word . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

268

 

 

Moving Right Along . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

273

 

Chapter 8

Introduction to Textures . . . . . . . . . . . . . . . . . . . . . . . . . .

275

 

 

Using Textures . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

275

 

 

Paint Shop Pro . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

279

 

 

Installing Paint Shop Pro . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

279

 

 

Getting Started . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

279

 

 

Working with Files . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

283

 

 

Paint Shop Pro Features . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

290

 

 

Moving Right Along . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

307

 

Chapter 9

Skins . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

309

 

 

UV Unwrapping . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

309

 

 

The Skin Creation Process . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

310

 

 

Making a Soup Can Skin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

311

 

 

The Soup Can Skinning Procedure . . . . . . . . . . . . . . . . . . . . . . . .

311

 

 

Testing the Soup Can Skin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

315

 

 

Making a Vehicle Skin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

316

 

 

The Dune Buggy Diversion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

316

 

 

Testing the Runabout Skin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

321

 

 

Making a Player Skin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

322

 

 

The Head and Neck . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

322

 

 

Hair and Hands . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

327

 

 

The Clothes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

329

 

 

Trying It on for Size . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

333

 

 

Moving Right Along . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

333

 

Chapter 10 Creating GUI Elements . . . . . . . . . . . . . . . . . . . . . . . . . . . .

335

 

 

Controls . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

336

 

 

GuiChunkedBitmapCtrl . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

337

 

 

GuiControl . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

339

 

 

GuiTextCtrl . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

339

 

 

GuiButtonCtrl . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

340

Team LRN

 

Contents

xvii

GuiCheckBoxCtrl . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . .341

 

GuiScrollCtrl . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . .342

 

GuiTextListCtrl . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . .343

 

GuiTextEditCtrl . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . .344

 

The Torque GUI Editor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . .345

 

The Cook’s Tour of the Editor . . . . . . . . . . . . . . . . . . . . . . .

. . . .345

 

Moving Right Along . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . .349

 

Chapter 11 Structural Material Textures . . . . . . . . . . . . . . . . . . . . . . .351

Sources . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .352

Photography . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .352

Original Artwork . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .357

Scaling Issues . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .358

Tiling . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .359

Texture Types . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .360

Irregular . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .360

Rough . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .361

Pebbled . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .361

Woodgrain . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .361

Smooth . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .361

Patterned . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .362

Fabric . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .362

Metallic . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .362

Reflective . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .362

Plastic . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .362

Moving Right Along . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .363

Chapter 12 Terrains . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .365

Terrains Explained . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

.365

Terrain Characteristics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

365

Terrain Data . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

367

Terrain Modeling . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

367

Height Maps . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

368

Terrain Cover . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

369

Tiling 369

 

Creating Terrains . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

370

The Height-Map Method . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

370

Applying Terrain Cover . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

378

Moving Right Along . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

380

Team LRN

xviii

Contents

 

 

Chapter 13 Introduction to Modeling with MilkShape . . . . . . . . . . . .

381

 

MilkShape 3D . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

381

 

Installing MilkShape 3D . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

381

 

The MilkShape 3D GUI . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

382

 

Navigating in Views . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

383

 

View Scale and Orientation . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

383

 

The Soup Can Revisited . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

384

 

Menus 391

 

 

The Toolbox . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

398

 

The Preferences Dialog Box . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

404

 

UVMapper . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

406

 

The File Menu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

407

 

The Edit Menu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

407

 

The Help Menu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

407

 

UV Mapping . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

407

 

Moving Right Along . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

414

 

Chapter 14 Making a Character Model . . . . . . . . . . . . . . . . . . . . . . . .

415

 

Modeling Techniques . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

415

 

Shape Primitives . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

415

 

Incremental Polygon Construction . . . . . . . . . . . . . . . . . . . . . . . .

415

 

Axial Extrusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

416

 

Arbitrary Extrusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

417

 

Topographical Shape Mapping . . . . . . . . . . . . . . . . . . . . . . . . . .

417

 

Hybrids . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

417

 

The Base Hero Model . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

417

 

The Head . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

418

 

The Torso . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

423

 

Matching the Head to the Torso . . . . . . . . . . . . . . . . . . . . . . . . .

429

 

The Legs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

430

 

Integrating the Legs to the Torso . . . . . . . . . . . . . . . . . . . . . . . .

432

 

The Arms . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

433

 

Integrating the Arms to the Torso . . . . . . . . . . . . . . . . . . . . . . . .

438

 

The Hero Skin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

438

 

Character Animation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

443

 

Animating Characters in Torque . . . . . . . . . . . . . . . . . . . . . . . . .

443

 

Building the Skeleton . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

446

 

Rigging: Attaching the Skeleton . . . . . . . . . . . . . . . . . . . . . . . . .

447

Team LRN

 

Contents

xix

Exporting the Model for Torque . . . . . . . . . . . . . . . . . . . . .

. . . .458

 

The Torque DTS Exporter for MilkShape . . . . . . . . . . . . . . . . .

. . . .459

 

The Torque Game Engine (DTS) Exporter Dialog Box . . . . .

. . . .459

 

Special Materials . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . .460

 

Animation Sequences . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . .463

 

Moving Right Along . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . .464

 

Chapter 15 Making a Vehicle Model . . . . . . . . . . . . . . . . . . . . . . .

. . .465

 

The Vehicle Model . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . .466

 

The Sketch . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . .466

 

The Model . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . .467

 

The Wheels . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . .476

 

Testing Your Runabout . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . .477

 

Moving Right Along . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . .478

 

Chapter 16 Making Weapons and Items . . . . . . . . . . . . . . . . . . . .

. . .479

 

The Health Kit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . .479

 

The Model . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . .479

 

Testing the Health Kit . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . .480

 

A Rock . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . .481

 

Testing the Rock . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . .483

 

Trees . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . .483

 

The Solid Tree . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . .485

 

Testing the Solid Tree . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . .487

 

The Billboard Tree . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . .488

 

Testing the Billboard Tree . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . .489

 

The Tommy Gun . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . .490

 

Making the Model . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . .490

 

Skinning the Tommy Gun . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . .494

 

Testing the Tommy Gun . . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . .495

 

The Tommy Gun Script . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . .497

 

Moving Right Along . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . .497

 

Chapter 17 Making Structures . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .499

Installing QuArK . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .500

Using the Installer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .500

Configuration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .500

Quick Start . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .501

Team LRN