6. Unity3D.helloWorld();
● Basic workflow
● Setup the scene
● Add some scripts
● Play & tweak the game !
7. Show reels
● Some of Unity3D's great new features
● What they did
● How about us ?
Notas do Editor
Hi everyone and welcome to the wonderful world of Unity3D You might have heard of Unity3D before as it's one of the fastest growing technology for several years now. So, in today's presentation, I will, as the title say, introduce you to the Unity3D. Let's start !
What we will cover today will be some of the very basic concepts, you know what introduction mean, so don't expect to see high end AAA games coming out from this short presentation. We gonna talk about : 1. What is Untiy3D ? - at least you need to know this 2. Why should we use Unity3D at all ? Then we will go through some concepts that use extensively in Unity3d to at least percive how things works in Unity world. After that we will do a very simple project, and as we usually called it, A Helloworld ! At the end of the presentation I will show you some demos so you can see what Unity games look likes. Ready ? then GO !
So first thing first, What is Unity3D ? I will give you the possibly shortest definition in the world to Unity3D : It's a gaming platform. When you leave this room, when people ask you do you know Unity3D ? You can bravely say : "Sure, it's a 3D gaming platform", and that's it ! I'm taking a note here for the platform I mean not only the game engine but also the editor, the asset store, and the community. Though Unity3D's main aim is for creating 3D games, we actually can use it for many other purposes like Architectural Visualizations for buildings, creating virtual stores where people can come and see the products, interactive learning of machanics or even 2D games...
So there are many other gaming teachnology out there, why should we use Unity3D ? Firstly, Unity3D is in the top ten 3D games engines, it's actually 3 for 4, it's powerful enough to create blazing fast 60fps 3D games on all the supported devices. Also, it has a free IDE version with some limited features so it's cost nothing to Secondly, It's easy to learn Unity3D, actually you can get up and running in several hours, that is to say the learning curve is not steep, further more, the IDE is mostly the same as the game so you can play while you are doing it. The third reason that it support mutliple platforms, by multiple platform, I mean that not only the IDE is available for both PC and Mac, but the build target is for a vast ranges of devices : not only iOS, Android, Xbox 360, Wii but also the web, recently Flash with Stage3D and google's NaCl. It's comming to HTML5, too. By extendable i mean you can make extension right inside Unity3D using only Unity ID, that way you can build your own tool, to speed up the workflow or to suit your need. The community is big and active, you will be able to search for a solution of your problem quite quick, also the documentation is quite good, there are also numerous of free video trainings and tutorials to get you up and running with Unity in no time.
In Unity3D, besides the basic concepts of 3D world like Terrain, Texture, Shaders, Materials .... there is one important kind of Object you need to know, that is GameObject GameObject is the most primity object in Unity3D, everything in the scene is a GameObject, from the light, the camera to an audio source or a 3D model ... The only difference is the components attached to it, which defines the way the GameObjects behave to the outside world like how they looks or what they suppose to do with various types of interactions. The only component that always stick to a GameObject (even if it's an empty GameObject) is the Transform component, which repsents its position, rotation and scale in a 3D scene. This component also allow GameObjects to be nested in the hierachy (like parent-children relationship), so when we move a parent GameObject, all its children will move along. Easy enough to guess, the same would applied for scale and rotation ! A primity shape or a 3D model contains some more components : - Mesh Filter: contains data about each vertexes, edges and faces of the mesh - a MeshRenderer component: used to render this Object. A GameObject without a render component attached won't be visible (aka, not render in the scene), - an optional collider which will enable physics controls or interactions. A particle GameObject needs - a ParticleEmitter: to create particles - a ParticleAnimator: to animate them - a ParticleRenderer: to blend them onto the scene A Camera GameObject will contain a Camera component A Terrain GameObject will contain a Terrain component A 3D Text GameObject will has a TextMesh attached to it, together with a MeshRenderer to render the text mesh. There are several more types of prebuild GameObjects, like GuiText, Tree... but, overall, they are all empty GameObjects with various types of Components attached. We can modify primity GameObjects by adding /removing arbitrary number of components So, briefly, in Unity3D, there are GameObjects and Components, the components attach to the GameObject determine how that Object looks like and how it behave. Script is also one kind of component that you can add to any Object to make them behave the way you want, Unity support 3 kinds of script : Javascript / C# and Boo, a python dialect, this is to maximize the collaborations as developers might come from various backgrounds, with different skill sets, some is up to javascript others C# for sure ... C# and javascript can call each other easily so we can use both in the same project