Zum Hauptinhalt springen
Nicht aus der Schweiz? Besuchen Sie lehmanns.de

Unity 3D Game Development (eBook)

Designed for passionate game developers-Engineered to build professional games
eBook Download: EPUB
2022
370 Seiten
Packt Publishing (Verlag)
9781801077231 (ISBN)

Lese- und Medienproben

Unity 3D Game Development -  Davis Anthony Davis,  Craig Russell Craig,  Stunkel Ryan Stunkel,  Baptiste Travis Baptiste
Systemvoraussetzungen
26,99 inkl. MwSt
(CHF 26,35)
Der eBook-Verkauf erfolgt durch die Lehmanns Media GmbH (Berlin) zum Preis in Euro inkl. MwSt.
  • Download sofort lieferbar
  • Zahlungsarten anzeigen

This book, written by a team of experts at Unity Technologies, follows an informal, demystifying approach to the world of game development.
Within Unity 3D Game Development, you will learn to:
Design and build 3D characters and game environments
Think about the users' interactions with your game
Develop an interface and apply visual effects to add an emotional connection to your world
Gain a solid foundation of sound design, animations, and lighting
Build, test, and add final touches
The book contains expert insights that you'll read before you look into the project on GitHub to understand all the underpinnings. This way, you get to see the end result, and you're allowed to be creative and give your own thoughts to design, as well as work through the process with the new tools we introduce.
Join the book community on Discord to read this book with Unity game developers, and the team of authors. Ask questions, build teams, chat with the authors, participate in events and much more. The link to join is included in the book.


Create ready-to-play 3D games with reactive environments, sound, dynamic effects, and more!Key FeaturesBuild a solid foundation for game design and game developmentUnderstand the fundamentals of 3D such as coordinates, spaces, vectors, and camerasGet to grips with essential Unity concepts including characters, scenes, terrains, objects and moreBook DescriptionThis book, written by a team of experts at Unity Technologies, follows an informal, demystifying approach to the world of game development.You'll learn the 3D and C# fundamentals before starting to build one short segment of the full game - a vertical slice. With every progressing chapter, you'll learn to improve this game (alongside building your own) to make it ready to pitch to studios.Within Unity 3D Game Development, you will learn to:Design and build 3D characters, and the game environmentThink about the users' interactions with your gameDevelop the interface and apply visual effects to add an emotional connection to your worldGrasp a solid foundation of sound design, animations, and lightning to your creationsBuild, test, and add final touchesThe book is split between expert insights that you'll read before you look into the project on GitHub to understand all the underpinnings. This way, you get to see the end result, and you're allowed to be creative and give your own thoughts to design, as well as work through the process with the new tools we introduce.Join the book community on Discord: Read this book with Unity game developers, and the team of authors. Ask questions, build teams, chat with the authors, participate in events and much more. The link to join is included in the book.What you will learnLearn fundamentals of designing a 3D game and C# scriptingDesign your game character and work through their mechanics and movementsCreate an environment with Unity Terrain and ProBuilderExplore instantiation and rigid bodies through physics theory and codeImplement sound, lighting effects, trail rendering, and other dynamic effectsCreate a short, fully functional segment of your game in a vertical slicePolish your game with performance tweaksJOIN the 'book-club' to read alongside other users, Unity experts, and ask the authors when stuckWho this book is forOur goal with this book is to enable every reader to build the right mindset to think about 3D games, and then show them all the steps we took to create ours.The main target audience for this book is those with some prior knowledge in game development, though regardless of your experience, we hope to create an enjoyable learning journey for you.

1


A Primer to the Third Dimension


Welcome!

It’s a pleasure to have you join us on this journey to learn the fundamentals of 3D game development. Firstly, we will introduce you to the team who wrote this book.

  • Travis Bapiste (3D Artist) directed the art, modeled every model in the game, rigged the character, and helped define the design of the story.
  • Russell Craig (Sr. Software Engineer) created the scripts for the mechanics.
  • Ryan Stunkel (Sound designer) created and implemented all the sounds throughout the project.
  • Anthony Davis (Sr. Technical Artist) wrote the book, managed the project, built effects and shaders, and polished the project.

Ensuring we brought out the best of our collective experience of over 50 years (with 4 brains behind every page in this book) was a roller-coaster (and too much fun!) each day. We’ve spent over six months and two revisions to the entire book (as well as hundreds of GIFs that we have exchanged during the process) to include the most suitable use-cases that explain new concepts and, most importantly, offer a teaching approach that works. In the end, we believe we’ve successfully created a book that would have shaped the trajectory of our careers in game development and pushed us ahead by at least 3-5 years.

This book will equip you with all the tools you’ll need to start building; however, you might need more support and advice en-route to turn your ideas into creations.

That’s where our Discord server comes into play. It introduces the element of interactivity for us to connect, read the book together and have a conversation about your 3D game projects. I am available on Discord more than ever to ensure you get through with the book with ease, so please feel free to come say hi and ask any questions!

Don’t forget to drop in your quick intro in the channel #introduce-yourself when you join in: https://packt.link/unity3dgamedev

Well, let’s get started!

Goal of this book


Our goal with this book is to enable every reader to build the right mindset to think about 3D games, and then show them all the steps we took to create ours. An absolute beginner is welcome to work through this book, however the topics may ramp up in difficulty quite quickly. Though difficult, if you stick with it, you will have taken multiple steps towards mastery in game development. The main target audience for this book is those with some prior knowledge in game development, though regardless of your experience, we hope to create an enjoyable learning journey for you. The concepts we will cover soon become complex with characters, programming, design patterns, and more that we’ll learn.

To make the best use of the book, I’d recommend you follow the approach below:

  • Read through the chapters, deliberately taking breaks to think about the concepts.
  • When something is brand new, check our project in GitHub to see if viewing it in action can help explain it further. If it doesn’t, take to Google to do your own research on it.
  • If something isn’t available in the project, send me a message over Discord or seek help from peers in the community server—the link is shared above.
  • Move on to the next section and repeat!

This approach will allow you to take ownership over the areas you struggle with; once you have gone through the process, you can seek help from peers. The problems that you encounter may also be encountered by others. Solving them and bringing them to the Discord or having your peers help with the solution emboldens the overall knowledge of the community.

This book is designed for you to read through our approach and then look into the project to understand all the underpinnings. It’s more important to understand the design of why we did what we did first. We take time to go over fundamentals of the Unity interface as well, but tech can be learned over time with plenty of resources online.

Some things you will not find in here are how to model characters, rig, or animate them. We speak very little about this process as that is its own training. We do go over why we designed our character the way we did, to help you on your journey to do the same. The project has all the animations and cinematics in it, so the final products are available to see the results of our work. This approach is a strong way to learn, and we teach you why things are done the way that they are. This way, you get to see the end result, and you’re allowed to be creative and give your own thought to design, as well as work through the process on your own with new tools while working your way through the chapters.

Lastly, before we sink our teeth into the content, we’d like to advise you to open the GitHub repo, navigate to the Builds folder, and play it for yourself. This will help you to see what our small team put together in its complete form. After playing it through, you can visualize what we went through while building this project from the start.

Let’s dive into what topics we will cover in this chapter:

  • Coming around to 3D
  • Essential Unity concepts
  • The Unity interface

Let’s get started by familiarizing ourselves with the basic components of 3D game development.

Coming around to 3D


We will be going over a basic understanding of 3D work within this section. From coordinate systems to the makeup of how the 3D model is rendered, we will only go surface-level to ensure that you fully understand the foundations as you progress through this journey. By reading through this, you will gain a strong understanding of how Unity displays items.

Coordinate systems


3D coordinate systems are not all the same in each 3D application! As is demonstrated in Figure 1.1, Unity is a left-handed world coordinate system with +y facing upward. Looking at Figure 1.1, you can visualize the difference between left-handed and right-handed systems.

Figure 1.1: Coordinate systems

While we work within these coordinate systems, you will see the positions of objects represented in an array of three values within parentheses as follows:

(0, 100, 0)

This represents (x, y, z) respectively. This is a good habit to get into as programming utilizes very similar syntax when writing positions within scripts. When we talk about position, it is commonly referred to as the transform inside whichever Digital Content Creator (DCC) you’re using. In Unity, the transform holds position, rotation, and scale.

Now we understand the world coordinates, (x, y, z), and that those coordinates each start at 0, represented by (0, 0, 0). In Figure 1.2 below, where the colored lines meet is (0, 0, 0) in the world. The cube has its own transform, which encompasses that object’s transform, rotation, and scale. Keep in mind that transform holds the local position, rotation, and scale. World transforms are calculated from this following their hierarchy.

Figure 1.2: 3D coordinate system

The cube in Figure 1.2 is at (1, 1.5, 2). This is called world space as the item’s transform is being represented through the world’s coordinates starting from (0, 0, 0).

Figure 1.3: World space vs local space

Now that we know the cube’s transform is in relation to the world (0, 0, 0), we will go over the parent-child relationship that describes the local space. In Figure 1.3 above, the sphere is a child of the cube. The sphere’s local position is (0, 1, 0) in relation to the cube. Interestingly, if you now move the cube, the sphere will follow as it’s only offset from the cube and its transforms will remain (0, 1, 0) in relation to the cube.

Vectors


Traditionally, a vector is a unit that has more than one element with a direction. In a 3D setting, a Vector3 will look very similar to what we’ve worked with so far. (0, 0, 0) is a Vector3! Vectors are used in very many solutions for game elements and logic. Usually, the developer will normalize vectors so, that way, the magnitude will always equal 1. This allows the developer to work with the data very easily as 0 is the start, 0.5 is halfway, and 1 is the end of the vector.

Cameras


Cameras are incredibly useful components! They humbly show us their perspective, which allows our players to experience what we are trying to convey to them. As you may have guessed, a camera also has a transform, just like all GameObjects (which we will describe later in the chapter) in the hierarchy. Cameras also have several parameters that can be changed to obtain different visual effects.

Different game elements and genres use cameras in different ways. For example, the game Resident Evil uses static cameras to give a sense of tension, not knowing what’s outside the window or around the corner, while Tomb Raider pulls the camera in close while the player character Lara goes through caverns, giving...

EPUBEPUB (Ohne DRM)

Digital Rights Management: ohne DRM
Dieses eBook enthält kein DRM oder Kopier­schutz. Eine Weiter­gabe an Dritte ist jedoch rechtlich nicht zulässig, weil Sie beim Kauf nur die Rechte an der persön­lichen Nutzung erwerben.

Dateiformat: EPUB (Electronic Publication)
EPUB ist ein offener Standard für eBooks und eignet sich besonders zur Darstellung von Belle­tristik und Sach­büchern. Der Fließ­text wird dynamisch an die Display- und Schrift­größe ange­passt. Auch für mobile Lese­geräte ist EPUB daher gut geeignet.

Systemvoraussetzungen:
PC/Mac: Mit einem PC oder Mac können Sie dieses eBook lesen. Sie benötigen dafür die kostenlose Software Adobe Digital Editions.
eReader: Dieses eBook kann mit (fast) allen eBook-Readern gelesen werden. Mit dem amazon-Kindle ist es aber nicht kompatibel.
Smartphone/Tablet: Egal ob Apple oder Android, dieses eBook können Sie lesen. Sie benötigen dafür eine kostenlose App.
Geräteliste und zusätzliche Hinweise

Buying eBooks from abroad
For tax law reasons we can sell eBooks just within Germany and Switzerland. Regrettably we cannot fulfill eBook-orders from other countries.

Mehr entdecken
aus dem Bereich
Der Leitfaden für die Praxis

von Christiana Klingenberg; Kristin Weber

eBook Download (2025)
Carl Hanser Fachbuchverlag
CHF 48,80