Learning Unity 3D
- Posted: Jun 03, 2015 at 6:00AM
I've received a number of emails and comments about Unity, mostly "How do I get started..."
For those looking to get started, today is your day! Vahe Karamian recently published a great 10+1 series of posts on learning Unity 3D.
It has been a while since my last article, but coming back I have decided to write an article, or a series of articles, about a game engine called UNITY 3D which happens to be one of the most popular in the industry as of today.
There are several really outstanding benefits to the engine:
You can get a community version which works beautifully and is more then what most people will ever need.
The community itself is very large and active, hence you will always be able to find other developers and designers to help you in case you need any assistance.
You can develop for Unity 3D either on a Windows or a Macintosh also some flavors of Linux.
You can use C# to do the scripting / programming of your game.
You can target many platforms for your release.
The list can go on. I have listed some of the main points which I find attractive in Unity 3D. Also, since the community version is FREE, you can research and play around with the environment and your ideas before investing more time and money into it.
In any case this article is not about the financial aspect of the engine, but rather an introduction to the fundamental concepts to the game engine and how to get started for those who are eager to jump-start their own ideas.
So without further ado, we will be looking at the IDE and discuss some of the basics before we can start diving into more details.
- Unity 3D – Game Programming – Part 1
- Unity 3D – Game Programming – Part 2
- Unity 3D – Game Programming – Part 3
- Unity 3D – Game Programming – Part 4
- Unity 3D – Game Programming – Part 5
- Unity 3D – Game Programming – Part 6
- Unity 3D – Game Programming – Part 7
- Unity 3D – Game Programming – Part 8
- Unity 3D – Game Programming – Part 9
- Unity 3D – Game Programming – Part 10
Unity 3D Networking Article(s):
Link to live preview: http://www.noorcon.com/CodeProject/CodeProjectArticlePreview.html
It is assumed that the reader of this article is familiar with programming concepts in general. It is also assumed that the reader has an understanding and experience of the C# language. It is also recommended that the reader of the article is familiar with Object-Oriented Programming and Design Concepts as well. We will be covering them briefly throughout the article as needed, but we will not get into the details as they are separate topics altogether. We also assume that you have a passion to learn 3D programming and have the basic theoretical concepts for 3D Graphics and Vector Math.
Lastly, the article uses Unity 3D version 4.6.1 which is the latest public release as of the initial publication date. Most of the topics discussed in the series will be compatible with older versions of the game engine, and perhaps also the new version which is supposed to be release sometime this year. There is however, one topics which is significantly different in the current 4.6.1 version compared to the older version of the game engine, and that is the UI (User Interface) pipeline. This is due to the new UI architecture in the engine which is far superior to what we had prior to this release. I for one, am very happy with the new UI architecture.
Using the code
Before we start, you will need to get the game engine. You can download it from the following link: www.unity3d.com. It is a large download so make sure you have a fast and reliable connection before getting the installer.
You can get the installer for both Windows and Mac operating systems. Everything in this article will be applicable to both platforms. The main difference would be the keyboard access shortcuts, other than that everything else should be the same.
Downloading the project/source code for article series: Download source.
Ok, assuming you have downloaded and installed the Unity 3D engine. We can now start with the basics.
Points of Interest
I would encourage you to do more reading and practice with the Unity 3D game engine. Before we can discuss some of the more complex concepts and procedures, you should spend some time getting more familiar and comfortable with the IDE.
The next best thing would be to make sure that you are practicing your C# programming knowledge.
And lastly, slowly start to read about Computer Graphics theories and concepts to get a better feel and understanding of what is going on within the engine.
In the first part of the series we started by the very basics of the Unity 3D environment. Getting a feel of the IDE and the different sections which you will be working with throughout your project. We also covered how to use the tools in the designer to apply different transformation to a selected Game Object: positioning, rotation and scaling. We finally looked at how to create our first script and using the script apply a rotation transform on the Y-Axis of our cube.
In the second part of the series, we looked at more of the transformation of a given object through coding. We also looked at how to create light sources that are crucial for the rendering of your objects in the scene.
In the third part of the series we looked at how to process user input through the keyboard and based on the key code take particular actions.
In the fourth part of the series, we looked at creating a simple user interface. The user interface that we developed provided us a means to feedback to the user, and also another method for the user to input to our game or simulation.
In the fifth part, we started the idea of a simple game. We also looked at how to import 3D models into the game engine.
In the sixth part, we expanded on our game idea and making it more interesting and more complete. We introduced several concepts regarding game play and game design as well as created a simple user interface for our game.
In the seventh part, we answered some of the questions that got raised in Part 6.
In the eighth part, we creating a better user experience and also visuals for our players.
In part nine of the series, we enhanced the visual effects of our little game. We also be introduced a start menu for the game where the user could select some options and also determine the difficulty of the game. In addition, we introduced sound effects and visual effects to enhance the overall look and feel of the game.
In part ten, we are going to implement the game option feature that will allow the user to control the volume of the background noise and the volume of the sound effects we implemented in part 9. In addition, we are going to introduce another game play element, a health bar object to increase our health if we can capture it in time!
Make sure you check out all 10!