Beginning 3D Game Development with Unity: The World's Most Widely Used Multi-platform Game Engine

Book description

Beginning 3D Game Development with Unity is perfect for those who would like to come to grips with programming Unity. You may be an artist who has learned 3D tools such as 3ds Max, Maya, or Cinema 4D, or you may come from 2D tools such as Photoshop and Illustrator. On the other hand, you may just want to familiarize yourself with programming games and the latest ideas in game production.

This book introduces key game production concepts in an artist-friendly way, and rapidly teaches the basic scripting skills you'll need with Unity. It goes on to show how you, as an independent game artist, can create casual interactive adventure games in the style of Telltale's Tales of Monkey Island, while also giving you a firm foundation in game logic and design.

  • The first part of the book explains the logic involved in game interaction, and soon has you creating game assets through simple examples that you can build on and gradually expand.

  • In the second part, you yourself will build the foundations of a point-and-click style first-person adventure game—including reusable state management scripts, load/save functionality, a robust inventory system, and a bonus feature: a dynamically configured maze and mini-map.

  • With the help of the provided 2D and 3D content, you'll learn to evaluate and deal with challenges in bite-sized pieces as the project progresses, gaining valuable problem-solving skills in interactive design.

By the end of the book, you will be able to actively use the Unity 3D game engine, having learned the necessary workflows to utilize your own assets. You will also have an assortment of reusable scripts and art assets with which to build future games.

What you'll learn

  • How to build interactive games that work on a variety of platforms

  • Take the tour around Unity user interface fundamentals, scripting and more

  • Create a test environment and gain control over functionality, cursor control, action objects, state management, object metadata, message text and more

  • What is inventory logic and how to manage it

  • How to handle 3D object visibility, effects and other special cases

  • How to handle variety of menus and levels in your games development

  • How to handle characters, scrollers, and more

  • How to create or integrate a story/walkthrough

Who this book is for

Students or artists familiar with tools such as 3ds Max or Maya who want to create games for mobile platforms, computers, or consoles, but with little or no experience in scripting or the logic behind games development.

Table of contents

  1. Title Page
  2. Dedication
  3. Contents at a Glance
  4. Contents
  5. About the Author
  6. About the Technical Reviewers
  7. Acknowledgments
  8. Introduction
    1. Why Write This Book
    2. Classic Adventure Game
    3. About the Unity Game Engine
    4. Will I have to learn to script?
    5. Assumptions and Prerequisites
    6. What This Book Doesn't Cover
    7. Conventions Used in This Book
  9. CHAPTER 1: Exploring the Genre
    1. Historical Reference
    2. What draws people to this genre?
    3. Intriguing Locations and Entertaining Solutions
    4. What went wrong with the genre?
    5. Modern Successes of the Genre
    6. What basic human characteristics make for fun?
    7. Why make your own?
    8. Two Logical Variations for Indies
    9. Design Considerations for First Person
    10. Developing the Story and Challenges
    11. New to Real Time vs. Pre-Render
    12. Chapter Summary
  10. CHAPTER 2: Unity UI Basics—Getting Started
    1. Installing Unity and Starting Up
    2. Loading or Creating a New Project or Scene
    3. The Layout
    4. Toolbar
    5. Menus
    6. Creating Simple Objects
    7. Selecting and Focus
    8. Transforming objects
    9. Snaps
    10. Scene Gizmo
    11. Lights
    12. 3D Objects
    13. Materials
    14. Summary
  11. CHAPTER 3: Scripting: Getting Your Feet Wet
    1. What is a Script?
    2. Components of a Script
    3. Counting Mouse Picks
    4. Conditionals and State
    5. Order of Evaluation
    6. Chapter Summary
  12. CHAPTER 4: Terrain Generation: Creating a Test Environment
    1. Topography
    2. Paint Texture
    3. Trees
    4. Paint Details
    5. Terrain Settings
    6. Shadows
    7. Fog
    8. Chapter Summary
  13. CHAPTER 5: Navigation and Functionality
    1. Navigation
    2. Fun with Platforms
    3. Collision Walls
    4. Your First Build
    5. Summary
  14. CHAPTER 6: Cursor Control
    1. Cursor Visibility
    2. Custom Cursors
    3. GUI Layer
    4. Object-to-Object Communication
    5. Mouse Over Cursor Changes
    6. Quick Publish
    7. Object Reaction to Mouse Over
    8. Making the New Functionality Optional
    9. Preventing Mouse Over Functionality While Navigating
    10. Chapter Summary
  15. CHAPTER 7: Action Objects
    1. Importing Assets
    2. Importing
    3. FBX Importer
    4. Setting up Materials
    5. Shadows
    6. Colliders
    7. Animation
    8. Adding Sound F/X
    9. Setting up a Two-State Animation
    10. Using Unity's Animation view
    11. Triggering Another Object's Animations
    12. Limitations
    13. Summary
  16. CHAPTER 8: Managing State
    1. Identifying the Possibilities
    2. Developing a Flow Chart
    3. Defining Interaction and State
    4. Evaluating the Results
    5. Lookup Table
    6. Parsing a String
    7. The Object Lookup Script
    8. Action Related Messages
    9. Chapter Summary
  17. CHAPTER 9: Object Metadata
    1. Current State
    2. Mouse Pick Revisited
    3. Adding Metadata
    4. Chapter Summary
  18. CHAPTER 10: Message Text
    1. GUI Skin
    2. Text Visibility
    3. Using the Object Metadata
    4. Handling the Action
    5. Summary
  19. CHAPTER 11: Inventory Logic
    1. Layers
    2. Converting the Cursor
    3. Inventory Screen
    4. Extending the Lookup Table
    5. Adding Inventory Icons
    6. 2D Object Handling
    7. Chapter Summary
  20. CHAPTER 12: Managing the Inventory
    1. Tags
    2. Inventory Layout
    3. Inventory Overflow
    4. Setting the Limits
    5. Adding and Removing Objects from Inventory
    6. Summary
  21. CHAPTER 13: Finishing the Basic Functionality
    1. Handling 3D Object Visibility
    2. Random Replies
    3. Dropping Cursors in the 3D Scene
    4. Object to Object Interaction
    5. Special Cases
    6. Chapter Summary
  22. CHAPTER 14: Getting Down to Game
    1. Drop Box
    2. Camera Focus
    3. Importing the Final Assets
    4. Summary
  23. CHAPTER 15: A Maze and the Final Level
    1. Maze Geometry
    2. Managing the Maze
    3. Drop Points
    4. Checking for Traps
    5. Confiscated Weapons
    6. Playing the Odds
    7. The Final Level
    8. Summary
  24. CHAPTER 16: Menus and Levels
    1. Menu Access: The Mini-Menu
    2. Finishing Audio
    3. Custom Skin for Menus
    4. Start Menu/Level
    5. Save/Restore
    6. Finally, Back to the Start
    7. Is It Done Yet?
    8. Final Tasks
    9. Publishing
    10. Summary
  25. CHAPTER 17: Beyond the Basics
    1. Additional Features
    2. From First Person to Third Person
    3. Design Considerations for Mobile Platforms
    4. Design Doc
    5. Chapter Summary
  26. APPENDIX A: SSE Shader Graphs
    1. The SSE BetterLightmap Shader Graph
    2. The SSE ReflectiveAlpha Shader Graph
    3. The SSE ReflectiveCutout Shader Graph
  27. APPENDIX B: Key Codes
  28. APPENDIX C: Final Sequence
  29. Index

Product information

  • Title: Beginning 3D Game Development with Unity: The World's Most Widely Used Multi-platform Game Engine
  • Author(s):
  • Release date: May 2011
  • Publisher(s): Apress
  • ISBN: 9781430234227