Unity Game Development
1. Introduction to Unity
- Getting to Know the Unity Editor
- The Project Dialog
- The Unity Interface
- The Project View
- The Hierarchy View
- The Inspector View
- The Scene View
- The Game View
- Honorable Mention: The Toolbar
- Navigating the Unity Scene View
- The Hand Tool
- Flythrough Mode
- Dimensions and Coordinate Systems
- Putting the D in 3D
- Using Coordinate Systems
- World Versus Local Coordinates
- Game Objects
- Transforms
- Translation
- Rotation
- Scaling
- Hazards of Transformations
- Transforms and Nested Objects
- The Basics of Models
- Built-In 3D Objects
- Importing Models
- Models and the Asset Store
- Textures, Shaders, and Materials
- Textures
- Shaders
- Materials
- Shaders Revisited
- Terrain Generation
- Adding Terrain to Your Project
- Heightmap Sculpting
- Unity Terrain Sculpting Tools
- Terrain Textures
- Importing Terrain Assets
- Texturing Terrain
- Environments
- Generating Trees and Grass
- Painting Trees
- Painting Grass
- Terrain Settings
- Environment Effects
- Skyboxes
- Fog
- Lens Flares
- Water
- Character Controllers
- Adding a Character Controller
- Fixing Your World
- Lights
- Point Lights
- Spotlights
- Directional Lights
- Creating Lights Out of Objects
- Halos
- Cookies
- Cameras
- Anatomy of a Camera
- Multiple Cameras
- Split Screen and Picture in Picture
- Layers
- Working with Layers
- Using Layers
- Design
- The Concept
- The Rules
- The Requirements
- Creating the Game World
- Sculpting the World
- Adding the Environment
- The Character Controller
- Gamification
- Adding Game Control Objects
- Adding Scripts
- Connecting the Scripts Together
- Playtesting
- Scripts
- Creating Scripts
- Attaching a Script
- Anatomy of a Basic Script
- The Using Section
- The Class Declaration Section
- The Class Contents
- Variables
- Creating Variables
- Variable Scope
- Public and Private
- Operators
- Arithmetic Operators
- Assignment Operators
- Equality Operators
- Logical Operators
- Conditionals
- The if Statement
- The if / else Statement
- The if / else if Statement
- Iteration
- The while Loop
- The for Loop
- Methods
- Anatomy of a Method
- Writing Methods
- Using Methods
- Input
- Input Basics
- Input Scripting
- Specific Key Input
- Mouse Input
- Accessing Local Components
- Using GetComponent
- The Transform
- Accessing Other Objects
- Finding Other Objects
- Modifying Object Components
- Hour 10. Collision
- Rigidbodies
- Collision
- Colliders
- Physics Materials
- Triggers
- Raycasting
- Design
- The Concept
- The Rules
- The Requirements
- The Arena
- Creating the Arena
- Texturing
- Super Bouncy Material
- Finish the Arena
- Game Entities
- The Player
- Chaos Balls
- The Colored Balls
- The Control Objects
- The Goals
- The Game Controller
- Improving the Game
- Prefab Basics
- Prefab Terminology
- Prefab Structure
- Working with Prefabs
- Adding a Prefab Instance to a Scene
- Inheritance
- Instantiating Prefabs Through Code
- The Basics of 2D Games
- The 2D Scene View
- Orthographic Cameras
- Adding Sprites
- Importing Sprites
- Sprite Mode
- Imported Sprite Sizes
- Draw Order
- Sorting Layer
- Order in Layer
- 2D Physics
- Rigidbody 2D
- 2D Colliders
- Basic UI Principles
- The Canvas
- The Rect Transform
- Anchors
- Additional Canvas Components
- UI Elements
- Images
- Text
- Buttons
- Canvas Render Modes
- Screen-Space Overlay
- Screen-Space Camera
- World Space
- The Concept
- The Rules
- The Requirements
- The World
- The Camera
- The Background
- Game Entities
- The Player
- The Meteors
- The Bullets
- The Triggers
- The UI
- Controls
- Game Control
- The Meteor Script
- The Meteor Spawn
- The DestroyOnTrigger Script
- The ShipControl Script
- The Bullet Script
- Improvements
- Particle Systems
- Particles
- Unity Particle Systems
- Particle System Controls
- Particle System Modules
- Default Module
- Emission Module
- Shape Module
- Velocity over Lifetime Module
- Limit Velocity over Lifetime Module
- Force over Lifetime Module
- Color over Lifetime Module
- Color by Speed Module
- Size over Lifetime Module
- Size by Speed Module
- Rotation over Lifetime Module
- Rotation by Speed Module
- External Forces Module
- Collision Module
- Sub Emitter Module
- Texture Sheet Module
- Renderer Module
- The Curve Editor
- Animation Basics
- The Rig
- The Animation
- Animation Types
- 2D Animations
- Creating the Animation
- Animation Tools
- Animation Window
- Creating a New Animation
- Record Mode
- The Curves Editor
- Animator Basics
- Rigging Revisited
- Importing a Model
- Configuring Your Assets
- Rig Preparation
- Animation Preparation
- Creating an Animator
- The Animator View
- The Idle Animation
- Parameters
- States and Blend Trees
- Transitions
- Scripting Animators
- The Concept
- The Rules
- The Requirements
- The World
- The Scene
- The Ground
- Scrolling the Ground
- The Entities
- The Power Ups
- The Obstacles
- The Trigger Zone
- The Player
- The Controls
- Trigger Zone Script
- The Game Control Script
- The Player Script
- The Move Script
- The Spawn Script
- Putting It All Together
- Room for Improvement
- Audio Basics
- Parts of Audio
- 2D and 3D Audio
- Audio Sources
- Importing Audio Clips
- Testing Audio in the Scene View
- 3D Audio
- 2D Audio
- Audio Scripting
- Starting and Stopping Audio
- Changing Audio Clips
- Preparing for Mobile
- Setting Up Your Environment
- The Unity Remote
- Accelerometers
- Designing for the Accelerometer
- Using the Accelerometer
- Multi-Touch Input
- Cross-Platform Input
- Virtual Controls
- Converting Projects to Mobile
- Amazing Racer
- Using Tilt Control
- Using a Touch Joystick
- Fixing the Disappearing Joystick
- Chaos Ball
- Captain Blaster
- Gauntlet Runner
- Managing Scenes
- Establishing Scene Order
- Switching Scenes
- Persisting Data and Objects
- Keeping Objects
- Saving Data
- Unity Player Settings
- Cross-Platform Settings
- Per-Platform Settings
- Building Your Game
- Build Settings
- Game Settings