SlideShare a Scribd company logo
Unity3D Introduction Meeting 
GarageGeeks HQ 
25 / 1 / 2012
Hi ! 
● I am Noam Gat 
● (Ex) Game Developer at Omek (with Unity) 
● Team member in Ogre3D graphics engine 
● GameIS Member (Join us!)
And you are... 
● Mostly programmers 
● Little to no experience in game-dev 
● Disagree? Raise your hand!
Lama Anglit? 
כי זה יותר נוח! ● 
נלמד כמה מושגים, עדיף שיהיו מקושרים ● 
לסביבה שנעבוד בה. 
אני מפחד מעברית. ●
Mission Statement 
What are we NOT going to do ? 
● Learn how to program / design games 
● Learn enough to develop a game on our own 
● Be 100% punctual and exact
Mission Statement 
So what are we going to do ? 
● Understand what a GAME ENGINE is 
● Get a broad sense of how to work with unity 
● Be able to work / talk with other UNITY devs
What is a game ? 
Lets look at it from a 
programmer's point of view...
What is a game ? 
My “Hello world” program : 
● Has a start point and an end point 
int main() 
{ 
print(“Hello world”); 
} 
Often called a “procedural” program
What is a game ? 
My “GUI / Forms / Widgets” program : 
● Doesn't have a known end point / time. 
void OnButtonDown() 
{ 
MessageBox.Show(“Hello world”); 
} 
Often called an “event based” program
What is a game ? 
But why does “OnButtonDown” get called? 
● Because the RUNTIME ENGINE invokes it. 
We already don't control everything, but have 
just enough power to do what we need.
What is an event ? 
Depends on who you ask. 
● GUI Apps? Mouse and keyboard movement 
and presses, socket connections etc. 
● Games? Input, network, physics, and 
(IMO the difference) - Time
What is a game ? 
“A game is just an event-based application 
in which things happen even if nobody does 
anything” 
Noam Gat, “Unity 3D Introduction Meeting”, 25.1.2012
What is a game engine? 
A GAME ENGINE is an environment that 
manages the different ENTITIES and 
SUBSYSTEMS of a game and sends the 
correct events to the code that the 
developer writes.
What subsystems? 
Central managers of different aspects 
● Scene graphs (Hierarchy) 
● Presentation (Graphics and Audio) 
● Input (On-site and remote) 
● Resources (Art and tech - Project) 
● Logic (Physics, AI, Behaviors)
Entities ? 
● ENTITIES are a design pattern in which 
systems are broken down into small 
pieces that work together to create 
complex behavior. In UNITY these are called 
GAME OBJECTS.
Hello box
Hello box 
What's in the box? 
● A TRANSFORM (position in the world) 
● A MESH (visual geometry) 
● A MATERIAL (rendering properties like color) 
● A COLLIDER (physics geometry) 
● A RIGID BODY (physical properties like mass)
Hello box 
TRANSFORM 
MESH 
COLLIDER 
MATERIAL 
RIGID BODY 
Do we always need everything?
Modularity 
If we don't need physics, we can remove components. 
Can we remove any more components?
Unity Editor 
The INSPECTOR shows the components of an object 
The SCENE view shows us the world as it is 
The GAME view shows us the world from the camera 
The HIERARCHY shows us the objects in the current scene 
The PROJECT shows us all of the assets in the project
I want to code ! 
Coding in Unity is done via custom BEHAVIORS written 
in the Mono (like .NET) environment. 
Unity supports C# and variants of javascript, python. 
We will use javascript / C# today.
I want to code 
But first : How to navigate in the world in the editor. 
MOVIE
Exercise #1 : Spinning Cube 
1. Split into groups of 2 – 4 people 
2. Create a new (empty) unity project 
3. Create a scene and put a box in it, without physics 
4. Create a javascript script in the project, and put the 
following line in the Update function : 
transform.RotateAroundLocal(Vector3.up, 1); 
5. Attach the script to the cube in the scene 
6. Press play and watch the magic happen!
Exercise #1 : Post Mortem 
What happened? 
1. The cube has a BEHAVIOR on it 
2. UNITY calls its Update() function (why? docs) 
3. The cube spins around a bit : 
transform.RotateAroundLocal(Vector3.up, 1); 
4. After spinning a bit for a lot of frames, it spins a lot
Exercise #1 : Post Mortem 
Do we really know what is happening? 
How fast is the cube spinning?
Exercise #2 : In Control 
In the same group, modify the script so that 
A: It contains a modifyable rotating speed, called 
“turns per second”. Do this with this line : 
public var turnsPerSecond = 1.0f; 
B: The cube rotates along that speed. Hint : 
Time.deltaTime, Mathf.PI 
C: Try changing the parameter at 
Runtime!
Exercise #2 : In Control 
Solution : 
transform.RotateAroundLocal(Vector3.up, 
Time.deltaTime * turnsPerSecond * Mathf.PI * 2); 
(Not important if you missed the 2)
Exercise #2 : In Control 
We just learned how to configure our entities! 
- It makes it easy to separate logic (code) from design 
decisions (parameters for components). 
- Even <Insert none-coder stereotype here> can 
control the spinning cube!
Exercise #2.1 : In Control-er 
Its not a game if we don't have any gameplay... 
OMG LETS CONTROL THE SPINNING SPEED!!! 
1. Declare two new parameters : 
public var turnMoreKey = KeyCode.D; 
public var turnLessKey = KeyCode.A; 
2. Use Input.GetKey(...) to control the spinning speed.
Prefabs 
After a few components your objects could get complicated. 
You might want to classify a “cube with a transform spinner” 
A “spinning cube”.
Exercise #2.2 : In Control-est 
1. Create a prefab by dragging the cube to the project view. 
2. Create one instance of the prefab for each team member 
by dragging it to the scene. 
Give each instance different control keys. 
3. Battle it out for the spinningest cube!
Summary 
Yadda yadda yadda. 
I'll crowdsource this one.
Congratulations ! 
You now know Unity! 
You can do anything you want with it! 
Lets play spinning cube!
No, really. 
You understand how different systems connect to each 
other (we used the INPUT subsystem to control a 
TRANSFORM COMPONENT of a specific 
GAMEOBJECT) 
Lets try to learn how to learn.
Exercise #3 : Gone Fishing 
We want to know how each player is doing. 
For each cube, display an on-screen string in the form of : 
“Dudu's cube : Y rotation is 121.221 degrees” 
How will we do this? 
Help → Manual / Reference Manual / Scripting Reference 
We are looking for a Graphical User Interface (GUI) 
No cheating (Forums / internet) for this one please!
Hierarchies 
Pretty good video here as well, I'll just play it
Exercise #4 : Tabletop 
1. Create a simple scene of a table, a tray on the table 
and some fruits on the tray. 
2. Use parenting to create a correct hierarchy. 
3. Place transform spinners on many elements in your 
scene. Check that the scene makes sense when you 
move them.
Summary 
What have we learned? 
● What should a GAME ENGINE give us 
● How does UNITY separate itself into different 
SUBSYSTEMS and COMPONENTS 
● How can we extend UNITY and make our code run in it 
● How to answer our own questions about UNITY
Exercise #5 : Explore! 
1. Open the “Angry Bots” sample project. 
2. Spend about 5-10 minutes looking around, another 
three minutes deciding on something to do in it, 
then take 15-20 minutes to do it (if time permits). 
3. GL HF!
What now ? 
You don't know how to make games... YET
Be like the squirrel 
You should (hopefully) be able to take a big problem 
(“how to create a game?”) and rip it apart to smaller 
questions and research into them on your own.
Give it a whirl 
1. Global game jam 
This weekend! 
2. Advanced unity meetings 
Israeli Unity3D developers UNITE! 
3. Facebook groups. 
Israeli Unity3d developers 
4. The only limit is yourself. 
Welcome to zombo.com
Questions?
Cheers!

More Related Content

PDF
The Basics of Unity - The Game Engine
OrisysIndia
 
PPTX
Unity Game Engine - Basics
FirosK2
 
PPT
Introduction to Unity3D Game Engine
Mohsen Mirhoseini
 
PPTX
PRESENTATION ON Game Engine
Diksha Bhargava
 
PPTX
Unity 3D game engine seminar
NikhilThorat15
 
PPTX
Unity 3D, A game engine
Md. Irteza rahman Masud
 
PDF
Mobile Game Development in Unity
Hakan Saglam
 
PPTX
Game Development with Unity
davidluzgouveia
 
The Basics of Unity - The Game Engine
OrisysIndia
 
Unity Game Engine - Basics
FirosK2
 
Introduction to Unity3D Game Engine
Mohsen Mirhoseini
 
PRESENTATION ON Game Engine
Diksha Bhargava
 
Unity 3D game engine seminar
NikhilThorat15
 
Unity 3D, A game engine
Md. Irteza rahman Masud
 
Mobile Game Development in Unity
Hakan Saglam
 
Game Development with Unity
davidluzgouveia
 

What's hot (20)

PDF
Game Engine Overview
Sharad Mitra
 
PPTX
Introduction to Game Engine: Concepts & Components
Pouya Pournasir
 
PPTX
Introduction to Game Development
Shaan Alam
 
PPTX
Unity - Game Engine
Geeks Anonymes
 
PPT
Anatomy of a Texture Fetch
Mark Kilgard
 
PDF
Game Engine Architecture
Attila Jenei
 
PDF
OPTE: Online Per-title Encoding for Live Video Streaming.pdf
Vignesh V Menon
 
PDF
Lecture 5: 3D User Interfaces for Virtual Reality
Mark Billinghurst
 
PPTX
Game engines and Their Influence in Game Design
Prashant Warrier
 
PDF
Empathic Computing: Capturing the Potential of the Metaverse
Mark Billinghurst
 
PDF
ISS2022 Keynote
Mark Billinghurst
 
PDF
[NDC14] 모바일 게임의 다음 혁신 - 야생의 땅 듀랑고의 계산 프로세스 중심 게임 디자인
승명 양
 
PPTX
Level design and devlopment part 2 stories and narrative
Durgesh Pandey
 
PPTX
Unity 3d Basics
Chaudhry Talha Waseem
 
PPTX
unity basics
Reham Maher El-Safarini
 
PPTX
Xbox 360
Shweta Sahu
 
PDF
Novel Interfaces for AR Systems
Mark Billinghurst
 
PPTX
Virtual Reality(full)
Mahesh Singh Madai
 
PDF
COMP Lecture1 - Introduction to Virtual Reality
Mark Billinghurst
 
Game Engine Overview
Sharad Mitra
 
Introduction to Game Engine: Concepts & Components
Pouya Pournasir
 
Introduction to Game Development
Shaan Alam
 
Unity - Game Engine
Geeks Anonymes
 
Anatomy of a Texture Fetch
Mark Kilgard
 
Game Engine Architecture
Attila Jenei
 
OPTE: Online Per-title Encoding for Live Video Streaming.pdf
Vignesh V Menon
 
Lecture 5: 3D User Interfaces for Virtual Reality
Mark Billinghurst
 
Game engines and Their Influence in Game Design
Prashant Warrier
 
Empathic Computing: Capturing the Potential of the Metaverse
Mark Billinghurst
 
ISS2022 Keynote
Mark Billinghurst
 
[NDC14] 모바일 게임의 다음 혁신 - 야생의 땅 듀랑고의 계산 프로세스 중심 게임 디자인
승명 양
 
Level design and devlopment part 2 stories and narrative
Durgesh Pandey
 
Unity 3d Basics
Chaudhry Talha Waseem
 
Xbox 360
Shweta Sahu
 
Novel Interfaces for AR Systems
Mark Billinghurst
 
Virtual Reality(full)
Mahesh Singh Madai
 
COMP Lecture1 - Introduction to Virtual Reality
Mark Billinghurst
 
Ad

Viewers also liked (20)

PDF
Unity Programming
Sperasoft
 
PPTX
Unity3D Programming
Michael Ivanov
 
PPT
Unity presentation
guest8f07923a
 
PPTX
Introduction to Unity3D and Building your First Game
Sarah Sexton
 
PDF
Unity 3d scripting tutorial
Blaž Gregorčič
 
PDF
Mobile AR Lecture6 - Introduction to Unity 3D
Mark Billinghurst
 
PPTX
Unity 5 Overview
Shahed Chowdhuri
 
PPTX
Unity is strength presentation slides
Texas Health Care Association
 
PPT
Unity Презентация
Dmitriy Bolshakov
 
PPTX
Academy PRO: Unity 3D. Scripting
Binary Studio
 
PPTX
Introductory Virtual Reality in Unity3d
Bond University
 
PDF
Pathfinding - Part 2: Examples in Unity
Stavros Vassos
 
PPTX
Code and Memory Optimisation Tricks
Sperasoft
 
PPT
Securing PHP Applications
Reggie Niccolo Santos
 
PDF
NYPF14 Report - CDA
Chaudhry Talha Waseem
 
PPTX
Agile Retrospectives
Hawkman Academy
 
PDF
Unity3D Scripting: State Machine
Sperasoft
 
PPTX
C# 101: Intro to Programming with C#
Hawkman Academy
 
PPTX
Unity 2d sharp
Jerel Hass
 
PDF
2D Game Development with Starling
Juwal Bose
 
Unity Programming
Sperasoft
 
Unity3D Programming
Michael Ivanov
 
Unity presentation
guest8f07923a
 
Introduction to Unity3D and Building your First Game
Sarah Sexton
 
Unity 3d scripting tutorial
Blaž Gregorčič
 
Mobile AR Lecture6 - Introduction to Unity 3D
Mark Billinghurst
 
Unity 5 Overview
Shahed Chowdhuri
 
Unity is strength presentation slides
Texas Health Care Association
 
Unity Презентация
Dmitriy Bolshakov
 
Academy PRO: Unity 3D. Scripting
Binary Studio
 
Introductory Virtual Reality in Unity3d
Bond University
 
Pathfinding - Part 2: Examples in Unity
Stavros Vassos
 
Code and Memory Optimisation Tricks
Sperasoft
 
Securing PHP Applications
Reggie Niccolo Santos
 
NYPF14 Report - CDA
Chaudhry Talha Waseem
 
Agile Retrospectives
Hawkman Academy
 
Unity3D Scripting: State Machine
Sperasoft
 
C# 101: Intro to Programming with C#
Hawkman Academy
 
Unity 2d sharp
Jerel Hass
 
2D Game Development with Starling
Juwal Bose
 
Ad

Similar to Unity introduction for programmers (20)

PPTX
Introduction to Unity
University of Auckland
 
PDF
An Introduction to the Unity GamingEngine
Stevexm1
 
PPTX
November.2015.RealityBasedUI
Reuben Ahmed
 
PDF
School For Games 2015 - Unity Engine Basics
Nick Pruehs
 
PPTX
Unity workshop
fsxflyer789Productio
 
PDF
Introduction to Game Programming: Using C# and Unity 3D - Chapter 2 (Preview)
noorcon
 
PPTX
Unity - Building your first real-time 3D project
NexusEdgesupport
 
PPTX
Game Development with Unity3D (Game Development lecture 3)
abdulrafaychaudhry
 
PPTX
Creating great Unity games for Windows 10 - Part 1
Jiri Danihelka
 
PDF
Introduction to Unity by Purdue university
asdf936939
 
PDF
Presentación Unity
Laura Milena Parra Navarro
 
PDF
DSC RNGPIT - Getting Started with Game Development Day 1
DeepMevada1
 
PPTX
Cross platform game development
Jerel Hass
 
PDF
Lecture 1 Introduction to VR Programming
Kobkrit Viriyayudhakorn
 
PPTX
Cmd unity withc
umairnoora
 
PPTX
Unity - Building Your First Real-Time 3D Project - All Slides
NexusEdgesupport
 
PDF
Unreal Technology
Mohammed Safwat
 
PPTX
03 unity 3_d_part_2
Reham Maher El-Safarini
 
PDF
Developing VR Experiences with Unity
Mark Billinghurst
 
PDF
Cardboard VR: Building Low Cost VR Experiences
Mark Billinghurst
 
Introduction to Unity
University of Auckland
 
An Introduction to the Unity GamingEngine
Stevexm1
 
November.2015.RealityBasedUI
Reuben Ahmed
 
School For Games 2015 - Unity Engine Basics
Nick Pruehs
 
Unity workshop
fsxflyer789Productio
 
Introduction to Game Programming: Using C# and Unity 3D - Chapter 2 (Preview)
noorcon
 
Unity - Building your first real-time 3D project
NexusEdgesupport
 
Game Development with Unity3D (Game Development lecture 3)
abdulrafaychaudhry
 
Creating great Unity games for Windows 10 - Part 1
Jiri Danihelka
 
Introduction to Unity by Purdue university
asdf936939
 
Presentación Unity
Laura Milena Parra Navarro
 
DSC RNGPIT - Getting Started with Game Development Day 1
DeepMevada1
 
Cross platform game development
Jerel Hass
 
Lecture 1 Introduction to VR Programming
Kobkrit Viriyayudhakorn
 
Cmd unity withc
umairnoora
 
Unity - Building Your First Real-Time 3D Project - All Slides
NexusEdgesupport
 
Unreal Technology
Mohammed Safwat
 
03 unity 3_d_part_2
Reham Maher El-Safarini
 
Developing VR Experiences with Unity
Mark Billinghurst
 
Cardboard VR: Building Low Cost VR Experiences
Mark Billinghurst
 

Recently uploaded (20)

PPTX
Online Cab Booking and Management System.pptx
diptipaneri80
 
PDF
Unit I Part II.pdf : Security Fundamentals
Dr. Madhuri Jawale
 
PPT
1. SYSTEMS, ROLES, AND DEVELOPMENT METHODOLOGIES.ppt
zilow058
 
PDF
Construction of a Thermal Vacuum Chamber for Environment Test of Triple CubeS...
2208441
 
PDF
settlement FOR FOUNDATION ENGINEERS.pdf
Endalkazene
 
PPTX
22PCOAM21 Session 2 Understanding Data Source.pptx
Guru Nanak Technical Institutions
 
PDF
EVS+PRESENTATIONS EVS+PRESENTATIONS like
saiyedaqib429
 
DOCX
SAR - EEEfdfdsdasdsdasdasdasdasdasdasdasda.docx
Kanimozhi676285
 
PPT
Understanding the Key Components and Parts of a Drone System.ppt
Siva Reddy
 
PPTX
MT Chapter 1.pptx- Magnetic particle testing
ABCAnyBodyCanRelax
 
PPTX
MSME 4.0 Template idea hackathon pdf to understand
alaudeenaarish
 
PDF
67243-Cooling and Heating & Calculation.pdf
DHAKA POLYTECHNIC
 
PPTX
sunil mishra pptmmmmmmmmmmmmmmmmmmmmmmmmm
singhamit111
 
PDF
Machine Learning All topics Covers In This Single Slides
AmritTiwari19
 
PPTX
Module2 Data Base Design- ER and NF.pptx
gomathisankariv2
 
PPTX
MULTI LEVEL DATA TRACKING USING COOJA.pptx
dollysharma12ab
 
PDF
AI-Driven IoT-Enabled UAV Inspection Framework for Predictive Maintenance and...
ijcncjournal019
 
PDF
20ME702-Mechatronics-UNIT-1,UNIT-2,UNIT-3,UNIT-4,UNIT-5, 2025-2026
Mohanumar S
 
PDF
2025 Laurence Sigler - Advancing Decision Support. Content Management Ecommer...
Francisco Javier Mora Serrano
 
PPTX
22PCOAM21 Session 1 Data Management.pptx
Guru Nanak Technical Institutions
 
Online Cab Booking and Management System.pptx
diptipaneri80
 
Unit I Part II.pdf : Security Fundamentals
Dr. Madhuri Jawale
 
1. SYSTEMS, ROLES, AND DEVELOPMENT METHODOLOGIES.ppt
zilow058
 
Construction of a Thermal Vacuum Chamber for Environment Test of Triple CubeS...
2208441
 
settlement FOR FOUNDATION ENGINEERS.pdf
Endalkazene
 
22PCOAM21 Session 2 Understanding Data Source.pptx
Guru Nanak Technical Institutions
 
EVS+PRESENTATIONS EVS+PRESENTATIONS like
saiyedaqib429
 
SAR - EEEfdfdsdasdsdasdasdasdasdasdasdasda.docx
Kanimozhi676285
 
Understanding the Key Components and Parts of a Drone System.ppt
Siva Reddy
 
MT Chapter 1.pptx- Magnetic particle testing
ABCAnyBodyCanRelax
 
MSME 4.0 Template idea hackathon pdf to understand
alaudeenaarish
 
67243-Cooling and Heating & Calculation.pdf
DHAKA POLYTECHNIC
 
sunil mishra pptmmmmmmmmmmmmmmmmmmmmmmmmm
singhamit111
 
Machine Learning All topics Covers In This Single Slides
AmritTiwari19
 
Module2 Data Base Design- ER and NF.pptx
gomathisankariv2
 
MULTI LEVEL DATA TRACKING USING COOJA.pptx
dollysharma12ab
 
AI-Driven IoT-Enabled UAV Inspection Framework for Predictive Maintenance and...
ijcncjournal019
 
20ME702-Mechatronics-UNIT-1,UNIT-2,UNIT-3,UNIT-4,UNIT-5, 2025-2026
Mohanumar S
 
2025 Laurence Sigler - Advancing Decision Support. Content Management Ecommer...
Francisco Javier Mora Serrano
 
22PCOAM21 Session 1 Data Management.pptx
Guru Nanak Technical Institutions
 

Unity introduction for programmers

  • 1. Unity3D Introduction Meeting GarageGeeks HQ 25 / 1 / 2012
  • 2. Hi ! ● I am Noam Gat ● (Ex) Game Developer at Omek (with Unity) ● Team member in Ogre3D graphics engine ● GameIS Member (Join us!)
  • 3. And you are... ● Mostly programmers ● Little to no experience in game-dev ● Disagree? Raise your hand!
  • 4. Lama Anglit? כי זה יותר נוח! ● נלמד כמה מושגים, עדיף שיהיו מקושרים ● לסביבה שנעבוד בה. אני מפחד מעברית. ●
  • 5. Mission Statement What are we NOT going to do ? ● Learn how to program / design games ● Learn enough to develop a game on our own ● Be 100% punctual and exact
  • 6. Mission Statement So what are we going to do ? ● Understand what a GAME ENGINE is ● Get a broad sense of how to work with unity ● Be able to work / talk with other UNITY devs
  • 7. What is a game ? Lets look at it from a programmer's point of view...
  • 8. What is a game ? My “Hello world” program : ● Has a start point and an end point int main() { print(“Hello world”); } Often called a “procedural” program
  • 9. What is a game ? My “GUI / Forms / Widgets” program : ● Doesn't have a known end point / time. void OnButtonDown() { MessageBox.Show(“Hello world”); } Often called an “event based” program
  • 10. What is a game ? But why does “OnButtonDown” get called? ● Because the RUNTIME ENGINE invokes it. We already don't control everything, but have just enough power to do what we need.
  • 11. What is an event ? Depends on who you ask. ● GUI Apps? Mouse and keyboard movement and presses, socket connections etc. ● Games? Input, network, physics, and (IMO the difference) - Time
  • 12. What is a game ? “A game is just an event-based application in which things happen even if nobody does anything” Noam Gat, “Unity 3D Introduction Meeting”, 25.1.2012
  • 13. What is a game engine? A GAME ENGINE is an environment that manages the different ENTITIES and SUBSYSTEMS of a game and sends the correct events to the code that the developer writes.
  • 14. What subsystems? Central managers of different aspects ● Scene graphs (Hierarchy) ● Presentation (Graphics and Audio) ● Input (On-site and remote) ● Resources (Art and tech - Project) ● Logic (Physics, AI, Behaviors)
  • 15. Entities ? ● ENTITIES are a design pattern in which systems are broken down into small pieces that work together to create complex behavior. In UNITY these are called GAME OBJECTS.
  • 17. Hello box What's in the box? ● A TRANSFORM (position in the world) ● A MESH (visual geometry) ● A MATERIAL (rendering properties like color) ● A COLLIDER (physics geometry) ● A RIGID BODY (physical properties like mass)
  • 18. Hello box TRANSFORM MESH COLLIDER MATERIAL RIGID BODY Do we always need everything?
  • 19. Modularity If we don't need physics, we can remove components. Can we remove any more components?
  • 20. Unity Editor The INSPECTOR shows the components of an object The SCENE view shows us the world as it is The GAME view shows us the world from the camera The HIERARCHY shows us the objects in the current scene The PROJECT shows us all of the assets in the project
  • 21. I want to code ! Coding in Unity is done via custom BEHAVIORS written in the Mono (like .NET) environment. Unity supports C# and variants of javascript, python. We will use javascript / C# today.
  • 22. I want to code But first : How to navigate in the world in the editor. MOVIE
  • 23. Exercise #1 : Spinning Cube 1. Split into groups of 2 – 4 people 2. Create a new (empty) unity project 3. Create a scene and put a box in it, without physics 4. Create a javascript script in the project, and put the following line in the Update function : transform.RotateAroundLocal(Vector3.up, 1); 5. Attach the script to the cube in the scene 6. Press play and watch the magic happen!
  • 24. Exercise #1 : Post Mortem What happened? 1. The cube has a BEHAVIOR on it 2. UNITY calls its Update() function (why? docs) 3. The cube spins around a bit : transform.RotateAroundLocal(Vector3.up, 1); 4. After spinning a bit for a lot of frames, it spins a lot
  • 25. Exercise #1 : Post Mortem Do we really know what is happening? How fast is the cube spinning?
  • 26. Exercise #2 : In Control In the same group, modify the script so that A: It contains a modifyable rotating speed, called “turns per second”. Do this with this line : public var turnsPerSecond = 1.0f; B: The cube rotates along that speed. Hint : Time.deltaTime, Mathf.PI C: Try changing the parameter at Runtime!
  • 27. Exercise #2 : In Control Solution : transform.RotateAroundLocal(Vector3.up, Time.deltaTime * turnsPerSecond * Mathf.PI * 2); (Not important if you missed the 2)
  • 28. Exercise #2 : In Control We just learned how to configure our entities! - It makes it easy to separate logic (code) from design decisions (parameters for components). - Even <Insert none-coder stereotype here> can control the spinning cube!
  • 29. Exercise #2.1 : In Control-er Its not a game if we don't have any gameplay... OMG LETS CONTROL THE SPINNING SPEED!!! 1. Declare two new parameters : public var turnMoreKey = KeyCode.D; public var turnLessKey = KeyCode.A; 2. Use Input.GetKey(...) to control the spinning speed.
  • 30. Prefabs After a few components your objects could get complicated. You might want to classify a “cube with a transform spinner” A “spinning cube”.
  • 31. Exercise #2.2 : In Control-est 1. Create a prefab by dragging the cube to the project view. 2. Create one instance of the prefab for each team member by dragging it to the scene. Give each instance different control keys. 3. Battle it out for the spinningest cube!
  • 32. Summary Yadda yadda yadda. I'll crowdsource this one.
  • 33. Congratulations ! You now know Unity! You can do anything you want with it! Lets play spinning cube!
  • 34. No, really. You understand how different systems connect to each other (we used the INPUT subsystem to control a TRANSFORM COMPONENT of a specific GAMEOBJECT) Lets try to learn how to learn.
  • 35. Exercise #3 : Gone Fishing We want to know how each player is doing. For each cube, display an on-screen string in the form of : “Dudu's cube : Y rotation is 121.221 degrees” How will we do this? Help → Manual / Reference Manual / Scripting Reference We are looking for a Graphical User Interface (GUI) No cheating (Forums / internet) for this one please!
  • 36. Hierarchies Pretty good video here as well, I'll just play it
  • 37. Exercise #4 : Tabletop 1. Create a simple scene of a table, a tray on the table and some fruits on the tray. 2. Use parenting to create a correct hierarchy. 3. Place transform spinners on many elements in your scene. Check that the scene makes sense when you move them.
  • 38. Summary What have we learned? ● What should a GAME ENGINE give us ● How does UNITY separate itself into different SUBSYSTEMS and COMPONENTS ● How can we extend UNITY and make our code run in it ● How to answer our own questions about UNITY
  • 39. Exercise #5 : Explore! 1. Open the “Angry Bots” sample project. 2. Spend about 5-10 minutes looking around, another three minutes deciding on something to do in it, then take 15-20 minutes to do it (if time permits). 3. GL HF!
  • 40. What now ? You don't know how to make games... YET
  • 41. Be like the squirrel You should (hopefully) be able to take a big problem (“how to create a game?”) and rip it apart to smaller questions and research into them on your own.
  • 42. Give it a whirl 1. Global game jam This weekend! 2. Advanced unity meetings Israeli Unity3D developers UNITE! 3. Facebook groups. Israeli Unity3d developers 4. The only limit is yourself. Welcome to zombo.com