Creating Games with Unity and Maya. Elsevier

Adam Watkins

How to Develop Fun and Marketable 3D Games

ELSEVIER . FOCAl PRESS
AMSTERDAM • BOSTON • HEIDELBERG • LONDON
NEW YORK • OXFORD • PARIS • SAN DIEGO
SAN FRANCISCO • SINGAPORE • SYDNEY • TOKYO

Focal Press is an imprint of Elsevier

e-books shop
Creating Games with Unity and Maya


Acknowledgments
Books like this are the results of a lot of work by a lot of people. 
It is important to point them out.
First, many thanks to Kelly Michel and the team at the Los Alamos National
Laboratory that made working on this book possible. The opportunities to
learn and grow have been exciting to me professionally, and I've personally
very much enjoyed my time working with my teammates Brian Dickens, Elise
Elfman, Jake Green, and Birch Hayes.

Also, thanks to the tireless efforts of my tech editor, Anson Call; the book is
more accurate, and tighter conceptually than it would have been without his
meticulous work.

Thanks also, of course, to the editors at Focal with whom I have worked on the
project: Sara Scott, Laura Lewin, Katy Spencer, and Lauren Mattos.
Finally, working on books is always a bit of an exercise in patience by the
family of the author. This round, the patience of my forever friend Kirsten and
her care of the little peeps has been of unimaginable help.


Introduction

Why This Book?
The Unity Game Engine has been shaking things up. The engine is only a little
over five years old now and in 2010 they have earned Develop Magazine's
Grand Prix Award and surpassed 170,000 developers. The user base of
consuming Unity products has grown dynamically as well. There are over
30 million total Unity Web Player installations, and the base continues to
expand at over 2 million installs per month.

Part of this success undoubtedly comes from their 2009 bold move to give
away a free version of Unity Indie. Suddenly, everyone could get their hands
on a game engine and anyone with the will to learn could start making
games. Unity further empowered the masses by making Unity a viable
development platform for iDevices (iPhone, iPod Touch, iPad), Mac, PC,
Xbox 360, Wii, and now Android and PlayStation 3. Web deployment further
democratized the 3D development and distribution process. At conferences
and online Unity is generating quite the buzz. Since I have been using the
software, conversations among faculty at training institutions and game
developers alike have gone from, “Unity? No, I've never heard of that. Is it
new?” to “Yeah, we're using Unity in three of our courses coming up this
semester,” and Skype tags that say, “I want Unity 3.0.”

But with all this buzz, and the rapid development and deployment cycle that
the Unity 3D team has undergone, there has been a distinct lack of introductory
documentation, especially documentation aimed at the entire process of game
development. In recent months there have been some new (and really nice)
books released to get people into Unity and it is true that Unity provides some
nice downloadable projects and some tutorials attached to those projects
(which you should grab for free if you haven't yet), but often while my students
(who are trained as 3D artists) have worked through these, although they
have become familiar with Unity's interface and with what does what, they are
simply unable to extrapolate this knowledge into a new “authored from scratch”
game. Further, most of the Unity 3D provided tutorials are focused on Unity and
provide prebuilt assets that the reader simply plugs into his or her Unity project.
This misses some of the vital creative processes and tricks of getting these assets into Unity.

And so the impetus for this book emerged: create artist-driven, holistic
training modules that provide the theory of game development and the
methodology behind Unity that empower readers to create their own games.

Who's It For?
My professional background recently has been developing training games
for inspectors in pursuit of nonproliferation efforts at the Los Alamos National
Laboratory. But this is a temporary assignment and part of a one-year research
sabbatical. I am on sabbatical from a position as head of 3D Animation at
the University of the Incarnate Word in San Antonio, TX where I have taught
3D animation for over 10 years. With this background, as I use tools, I am
always thinking of how this particular tool or technique can be taught, and
how it can be taught differently to different demographics.

In the construction of this book, there are three main groups of learners in mind:
• Game Enthusiasts: The biggest group of students we have coming
into our university are those with the idea, “I love to play video games,
therefore, I'll be great at making them.” Unfortunately this is often not
the case—consuming is much different than creating—but, this sort of
enthusiasm is important to maintain through the long learning arcs that
are required for making 3D games. This book assumes that, at the very
least, you love games. And that you are passionate enough about them
that you want to create your own games.
This volume is for you. Equipped with a free version of Unity and a
copy of Maya, this book will provide you with the necessary steps and
ideas to empower your own game creation. The book is organized
into manageable tutorials coupled with theory discussions so you can
see measurable progress quickly that you can bridge into your own
development. In a few days, or weeks, you could have your first tutorialdriven
game developed, and the scripts to begin your own.
• Students: Ten years ago, developing 3D animation programs was all the
rage at colleges and universities. This enthusiasm has crept into high
schools and even middle schools. With this 3D curriculum—of which
you may be a part—has come the natural desire to expand into game
development. This book has been specifically structured with you in mind.
The tutorials are structured so that they can be tackled in class or as part
of a homework assignment. The pacing has been carefully considered to
allow for bite-sized chunks of knowledge that are still delivered at a brisk
pace. Most importantly, each chapter builds on the next and allows for
real progress really quickly.
• Teachers: I have done a lot of training for teachers at colleges, universities,
and high schools. I have seen the panic in teachers’ eyes—the teachers
with little 3D or game training—but who have been tasked with
developing a game development curriculum and then teaching that
curriculum. To be sure, it is a daunting task, and one that is a little unfair to
saddle on a teacher with their other tasks. Have no fear though, this book
will help lighten the load.

Included in the appendices for this book (on the supporting website
(http://www.Creating3DGames.com) are some suggested curricula
for using this book in a classroom setting. It will help in being able
to plug this book into your work flow and class plans. Although it
will be critical that you follow the tutorials yourself to understand
the questions that the students will undoubtedly have, this volume
will provide some tutorials for in class or homework that will help to
provide a lot of instruction in learning the 3D-to-game publication process

Structure
Although presently I am also a game developer, my long-term passion
is teaching. I know how people learn 3D and game engines. There is
an unfortunate trend for many early learners to pick up a tutorial and
immediately start working through the steps without any consideration to
why that tutorial was written, and what the basic concepts are behind the
steps they are following. At the end of the tutorial, readers have the sense
of accomplishment that they have finished the tutorial, but suddenly come
to the crushing reality that they can't create their own project, and they
couldn't even replicate this project unless the tutorial was in front of them
again. Essentially, they have become recipe followers—they can only cook
if the book is open in front of them, and if someone else has figured out the
steps. They certainly aren't chefs. The goal of this book is to make master
game chefs. To do this, there are some specific conventions this book will follow.

First, every chapter and every tutorial will be prefaced with some theory—
some explanations of the method behind the madness of what they are about
to embark on. This theory will cover not only the reasoning of the tutorial
and its goals but also the reasoning behind Maya or Unity and their particular
implementation of 3D technique. Avoid the temptation to skip the theory and
smash into the tutorial; you will be much more enriched by understanding the
reason behind the steps.

Every chapter will also include tutorials, some longer than others, but each
with a very specific learning objective in mind. Each tutorial will build upon
the last and move us closer to completing the game that will be playable
at the end of this book. However, this book is a novel, not a collection of
short stories, and if you skip too far ahead too quickly, you will miss vital
information that make later chapters seem logical. So even if you know the
technique covered and you have no need to follow a given tutorial, be sure
you skim through it to see what is being covered there.

Finally, each chapter will include some challenges—homework assignments
if you will—that ask you to use the information you have gathered to create
your own implementation of the techniques. Hobbyist rarely use these, but
they are an important self-assessment tool to check if you have really gotten
the core concepts presented in the chapter. You will get the most out of this
book if you tackle those challenges. They will cement ideas and strengthen
technique before you move on.

Book Paradigm and Assumptions
Although Creating Unity3D Games is meant to be holistic, it is not comprehensive
of everything involved in creating 3D games. It is assumed that you have the
following things:
Unity and Maya: At the publication of this book, the latest versions of this
software will be Maya 2011 and Unity 3.2. The Unity 3.2 Indie license is free
(downloadable at www.unity3d.com), and if you are a student, Maya 2011
can be had for free for one year at http://students.autodesk.com/ if you
sign up at the Autodesk Education Community. For a registered student,
your biggest expense of the process will be this book.
Basic Knowledge of Maya: This knowledge can indeed be basic, but this
book will not take a huge amount of time to work through Maya interface,
or basic tools. You should know how to navigate the camera controls and
how to conduct basic functions of moving, rotating, and scaling objects.
This book will be focusing on very game-specific techniques to modelling,
texturing, and animating, and so some general knowledge of Maya will be
of great help, although not critical.
Love and Knowledge of Games: No need to be a game geek. But,
knowing the basics of how games work and what makes them fun will
be important to making games. The game in this book will be a firstperson
and third-person hybrid with both first-person shooter and
puzzle elements. These are carefully designed to help you grasp some
important concepts. But always be referencing past knowledge and
looking for ways to expand the ideas covered in these pages to your
own blockbuster title.

A Note about the Approach
I come from an art background. I have a BFA in Theatre Set Design and an MFA
in Graphic Design with an emphasis in 3D animation. I think like a 3D artist
and I teach 3D artists. Because of this, this book and its approach to learning
Unity is constructed through the lens of a 3D artist. This does not mean that
there won't be programming or scripting—in fact, scripting is a critical part of
the game development process. Without it there is no game, and so it cannot
be ignored, and will be covered heavily in this volume. Even for artists, it's best
to surrender now and embrace the power of scripting within a game engine.
However, the entire process will be covered from the viewpoint of a 3D artist.

This will be very effective for some readers, particularly those who are coming
at the game development cycle from an art or 3D background. But it may
include some information that might be too basic for those approaching this
from a programming background. Not to worry though, the first part of the
book is 3D focused, and so there should be plenty of new material for those
coming from the scripting world.

So there it is. Tear into it. Be sure to read the theory and do the homework.
It will be fun to have a completed game when you finish this book, but not
nearly as fun as utilizing the tools and techniques we explore to create your
own 3D interactive and engaging gaming masterpiece!


Screenshot

e-books shop

Purchase Now !
Just with Paypal



Product details
 Price
 File Size
 22,295 KB
 Pages
 546 p
 File Type
 PDF format
 ISBN
 978-0-240-81881-8
 Copyright
 2011 Elsevier Inc         


Table of Contents
Acknowledgments . vi
Introduction . xv
Chapter 1: Game Production Process . 1
The Team. 1
The Tools and Unity. 4
Teams of Teams and Pipelines. 4
Assets. 5
Art Assets. 5
Technology Assets (Scripts). 5
Order of Operations. 6
Conclusion and Introduction to Incursion. 6
A Note on Research. 7
And on We Go…. 8
Chapter 2: Asset Creation: Maya Scenography Modeling. 9
Scenography Modeling within the Game Design Pipeline. 9
Why Maya Tutorials?. 10
A Bit of 3D Theory . 11
Rendering. 12
Video Cards. 13
Limitations and Optimizations for Games. 13
Rules of 3D Game Modeling. 14
Polycount Matters. 14
Topology. 15
On to the Tools. 16
Tutorial 2.1: Game Level Modeling: The Entryway. 17
Columns Base Shape . 18
Dock Creation. 20
Dock Optimization . 22
Backface Culling. 25
Roof Creation . 26
Cleaning or Deleting History. 27
Handrails. 28
Archway and Booleans . 28
Beveling . 32
Wrapping Up. 33
Homework and Challenges . 34
Chapter 3: Asset Creation: Maya Scenography UV Mapping. 37
Scenography UV Layout within the Game Design Pipeline. 37
UVs . 38
Exploring the UV Texture Editor. 39
Tutorial 3.1: Game Level UV Layout, Tools, and Techniques. 40
Mapping Beginning with Automatic Mapping. 42
Sewing Shells . 45
Further Optimization. 49
Maya's Unfold UV via Smooth UV Tool. 50
Manual Mapping. 52
Conclusion. 61
Homework and Challenges . 62
Chapter 4: Asset Creation: Maya Scenography Texturing. 63
Textures, Materials, and Shaders. 63
Nature of Effective Textures. 64
Maya and Unity . 65
Tutorials. 66
Tutorial 4.1: Seamless Tiled Textures. 66
Select and Prepare a Raw Texture Image . 68
Offset and Clone Stamp . 68
Unify the Color Balance. 70
Apply the Texture. . . . . .71
Conclusion. 74
Tutorial 4.2: Nontiled Textures and Their Dirt. 74
UV Snapshots. 75
Preparing the UV Snapshot for Painting in Photoshop. 76
Painting the Texture. 77
Layer Mixing . 78
Layer Masks. 79
Saving Multiple Files. 82
Application in Maya. 82
Conclusion. 83
Homework and Challenges . 84
Chapter 5: Asset Creation: Unity Scenography Importing . 89
Unity. 89
The Plan. 90
Unity Projects. 90
Tutorial 5.1: Creating a Unity Project. 90
About the New Project File . 92
Unity Interface. 93
Toolbar. 94
Scene. 95
Game. 95
Inspector Panel. 95
Hierarchy Panel. 96
Project Panel. 96
Using It All . 96
Tutorial 5.2: Exporting from Maya. 97
Optimizing in Maya. 97
Export Options. 98
The Import Process. 99
Unity Nomenclature. 101
GameObject . 101
Prefabs. 101
Scenes. 101
Tutorial 5.3: Importing, Tweaking, and Placing Scenography
Assets into Unity. 102
Inspector Breakdown. 108
Conclusion. 112
Homework and Challenges . 112
Chapter 6: Asset Creation: Unity Scenography Creation Tools. 113
Asset Creation in Unity. 113
Tutorial 6.1: Adding and Manipulating Unity Water, Sky, and Fog. 114
Importing Packages. 114
Water. 114
Skyboxes. 116
Fog. 119
Wrapping Up. 120
Tutorial 6.2: Terrain Creation. 121
Restrictions of Terrains. 122
Terrain Editing Tools. 125
Conclusion. 136
Tutorial 6.3: Primitives and Particles. 136
Tweaking Terrain Settings. 143
Conclusion. 144
Chapter 7: Asset Creation: Advanced Shading, Lighting, and Baking. 145
Baking . 146
Baking in Unity (aka Unity Lightmapping). 146
Limitations to Unity Lightmapping. 147
Plan of Attack. 148
Tutorial 7.1: Normal Maps. 148
Additional Tools. 150
Conclusion. 159
Tutorial 7.2: Lighting and Baking in Unity. 159
Unity's Lighting Instruments. 160
Conclusion. 177
Homework and Challenges . 178
Chapter 8: Asset Creation: Maya Character Creation . 179
Aegis Chung. 180
Style Sheet. 180
Considerations of Style Sheets. 181
Chapter Overview. 182
Tutorial 8.1: Game Character Modeling: Aegis Chung . 182
Polycount. 182
Conclusion. 232
Chapter 9: Asset Creation: Maya Character UV Mapping
and Texturing. 233
UV Mapping. 234
Tutorial 9.1: Character UV Mapping. 234
Mesh Inspection and Cleanup . 234
Finishing Up. 260
Conclusion. 262
Tutorial 9.2: Character Texture Painting. 262
Ambient Occlusion Pass. 264
Face and Head . 269
Conclusion. 273
Chapter 10: Asset Creation: Maya Rigging and Skinning and
Unity Animated Character Importing and Implementation. 275
The Process. 276
Tutorial 10.1: Rigging. 276
Cleanup. 276
Joints and Rigging. 280
Conclusion. 301
Tutorial 10.2: Maya Skinning . 302
Binding Rigid Body Parts. 303
Painting Skin Weights. 305
Conclusion. 308
Tutorial 10.3: Maya Animation. 310
General Notes on Game Animation . 310
Conclusion. 314
Tutorial 10.4: Getting Animated Characters to Unity . 314
Using Aegis . 316
Tutorial 10.5: Animating in Unity. 319
Conclusion. 321
Wrapping Up. 321
Homework and Challenges . 322
Chapter 11: Unity Sound. 323
Get the Sounds. 323
Sound Listener and Sound Source Paradigm. 325
Tutorial 11.1: Placing Sound in Unity . 325
Audio Reverb Zones. 327
Footsteps . 328
Scripting Sound. 330
Conclusion. 332
Homework and Challenges . 332
Chapter 12: Introduction to Unity Scripting Basics and
Graphical User Interface . 333
Unity's Scripting Languages. 334
Boo Script. 334
C#. .  . . . . . . . . . . .335
JavaScript. 335
Using Scripts in Unity. 335
A Note about This Approach. 336
Tools for Scripts . 336
What Is a Script?. 337
Getting to It. 340
Tutorial 12.1: Graphical User Interfaces. 340
GUITexture. 340
Conclusion. 354
Homework and Challenges . 354
Chapter 13: Unity Triggers . 355
Designating Triggers. 356
Tutorial 13.1: Activating and Changing Screen Hints
with Triggers . 356
GUIText. 357
Custom Fonts . 358
Creating Triggers. 358
Scripting the GUIText. 359
Scripting Triggers. 361
Triggers to Swap Levels. 364
Conclusion. 367
Tutorial 13.2: Triggers and Doors. 367
Divergent Methods. 369
Sound and Scripts. 372
Cleaning Up with Destroy and Booleans. 373
Conclusion. 377
Homework and Challenges . 377
Chapter 14: Unity Raycasting. 379
Frame Miss. 379
Raycasting. 380
But First ... A Few Notes on Scripting and Help. 381
Comments via //. 381
Commenting Blocks of Script with /*. 382
Accessing the Documentation. 383
F1 in UniSciTE. 384
Decoding a Help Page. 384
Tutorial 14.1: Highlighting Actionable Objects with Raycasting. 386
Turning on the Lights. 393
Conclusion. 402
Homework and Challenges . 402
Chapter 15: Unity Prefabs and Instantiation. 403
Prefabs. 403
Prefabs versus Prefab Connections. 404
Tutorial 15.1: The Power of Prefabs. 407
Tags. 408
Adding Sound. 411
Conclusion. 412
Instantiation. 413
Tutorial 15.2: Setting Up the Armed Arms. . . . . . . .414
Conclusion. 417
Tutorial 15.3: Firing a Gun. 417
A Few Notes about Pistol Sparks. 419
Quick Note about Detonator and Explosion Framework . 420
Conclusion. 423
Tutorial 15.4: Sound Revisited. 423
Scope and Optimizing Script. 425
Tutorial 15.5: The EMP Mines. 427
Layers. 436
Make the EMP Effective. 437
Conclusion. 439
Chapter 16: Unity: Creating Inventory Systems. 441
State Engine and How Many Scripts?. 441
Tutorial 16.1: Setting Up Inventory GUI and Script . 443
Refresher on Interscript Communication. 446
Firing Animations in Script. 448
Hiding and Showing Weapons. 453
Bulking up the GUI System. 457
Create a GUIElements Prefab. 458
Animate the Inventory to Show and Hide . 459
Conclusion. 463
Tutorial 16.2: Keys . 464
Accessing the State Engine . 465
Building upon the Raycasting Mechanism. 465
Fleshing Out PickUpKey . 466
Creating a Smart Trigger. 467
Conclusion. 472
Homework and Challenges . 472
Chapter 17: Health Systems, Winning, and Losing the Game. 473
Tutorial 17.1: Winning. 474
The Endgame Trigger. 476
Conclusion. 477
Tutorial 17.2: Health Systems. 478
Creating Health Display. 479
Back to Script. 481
Things That Hurt. . .. . . . . . .482
Creating the Damage Triggers . 482
Broadcast Message. 434
Particles Doing Damage (Steam). 487
Timers on Cameras. 490
Scene-ClosingFail . 491
Global Variables. 492
Final Test. 494
Conclusion. 494
Homework and Challenges . 494
Chapter 18: Unity Debugging, Optimization, and Builds . 495
Finding the Bugs . 495
Optimization. 496
Finding What Needs to Be Optimized . 496
Optimizing with Textures. 498
Optimizing with Scripts. 500
Making the Build . 501
Preparing Player Settings. 501
Outputting the Final Build. 506
Conclusion. 508
Index . 509

  ●▬▬▬▬▬❂❂❂▬▬▬▬▬●
●▬▬❂❂▬▬●
●▬❂▬●

═════ ═════

Previous Post Next Post