Atjaunināt sīkdatņu piekrišanu

Unity in Action 3rd edition [Mīkstie vāki]

3.65/5 (40 ratings by Goodreads)
  • Formāts: Paperback / softback, 414 pages, height x width x depth: 232x186x26 mm, weight: 780 g
  • Izdošanas datums: 03-Mar-2022
  • Izdevniecība: Manning Publications
  • ISBN-10: 1617299332
  • ISBN-13: 9781617299339
  • Mīkstie vāki
  • Cena: 52,11 €
  • Grāmatu piegādes laiks ir 3-4 nedēļas, ja grāmata ir uz vietas izdevniecības noliktavā. Ja izdevējam nepieciešams publicēt jaunu tirāžu, grāmatas piegāde var aizkavēties.
  • Daudzums:
  • Ielikt grozā
  • Piegādes laiks - 4-6 nedēļas
  • Pievienot vēlmju sarakstam
  • Formāts: Paperback / softback, 414 pages, height x width x depth: 232x186x26 mm, weight: 780 g
  • Izdošanas datums: 03-Mar-2022
  • Izdevniecība: Manning Publications
  • ISBN-10: 1617299332
  • ISBN-13: 9781617299339
This hands-on beginners guide gets you building games fast, all with the awesome Unity engine! You’ll speed past the basics and use your existing coding skills to create 2D, 3D, and AR/VR games.

In Unity in Action, Third Edition, you will learn how to:

    Create characters that run, jump, and bump into things
    Build 3D first-person shooters and third-person action games
    Construct 2D card games and side-scrolling platformers
    Script enemies with AI
    Improve game graphics by importing models and images
    Design an intuitive user interface for your games
    Play music and spatially-aware sound effects
    Connect your games to the internet for online play
    Deploy your games to desktop, mobile, and the web

Thousands of new game developers have chosen Joe Hocking’s Unity in Action as their first step toward Unity mastery. Starting with the initial groundwork of a new game development project, you’ll quickly start writing custom code instead of clicking together premade scripts. This fully updated third edition comes packed with fully refreshed graphics, Unity’s latest features, and coverage of augmented and virtual reality toolkits. You'll master the Unity toolset from the ground up, learning the skills to go from application coder to game developer.

Foreword by Jesse Schell.

Purchase of the print book includes a free eBook in PDF, Kindle, and ePub formats from Manning Publications.

About the technology
Writing games is rewarding and fun—and with Unity, it’s easy to get started! Unity handles the heavy lifting, so you can focus on game play, graphics, and user experience. C# support and a huge ecosystem of prebuilt components help even first-time developers go from the drawing board to the screen fast.

About the book
Unity in Action, Third Edition teaches you to create games with the Unity game platform. It’s many 2D, 3D, and AR/VR game examples give you hands-on experience with Unity’s workflow tools and state-of-the-art rendering engine. This fully updated third edition presents new coverage of Unity’s XR toolkit and shows you how you can start building with virtual and augmented reality.

What's inside

    Create characters that run, jump, and bump into things
    Script enemies with AI
    Play music and spatially-aware sound effects
    Deploy your games to desktop, mobile, and the web

About the reader
For programmers who know any object-oriented programming language. Examples are in C#.

About the author
Joe Hocking is a software engineer and Unity expert specializing in interactive media development.

Table of Contents
PART 1 FIRST STEPS
1 Getting to know Unity
2 Building a demo that puts you in 3D space
3 Adding enemies and projectiles to the 3D game
4 Developing graphics for your game
PART 2 GETTING COMFORTABLE
5 Building a Memory game using Unity’s 2D functionality
6 Creating a basic 2D platformer
7 Putting a GUI onto a game
8 Creating a third-person 3D game: Player movement and animation
9 Adding interactive devices and items within the game
PART 3 STRONG FINISH
10 Connecting your game to the internet
11 Playing audio: Sound effects and music
12 Putting the parts together into a complete game
13 Deploying your game to players’ devices

Recenzijas

This is the best resource, bar none, for an introduction to Unity and fundamental game programming concepts.

Erik Hansson

This book is a wonderful introduction to Unity. I believe this book will be very useful to readers from a wide range of backgrounds. Everything is explained very well and is easy to read and understand.

Kent R. Spillner

This is a great introduction to Unity. I think it could even be used as the foundation for a high school or college course.

Robert Walsh

If you want to start building games as a hobby or a profession, this is a good place to start!

Bradley Irby

A great introduction to learning Game development with Unity and C#. The author steps you through all the elements of Unity so if you've never used Unity before, don't worry about it.

Owain Williams

If you already have some programming experience, this book on Unity can really help you connect into a new platform and enable you to create a game!



James Matlock

Foreword xv
Preface xvii
Acknowledgments xix
About This Book xxi
About The Author xxv
About The Cover Illustration xxvi
Part 1 First Steps 1(100)
1 Getting to know Unity
3(20)
1.1 Why is Unity so great?
4(6)
Unity's strengths and advantages
4(2)
Downsides to be aware of
6(1)
Example games built with Unity
7(3)
1.2 How to use Unity
10(6)
Scene view, Game view, and the Toolbar
12(2)
The mouse and keyboard
14(1)
The Hierarchy view and the Inspector panel
15(1)
The Project and Console tabs
16(1)
1.3 Getting up and running with Unity programming
16(7)
Running code in Unity: Script components
17(1)
Using Visual Studio, the included IDE
18(1)
Printing to the console: Hello World!
19(4)
2 Building a demo that puts you in 3D space
23(27)
2.1 Before you start
24(3)
Planning the project
24(1)
Understanding 3D coordinate space
25(2)
2.2 Begin the project: Place objects in the scene
27(6)
The scenery: Floor, outer walls, and inner walls
28(2)
Lights and cameras
30(2)
The player's collider and viewpoint
32(1)
2.3 Make things move: A script that applies transforms
33(4)
Visualizing how movement is programmed
33(1)
Writing code to implement the diagram
34(1)
Understanding local vs. global coordinate space
35(2)
2.4 Script component for looking around: MouseLook
37(7)
Horizontal rotation that tracks mouse movement
38(1)
Vertical rotation with limits
39(2)
Horizontal and vertical rotation at the same time
41(3)
2.5 Keyboard input component: First-person controls
44(6)
Responding to keypresses
44(1)
Setting a rate of movement independent of the computer's speed
45(1)
Moving the CharacterController for collision detection
46(1)
Adjusting components for walking instead of flying
47(3)
3 Adding enemies and projectiles to the 3D game
50(25)
3.1 Shooting via raycasts
51(6)
What is raycasting?
51(1)
Using the ScreenPoint ToRay command for shooting
52(2)
Adding visual indicators for aiming and hits
54(3)
3.2 Scripting reactive targets
57(3)
Determining what was hit
57(1)
Alerting the target that it was hit
58(2)
3.3 Basic wandering Al
60(4)
Diagramming how basic Al works
60(1)
"Seeing" obstacles with a raycast
61(1)
Tracking the character's state
62(2)
3.4 Spawning enemy prefabs
64(4)
What is a prefab?
64(1)
Creating the enemy prefab
65(1)
Instantiating from an invisible SceneController
65(3)
3.5 Shooting by instantiating objects
68(7)
Creating the projectile prefab
68(2)
Shooting the projectile and colliding with a target
70(3)
Damaging the player
73(2)
4 Developing graphics for your game
75(26)
4.1 Understanding art assets
76(2)
4.2 Building basic 3D scenery: Whiteboxing
78(4)
Whiteboxing explained
79(1)
Drawing a floor plan for the level
79(1)
Laying out primitives according to the plan
80(2)
4.3 Texturing the scene with 2D images
82(5)
Choosing a file format
83(1)
Importing an image file
84(1)
Applying the image
85(2)
4.4 Generating sky visuals by using texture images
87(3)
What is a skybox?
87(1)
Creating a new skybox material
88(2)
4.5 Working with custom 3D models
90(5)
Which file format to choose?
91(1)
Exporting and importing the model
92(3)
4.6 Creating effects by using particle systems
95(8)
Adjusting parameters on the default effect
96(2)
Applying a new texture for fire
98(1)
Attaching particle effects to 3D objects
99(2)
Part 2 Getting Comfortable 101(126)
5 Building a Memory game using Unity's 2D functionality
103(25)
5.1 Setting up everything for 2D graphics
104(6)
Preparing the project
105(2)
Displaying 2D images (aka sprites)
107(1)
Switching the camera to 2D mode
108(2)
5.2 Building a card object and making it react to clicks
110(3)
Building the object out of sprites
110(1)
Mouse input code
111(1)
Revealing the card on a click
112(1)
5.3 Displaying the various card images
113(6)
Loading images programmatically
113(1)
Setting the image from an invisible SceneController
114(2)
Instantiating a grid of cards
116(2)
Shuffling the cards
118(1)
5.4 Making and scoring matches
119(4)
Storing and comparing revealed cards
120(1)
Hiding mismatched cards
120(1)
Text display for the score
121(2)
5.5 Restart button
123(5)
Programming a UIButton component by using SendMessage
124(2)
Calling LoadScene from SceneController
126(2)
6 Creating a basic 2D playbrmer
128(19)
6.1 Setting up the graphics
129(3)
Placing the scenery
129(1)
Importing sprite sheets
130(2)
6.2 Moving the player left and right
132(2)
Writing keyboard controls
133(1)
Colliding with the block
134(1)
6.3 Playing the sprite's animation
134(3)
Explaining the Mecanim animation system
134(2)
Triggering animations from code
136(1)
6.4 Adding the ability to jump
137(3)
Falling from gravity
137(1)
Applying an upward impulse
138(1)
Detecting the ground
139(1)
6.5 Additional features for a platform game
140(7)
Unusual floors: Slopes and one-way platforms
140(2)
Implementing moving platforms
142(3)
Camera control
145(2)
7 Putting a GUI onto a game
147(24)
7.1 Before you start writing code
149(2)
Immediate mode GUI or advanced 2D interface?
149(1)
Planning the layout
150(1)
Importing UI images
151(1)
7.2 Setting up the GUI display
151(6)
Creating a canvas for the interface
151(2)
Buttons, images, and text labels
153(3)
Controlling the position of UI elements
156(1)
7.3 Programming interactivity in the UI
157(9)
Programming an invisible UIController
158(2)
Creating a pop-up window
160(3)
Setting values using sliders and input fields
163(3)
7.4 Updating the game by responding to events
166(5)
Integrating an event system
166(1)
Broadcasting and listening for events from the scene
167(1)
Broadcasting and listening for events from the HUD
168(3)
8 Creating a third-person 3D game: Player movement and animation
171(29)
8.1 Adjusting the camera view for third-person
173(7)
Importing a character to look at
174(1)
Adding shadows to the scene
175(2)
Orbiting the camera around the player character
177(3)
8.2 Programming camera-relative movement controls
180(4)
Rotating the character to face movement direction
180(3)
Moving forward in that direction
183(1)
8.3 Implementing the jump action
184(6)
Applying vertical speed and acceleration
185(1)
Modifying the ground detection to handle edges and slopes
186(4)
8.4 Setting up animations on the player character
190(10)
Defining animation clips in the imported model
192(2)
Creating the animator controller for these animations
194(3)
Writing code that operates the animator
197(3)
9 Adding interactive devices and items within the game
200(27)
9.1 Creating doors and other devices
201(5)
Doors that open and close on a keypress
201(2)
Checking distance and facing before opening the door
203(2)
Operating a color-changing monitor
205(1)
9.2 Interacting with objects by bumping into them
206(6)
Colliding with physics-enabled obstacles
206(1)
Operating the door with a trigger object
207(3)
Collecting items scattered around the level
210(2)
9.3 Managing inventory data and game state
212(8)
Setting up player and inventory managers
212(2)
Programming the game managers
214(3)
Storing inventory in a collection object: List vs. Dictionary
217(3)
9.4 Inventory UI for using and equipping items
220(9)
Displaying inventory items in the UI
220(3)
Equipping a key to use on locked doors
223(1)
Restoring the player's health by consuming health packs
224(3)
Part 3 Strong Finish 227(122)
10 Connecting your game to the internet
229(28)
10.1 Creating an outdoor scene
231(4)
Generating sky visuals by using a skybox
231(1)
Setting up an atmosphere that's controlled by code
232(3)
10.2 Downloading weather data from an internet service
235(12)
Requesting HTTP data using coroutines
238(4)
Parsing XML
242(1)
ParsingJSON
243(3)
Affecting the scene based on weather data
246(1)
10.3 Adding a networked billboard
247(6)
Loading images from the internet
247(3)
Displaying images on the billboard
250(1)
Caching the downloaded image for reuse
251(2)
10.4 Posting data to a web server
253(4)
Tracking current weather: Sending post requests
254(1)
Server-side code in PHP
255(2)
11 Playing audio: Sound effects and music
257(25)
11.1 Importing sound effects
258(3)
Supported file formats
258(2)
Importing audio files
260(1)
11.2 Playing sound effects
261(4)
Explaining what's involved: Audio clip vs. source vs. listener
261(2)
Assigning a looping sound
263(1)
Triggering sound effects from code
264(1)
11.3 Using the audio control interface
265(7)
Setting up the central AudioManager
265(2)
Volume control UI
267(4)
Playing UI sounds
271(1)
11.4 Adding background music
272(10)
Playing music loops
272(4)
Controlling music volume separately
276(2)
Fading between songs
278(4)
12 Putting the parts together into a complete game
282(32)
12.1 Building an action RPG by repurposing projects
283(16)
Assembling assets and code from multiple projects
284(2)
Programming point-and-click controls: Movement and devices
286(6)
Replacing the old GUI with a new interface
292(7)
12.2 Developing the overarching game structure
299(8)
Controlling mission flow and multiple levels
299(4)
Completing a level by reaching the exit
303(2)
Losing the level when caught by enemies
305(2)
12.3 Handling the player's progression through the game
307(7)
Saving and loading the player's progress
307(4)
Beating the game by completing three levels
311(3)
13 Deploying your game to players' devices
314(35)
13.1 Start by building for the desktop: Windows, Mac, and Linux
317(4)
Building the application
317(1)
Adjusting player settings: Setting the game's name and icon
318(1)
Platform-dependent compilation
319(2)
13.2 Building for the web
321(4)
Building the game embedded in a web page
321(1)
Communicating with JavaScript in the browser
322(3)
13.3 Building for mobile: iOS and Android
325(16)
Setting up the build tools
326(5)
Texture compression
331(1)
Developing plugins
332(9)
13.4 Developing XR (both VR and AR)
341(8)
Supporting virtual reality headsets
341(1)
AR Foundation for mobile Augmented Reality
342(7)
Afterword 349(4)
Appendix A Scene Navigation And Keyboard Shortcuts 353(3)
Appendix B External Tools Used Alongside Unity 356(4)
Appendix C Modeling A Bench In Blender 360(9)
Appendix D Online Learning Resources 369(4)
Index 373
Joe Hocking is a software engineer and Unity expert specializing in interactive media development.