Book Image

Unity 3.x Game Development Essentials

By : Will Goldstone
Book Image

Unity 3.x Game Development Essentials

By: Will Goldstone

Overview of this book

Game Engines such as Unity are the power-tools behind the games we know and love. Unity is one of the most widely-used and best loved packages for game development and is used by everyone, from hobbyists to large studios, to create games and interactive experiences for the web, desktop, mobile, and console. With Unity’s intuitive, easy to learn toolset and this book – it’s never been easier to become a game developer. Taking a practical approach, this book will introduce you to the concepts of developing 3D games, before getting to grips with development in Unity itself – prototyping a simple scenario, and then creating a larger game. From creating 3D worlds to scripting and creating game mechanics you will learn everything you’ll need to get started with game development. This book is designed to cover a set of easy-to-follow examples, which culminate in the production of a First Person 3D game, complete with an interactive island environment. All of the concepts taught in this book are applicable to other types of game, however, by introducing common concepts of game and 3D production, you'll explore Unity to make a character interact with the game world, and build puzzles for the player to solve, in order to complete the game. At the end of the book, you will have a fully working 3D game and all the skills required to extend the game further, giving your end-user, the player, the best experience possible. Soon you will be creating your own 3D games with ease!
Table of Contents (21 chapters)
Unity 3.x Game Development Essentials
Credits
Foreword
About the Author
About the Reviewers
www.PacktPub.com
Preface
Index

Scripting for character movement


This script is an example of a character control script that uses the Input class and CharacterController class' Move command to create character movement by manipulating a Vector3 variable.

Deconstructing the script

To test how much you have learned so far, take a look at the script in its entirety first, to see how much you can understand, then read on to see each part deconstructed.

Full script (Javascript)

The full deconstruction of the script is as follows:

var speed : float = 6.0;
var jumpSpeed : float = 8.0;
var gravity : float = 20.0;
private var moveDirection : Vector3 = Vector3.zero;
private var grounded : boolean = false;
function FixedUpdate() {
  if (grounded) {
    moveDirection = Vector3(Input.GetAxis("Horizontal"), 0,
  Input.GetAxis("Vertical"));
    moveDirection = transform.TransformDirection(moveDirection);
    moveDirection *= speed;
    
    if (Input.GetButton ("Jump")) {
      moveDirection.y = jumpSpeed;
    }
  }
  moveDirection.y -=...