
Unity Game Development Cookbook
Description
Alles über E-Books | Antworten auf Fragen rund um E-Books, Kopierschutz und Dateiformate finden Sie in unserem Info- & Hilfebereich.
More details
Other editions
Additional editions

Person
Tim Nugent pretends to be a mobile app developer, game designer, PhD student, and now he even pretends to be an author. When he isn't busy avoiding being found out as a fraud, he spends most of his time designing and creating little apps and games he won't let anyone see. Tim spent a disproportionately long time writing this tiny little bio, most of which was spent trying to stick a witty sci-fi reference in, before he simply gave up. Tim can be found as @The_McJones on Twitter.
Content
- Cover
- Copyright
- Table of Contents
- Preface
- Resources Used in This Book
- Audience and Approach
- Organization of This Book
- Conventions Used in This Book
- Using Code Examples
- O'Reilly Online Learning Platform
- How to Contact Us
- Acknowledgments
- Chapter 1. Working with Unity
- 1.1 Getting Around in Unity
- Problem
- Solution
- Discussion
- 1.2 Working with Game Objects
- Problem
- Solution
- Discussion
- 1.3 Working with Components
- Problem
- Solution
- Discussion
- 1.4 Working with Prefabs
- Problem
- Solution
- Discussion
- 1.5 Working with Scenes
- Problem
- Solution
- Discussion
- 1.6 Managing Assets
- Problem
- Solution
- Discussion
- 1.7 Building Unity Projects
- Problem
- Solution
- Discussion
- 1.8 Accessing Preferences
- Problem
- Solution
- Discussion
- Chapter 2. Scripting
- 2.1 Working with MonoBehaviours
- Problem
- Solution
- Discussion
- 2.2 Using Callbacks
- Problem
- Solution
- Discussion
- 2.3 Creating Frame Rate-Independent Behavior
- Problem
- Solution
- Discussion
- 2.4 Accessing Components
- Problem
- Solution
- Discussion
- 2.5 Finding Objects
- Problem
- Solution
- Discussion
- 2.6 Using Coroutines
- Problem
- Solution
- Discussion
- 2.7 Singletons
- Problem
- Solution
- Discussion
- 2.8 Loading a Level (Scene)
- Problem
- Solution
- Discussion
- 2.9 Storing Data on Disk
- Problem
- Solution
- Discussion
- 2.10 Saving and Loading the Game State
- Problem
- Solution
- Discussion
- 2.11 Managing Objects Using an Object Pool
- Problem
- Solution
- Discussion
- 2.12 Storing Data in Assets Using ScriptableObject
- Problem
- Solution
- Discussion
- Chapter 3. Input
- 3.1 Working with Keyboard Input
- Problem
- Solution
- Discussion
- 3.2 Working with Mouse Input
- Problem
- Solution
- Discussion
- 3.3 Locking and Hiding the Mouse Cursor
- Problem
- Solution
- Discussion
- 3.4 Working with Gamepads
- Problem
- Solution
- Discussion
- 3.5 Customizing Unity's Input System
- Problem
- Solution
- Discussion
- 3.6 Responding to Pointer Events from the Event System
- Problem
- Solution
- Discussion
- Chapter 4. Math
- 4.1 Storing Coordinates of Varying Dimensions Using Vectors
- Problem
- Solution
- Discussion
- 4.2 Rotating in 3D Space
- Problem
- Solution
- Discussion
- 4.3 Performing Transformations in 3D Space with Matrices
- Problem
- Solution
- Discussion
- 4.4 Working with Angles
- Problem
- Solution
- Discussion
- 4.5 Finding the Distance to a Target
- Problem
- Solution
- Discussion
- 4.6 Finding the Angle to a Target
- Problem
- Solution
- Discussion
- Chapter 5. 2D Graphics
- 5.1 Importing Sprites
- Problem
- Solution
- Discussion
- 5.2 Adding a Sprite to the Scene
- Problem
- Solution
- Discussion
- 5.3 Creating a Sprite Animation
- Problem
- Solution
- Discussion
- 5.4 Creating a Sprite with 2D Physics
- Problem
- Solution
- Discussion
- 5.5 Customizing Sprite Collision Shapes
- Problem
- Solution
- Discussion
- 5.6 Using a Composite Collider
- Problem
- Solution
- Discussion
- 5.7 Using the Sprite Packer
- Problem
- Solution
- Discussion
- 5.8 Applying Forces to 2D Objects
- Problem
- Solution
- Discussion
- 5.9 Creating a Conveyor Belt
- Problem
- Solution
- Discussion
- 5.10 Using a Custom Material for Sprites
- Problem
- Solution
- Discussion
- 5.11 Managing Sprite Sorting
- Problem
- Solution
- Discussion
- 5.12 Using Sorting Groups
- Problem
- Solution
- Discussion
- 5.13 Creating a 2.5D Scene
- Problem
- Solution
- Discussion
- Chapter 6. 3D Graphics
- 6.1 Creating a Simple Material
- Problem
- Solution
- Discussion
- 6.2 Controlling a Material's Property Through a Script
- Problem
- Solution
- Discussion
- 6.3 Creating an Unlit Material
- Problem
- Solution
- Discussion
- 6.4 Setting Up a Material Using Textures
- Problem
- Solution
- Discussion
- 6.5 Making a Material Use a Shader
- Problem
- Solution
- Discussion
- 6.6 Setting Up a Bloom Effect Using Post-Processing
- Problem
- Solution
- Discussion
- 6.7 Using High-Dynamic-Range Colors
- Problem
- Solution
- Discussion
- 6.8 Setting Up a Project to Use a Scriptable Render Pipeline
- Problem
- Solution
- Discussion
- 6.9 Creating a Shader Using the Shader Graph
- Problem
- Solution
- Discussion
- 6.10 Creating a Glowing Effect Using the Shader Graph
- Problem
- Solution
- Discussion
- 6.11 Exposing Properties from a Shader Graph
- Problem
- Solution
- Discussion
- 6.12 Animating a Shader over Time
- Problem
- Solution
- Discussion
- 6.13 Controlling the Speed of an Animated Shader
- Problem
- Solution
- Discussion
- 6.14 Using a Subgraph to Reuse Graph Components
- Problem
- Solution
- Discussion
- 6.15 Implementing a Dissolve Effect Using a Shader Graph
- Problem
- Solution
- Discussion
- 6.16 Using Baked Lighting and Real-Time Lighting
- Problem
- Solution
- Discussion
- 6.17 Using Baked Emission Sources
- Problem
- Solution
- Discussion
- 6.18 Making Static Objects Cast Shadows on Dynamic Objects
- Problem
- Solution
- Discussion
- 6.19 Using Light Probes to Influence Lighting
- Problem
- Solution
- Discussion
- 6.20 Using Reflection Probes
- Problem
- Solution
- Discussion
- 6.21 Faking a Dynamic Emissive Object
- Problem
- Solution
- Discussion
- 6.22 Loading Textures from Disk
- Problem
- Solution
- Discussion
- 6.23 Rendering to a Texture
- Problem
- Solution
- Discussion
- 6.24 Saving Screenshots
- Problem
- Solution
- Discussion
- Chapter 7. Physics and Character Control
- 7.1 Understanding FixedUpdate
- Problem
- Solution
- Discussion
- 7.2 Implementing Mouselook
- Problem
- Solution
- Discussion
- 7.3 Controlling a 3D Character
- Problem
- Solution
- Discussion
- 7.4 Interacting with Switches and Objects
- Problem
- Solution
- Discussion
- 7.5 Picking Up and Putting Down Objects
- Problem
- Solution
- Discussion
- 7.6 Detecting When an Object Is Touching Another Object
- Problem
- Solution
- Discussion
- 7.7 Detecting When an Object Is in a Trigger Area
- Problem
- Solution
- Discussion
- 7.8 Implementing Moving Platforms
- Problem
- Solution
- Discussion
- 7.9 Implementing Platform Riding
- Problem
- Solution
- Discussion
- 7.10 Responding to Being Pushed by Objects
- Problem
- Solution
- Discussion
- Chapter 8. Animation and Movement
- 8.1 Animating an Object
- Problem
- Solution
- Discussion
- 8.2 Basic Character Movement
- Problem
- Solution
- Discussion
- 8.3 Inverse Kinematics
- Problem
- Solution
- Discussion
- 8.4 Masked Movement
- Problem
- Solution
- Discussion
- 8.5 Blended Movement
- Problem
- Solution
- Discussion
- 8.6 Navigation and Animating in Sync
- Problem
- Solution
- Discussion
- 8.7 Cinematic Camera Tracking
- Problem
- Solution
- Discussion
- 8.8 Automatically Switching Cameras
- Problem
- Solution
- Discussion
- 8.9 Keeping Multiple Objects in View
- Problem
- Solution
- Discussion
- 8.10 Dollying a Camera
- Problem
- Solution
- Discussion
- Chapter 9. Gameplay
- 9.1 Managing Quests
- Problem
- Solution
- Discussion
- 9.2 Managing Hitpoints
- Problem
- Solution
- Discussion
- 9.3 Creating a Top-Down Camera
- Problem
- Solution
- Discussion
- 9.4 Dragging a Box to Select Objects
- Problem
- Solution
- Discussion
- 9.5 Creating a Menu Structure
- Problem
- Solution
- Discussion
- 9.6 Creating a Wheeled Vehicle
- Problem
- Solution
- Discussion
- 9.7 Keeping a Car from Tipping Over
- Problem
- Solution
- Discussion
- 9.8 Creating Speed Boosts
- Problem
- Solution
- Discussion
- 9.9 Creating a Camera That Orbits Around Its Target
- Problem
- Solution
- Discussion
- 9.10 Creating Orbiting Cameras That Won't Clip Through Walls
- Problem
- Solution
- Discussion
- 9.11 Detecting When the Player Has Completed a Lap
- Problem
- Solution
- Discussion
- Chapter 10. Behavior and AI
- 10.1 Defining a Path That AI Entities and the Player Can Follow
- Problem
- Solution
- Discussion
- 10.2 Letting Entities in Your Game Follow a Path
- Problem
- Solution
- Discussion
- 10.3 Enemies Detecting When They Can See the Player
- Problem
- Solution
- Discussion
- 10.4 Finding a Good Distribution of Random Points (Poisson Disc)
- Problem
- Solution
- Discussion
- 10.5 Enemies Detecting Where They Can Take Cover
- Problem
- Solution
- Discussion
- 10.6 Building and Using a State Machine
- Problem
- Solution
- Discussion
- Chapter 11. Sound and Music
- 11.1 Playing Sounds
- Problem
- Solution
- Discussion
- 11.2 Setting Up a Mixer
- Problem
- Solution
- Discussion
- 11.3 Using Audio Effects
- Problem
- Solution
- Discussion
- 11.4 Using Send and Receive Effects
- Problem
- Solution
- Discussion
- 11.5 Ducking
- Problem
- Solution
- Discussion
- 11.6 Using Multiple Audio Zones
- Problem
- Solution
- Discussion
- 11.7 Playing Audio Through Code
- Problem
- Solution
- Discussion
- 11.8 Using a Sound Manager
- Problem
- Solution
- Discussion
- Chapter 12. User Interface
- 12.1 Working with UI Controls
- Problem
- Solution
- Discussion
- 12.2 Theming Controls
- Problem
- Solution
- Discussion
- 12.3 Animating the UI
- Problem
- Solution
- Discussion
- 12.4 Creating a List of Items
- Problem
- Solution
- Discussion
- 12.5 Fading Out List Items
- Problem
- Solution
- Discussion
- 12.6 Creating Onscreen Position Indicators
- Problem
- Solution
- Discussion
- 12.7 Custom Editors
- Problem
- Solution
- Discussion
- 12.8 Property Drawers
- Problem
- Solution
- Discussion
- 12.9 Attribute Drawers
- Problem
- Solution
- Discussion
- 12.10 Asset Processing
- Problem
- Solution
- Discussion
- 12.11 Scripted Importers
- Problem
- Solution
- Discussion
- 12.12 Wizards
- Problem
- Solution
- Discussion
- Index
- About the Authors
System requirements
File format: ePUB
Copy protection: Adobe-DRM (Digital Rights Management)
System requirements:
- Computer (Windows; MacOS X; Linux): Install the free reader Adobe Digital Editions prior to download (see eBook Help).
- Tablet/smartphone (Android; iOS): Install the free app Adobe Digital Editions or the app PocketBook before downloading (see eBook Help).
- E-reader: Bookeen, Kobo, Pocketbook, Sony, Tolino and many more (not Kindle).
The file format ePub works well for novels and non-fiction books – i.e., „flowing” text without complex layout. On an e-reader or smartphone, line and page breaks automatically adjust to fit the small displays.
This eBook uses Adobe-DRM, a „hard” copy protection. If the necessary requirements are not met, unfortunately you will not be able to open the eBook. You will therefore need to prepare your reading hardware before downloading.
Please note: We strongly recommend that you authorise using your personal Adobe ID after installation of any reading software.
For more information, see our ebook Help page.