SlideShare a Scribd company logo
GDE: Lab 1 – Traffic Light Pg. 1
Lab 1: Traffic Light
Setup
Start a new project. Save the scene. Review the submission
steps at the bottom to ensure you save the scene
name correctly.
Additional References
tools to help newcomers become better
familiarized with the tool suite. I cannot recommend this
enough.
fantastic. If you want to know anything about a
particular component or function or class, they have it
documented and easily accessible. It won't give
you all the answers, but without this, developing for Unity
would become much, much more difficult.
Preparation
Make sure you complete Experiment 1 and 2 before attempting
this lab.
Goal
The goal for this lab is to implement a simple traffic light that
has a state machine driving its behavior. By the
end, you should have a visual representation of a traffic light
with three spheres that represent the three lights.
Using time to determine when to transition, switch the lights
from green, to yellow, to red and then back to
green. Additionally, input can be used to change the traffic
light's behavior.
http://unity3d.com/learn
http://docs.unity3d.com/ScriptReference/
GDE: Lab 1 – Traffic Light Pg. 2
Instructions
Let's create the actual traffic light together. Here is the step-by-
step construction process:
Create a Cube object
Rename the Cube object in the Hierarchy to TrafficLight
Create three Spheres. Rename them to Green Light, Yellow
Light, and Red Light. Make the Traffic Light
object the parent of all of the Light objects by dragging all three
spheres in the Hierarchy on top of the
TrafficLight object
GDE: Lab 1 – Traffic Light Pg. 3
Once all three spheres are children of the Traffic Light object,
the only other thing left to add to the scene is
just a little bit of light. Add a directional light to the scene. The
position of a directional light does not
matter. You can move it out of the way. If the light is too
bright, you can lower the intensity in the inspector.
The scene should now roughly look like this. In scale mode,
shape the cube until it looks like a traffic light.
Move the three light spheres such that they protrude through
one side of the traffic light object. You'll
notice that the spheres have taken on the scale of the parent. It's
important to remember that translation,
rotation and scale actions performed on the parent affect the
children in the same way.
Use the scale tool to make the spheres look like a light again
and position them accordingly
GDE: Lab 1 – Traffic Light Pg. 4
Once all three lights are in place, move the Main Camera object
so that the Traffic Light object is in the
frame and you can see the light spheres
Scripting
Now you are ready to begin the programming portion of this
lab! Select the Traffic Light object and add a
new script component. Add two script components, one named
TrafficLight and one named
TrafficLightStateMachine. Open each file in MonoDevelop.
Traffic Light
This class is going to be the data model for a traffic light. That
is to say, that it is going to be a representation of
what a traffic light is (attributes, such as strength, health, jump
height, etc) but will include no information about
what a traffic light does (behaviors, such as walk, run, jump,
shoot, death). Implement the following
requirements:
1. 3 private member variables, one for each light color, that
indicates how much long that light should
remain before transitioning to the next light.
2. All 3 variables should be marked with the serializable tag to
expose each variable to the inspector.
3. 1 private member variable to track how much time has passed
since the light last changed. Do not
expose this variable to the inspector (private member variables
are not exposed automatically).
4. Implement an accessor/get function for each member
variable.
a. For example, int GetHealth() { return myHealth; }
5. Add a ResetTimeSinceLastTransition() function that will
reset the variable you created in step 3 to zero.
Call this function in the Start() function of the TrafficLight
object.
6. In the Update() function, update the variable created in step
3 to keep track of time elapsed.
7. In the Start() function, change the material's color to gray
GDE: Lab 1 – Traffic Light Pg. 5
This is the method you will use to change the color of each light
sphere to different colors. Gray will act as the
default color. Check the scripting reference for the Color object
to see the other colors available. Remember
that each light is its own object that is a child of the
TrafficLight object in the hierarchy. You will need to access
the renderer of each child in order to change the material color
of that particular light. Use GameObject.Find()
and pass in the name of the light object you want to modify.
TrafficLightStateMachine
This class is responsible for driving the behavior of the object
at run-time depending on information stored in
the data model. As such, the requirements for you are going to
be to implement a behavior. How you choose to
implement a behavior is up to you. However, I will be grading
your solution not just on the functional
requirements, but on code organization and architecture.
I know you're chompin' at the bit to get started but there's
something I haven't shown you yet. We went
through all that trouble to create the TrafficLight data model for
a reason. State Machines typically have a
reference to the data model that they are managing. Add a
private variable of type TrafficLight and name it
target. In Start(), use the GetComponent function to initialize
target.
With target, you have access to the accessors you created in the
TrafficLight object which will help you as you
implement each state.
Implement the following behaviors:
the time to stay red, transition to green.
than the time to stay yellow, transition to red.
than the time to stay green, transition to
yellow.
Blinking Yellow: Make the light blink at specific intervals by
changing the color between gray and
yellow.
o Only blink yellow if the user presses the space key while the
light is green.
o Stop blinking yellow if the user presses the space key.
Transition to red.
GDE: Lab 1 – Traffic Light Pg. 6
Rubric
Lab Requirements 100 100
Setup
New scene: Lab1_TrafficLight_LastNameFirstName 5 5
Traffic Light added to the scene 10 10
TrafficLight.cs
All member variables are private 5 5
3 variables to track how long to stay in each light (r,y,g) 5 5
R,Y,G timer variables marked as serializable 5 5
Variable to track time since last transition, incremented in
Update() 5 5
Accessor/Get functions for all member variables 5 5
TrafficLightStateMachine.cs
TrafficStates enum 5 5
Dictionary member variable declaration 8 8
Green state function 8 8
Red state function 8 8
Yellow state function 8 8
Color materials applied to lights 8 8
Loose Ends
Traffic Light prefab 5 5
Add a blinking yellow light state 10 10
Common Lab Requirements
These requirements are the same in every lab. Make sure you
are familiar with them.
1. (-5 points) Missing all or part of the script file comment
header (Author, Date, Credit, Purpose)
2. (-5 Points) Submission files not named correctly
(LastName_FirstName_Lab#).
3. (-5 Points) Submission not in correct file format (.zip).
4. (-100 Points) The submission cannot be opened or is
otherwise not reviewable.
5. (-5 Points) Submission includes Unity’s standard assets.
6. (-5 Points) The code formatting is chaotic or inconsistent.
7. (-1 Point) The scripts contain syntax warning(s); point
deducted per unique warning.
8. (-10 Points) The scripts contain syntax error(s); flat point
deduction.
GDE: Lab 1 – Traffic Light Pg. 7
Submission
When you have completed:
1. Make sure the root asset folder and scene file are named
LastName_FirstName_Lab1
2. Export your assets as a Unity package.
a. Name the file LastName_FirstName_Lab1.
b. The package should include the scene, materials, textures,
meshes, audio clips, prefabs, scripts
and physics materials.
c. Do NOT include any of the Standard Unity assets.
3. Place the files (Unity Package) in a zip file.
a. If the submission is missing, no features will be evaluated
and a zero (0) grade will be achieved.
b. Do not include any other files or folders.
Test the package in a new (different path) empty Unity project.
Also, test the zip file on another
computer before submitting it. This way you can ensure that you
have the correct lab, and that it works as
expected. Once you’re ready, submit the zip on FSO. After it’s
uploaded, you are done!
Tips
A feature has you stumped? Here are some helpful suggestions:
1. Take a short break to stretch your legs or clear your eyes;
but, never give up!
2. Review, and even use, your assets and scripts from the
Experiment project.
3. If you have a compiler error, try using its complete or partial
description in a Google search. Syntax
issues are usually caused by:
a. Misspelling a variable or function name.
b. Missing a, or adding an extra, parenthesis, bracket, or
semicolon.
4. Compare the line that has the error with similar lines of code
that you know work.
a. Sometimes the offending code is one or two lines above from
where the error is reported.
5. See
http://docs.unity3d.com/Documentation/ScriptReference/index.h
tml for references on how to use
the fundamentals of programming and Unity specific
components.
6. If you still can’t figure it out, send the instructor an email or
contact them on Skype.
7. If you're unsure how to proceed with the implementation of a
feature, The Game Mechanic Explorer is a
fantastic resource to see example implementation methods. The
implementations are all in HTML5, but
the problem solving is very similar. The language and syntax
are different but you should take some time
to poke around and play around. These do not implement state
machines
http://docs.unity3d.com/Documentation/ScriptReference/index.h
tml
http://gamemechanicexplorer.com/
GDE: Lab 1 – Traffic Light Pg. 8
Example
Here’s what the scene should look like in the end when running:
GDE Lab 1 – Traffic Light  Pg. 1     Lab 1 Traffic L.docx

More Related Content

PDF
Game Programming I - Introduction
DOCX
Traffic lights-system-2(Microprocessor &Assembly Language)
PPTX
Evolution Explosion - Final Year Project Presentation
PPTX
C game programming - SDL
PDF
Unity introduction for programmers
PDF
FLASHBRAIN report
PDF
Clock report management system project report.pdf
Game Programming I - Introduction
Traffic lights-system-2(Microprocessor &Assembly Language)
Evolution Explosion - Final Year Project Presentation
C game programming - SDL
Unity introduction for programmers
FLASHBRAIN report
Clock report management system project report.pdf

Similar to GDE Lab 1 – Traffic Light Pg. 1 Lab 1 Traffic L.docx (20)

PDF
final paper
PDF
Introduction to programming class 12
PDF
Game Programming in C++_ Creating 3D Games ( PDFDrive ).pdf
PDF
Practica 6 de Electrónica digital con VHDL: semáforo
PPTX
Programming Addressable LED Strips
DOCX
Write a class to represent an object with different states such as a s.docx
PPT
help session guide for graphic design learners
PDF
C Game Programming New Book Learn C From Scratch And Start Build Your Very Ow...
DOC
micro proj4.V2odt
PPTX
A Bizarre Way to do Real-Time Lighting
PDF
PDF
Bouncing ball content management system project report.pdf
PDF
School For Games 2015 - Unity Engine Basics
PDF
C Game Programming Learn Game Programming With C Step By Step Very Easy Am Moh
PDF
course1-Intrduction-to-the-game-industry.pdf
ZIP
Unite2012 Click and Gun - Lighting workflow
ODP
Preventing Complexity in Game Programming
PPTX
W1_CourseIntroduction.pptx advancedgraphics
PDF
PPU Optimisation Lesson
PPTX
Vlsi lab2
final paper
Introduction to programming class 12
Game Programming in C++_ Creating 3D Games ( PDFDrive ).pdf
Practica 6 de Electrónica digital con VHDL: semáforo
Programming Addressable LED Strips
Write a class to represent an object with different states such as a s.docx
help session guide for graphic design learners
C Game Programming New Book Learn C From Scratch And Start Build Your Very Ow...
micro proj4.V2odt
A Bizarre Way to do Real-Time Lighting
Bouncing ball content management system project report.pdf
School For Games 2015 - Unity Engine Basics
C Game Programming Learn Game Programming With C Step By Step Very Easy Am Moh
course1-Intrduction-to-the-game-industry.pdf
Unite2012 Click and Gun - Lighting workflow
Preventing Complexity in Game Programming
W1_CourseIntroduction.pptx advancedgraphics
PPU Optimisation Lesson
Vlsi lab2
Ad

More from budbarber38650 (20)

DOCX
 Assignment 1 Discussion Question Prosocial Behavior and Altrui.docx
DOCX
● what is name of the new unit and what topics will Professor Moss c.docx
DOCX
…Multiple intelligences describe an individual’s strengths or capac.docx
DOCX
• World Cultural Perspective Paper Final SubmissionResources.docx
DOCX
•       Write a story; explaining and analyzing how a ce.docx
DOCX
•Use the general topic suggestion to form the thesis statement.docx
DOCX
•The topic is culture adaptation ( adoption )16 slides.docx
DOCX
•Choose 1 of the department work flow processes, and put together a .docx
DOCX
‘The problem is not that people remember through photographs, but th.docx
DOCX
·                                     Choose an articleo.docx
DOCX
·You have been engaged to prepare the 2015 federal income tax re.docx
DOCX
·Time Value of MoneyQuestion A·Discuss the significance .docx
DOCX
·Reviewthe steps of the communication model on in Ch. 2 of Bus.docx
DOCX
·Research Activity Sustainable supply chain can be viewed as.docx
DOCX
·DISCUSSION 1 – VARIOUS THEORIES – Discuss the following in 150-.docx
DOCX
·Module 6 Essay ContentoThe ModuleWeek 6 essay require.docx
DOCX
·Observe a group discussing a topic of interest such as a focus .docx
DOCX
·Identify any program constraints, such as financial resources, .docx
DOCX
·Double-spaced·12-15 pages each chapterThe followi.docx
DOCX
© 2019 Cengage. All Rights Reserved. Linear RegressionC.docx
 Assignment 1 Discussion Question Prosocial Behavior and Altrui.docx
● what is name of the new unit and what topics will Professor Moss c.docx
…Multiple intelligences describe an individual’s strengths or capac.docx
• World Cultural Perspective Paper Final SubmissionResources.docx
•       Write a story; explaining and analyzing how a ce.docx
•Use the general topic suggestion to form the thesis statement.docx
•The topic is culture adaptation ( adoption )16 slides.docx
•Choose 1 of the department work flow processes, and put together a .docx
‘The problem is not that people remember through photographs, but th.docx
·                                     Choose an articleo.docx
·You have been engaged to prepare the 2015 federal income tax re.docx
·Time Value of MoneyQuestion A·Discuss the significance .docx
·Reviewthe steps of the communication model on in Ch. 2 of Bus.docx
·Research Activity Sustainable supply chain can be viewed as.docx
·DISCUSSION 1 – VARIOUS THEORIES – Discuss the following in 150-.docx
·Module 6 Essay ContentoThe ModuleWeek 6 essay require.docx
·Observe a group discussing a topic of interest such as a focus .docx
·Identify any program constraints, such as financial resources, .docx
·Double-spaced·12-15 pages each chapterThe followi.docx
© 2019 Cengage. All Rights Reserved. Linear RegressionC.docx
Ad

Recently uploaded (20)

DOC
Soft-furnishing-By-Architect-A.F.M.Mohiuddin-Akhand.doc
PDF
GENETICS IN BIOLOGY IN SECONDARY LEVEL FORM 3
PDF
Indian roads congress 037 - 2012 Flexible pavement
PDF
IGGE1 Understanding the Self1234567891011
PDF
Chinmaya Tiranga quiz Grand Finale.pdf
PDF
Empowerment Technology for Senior High School Guide
PDF
Complications of Minimal Access Surgery at WLH
PDF
Supply Chain Operations Speaking Notes -ICLT Program
PPTX
A powerpoint presentation on the Revised K-10 Science Shaping Paper
PPTX
Final Presentation General Medicine 03-08-2024.pptx
PPTX
History, Philosophy and sociology of education (1).pptx
PPTX
Orientation - ARALprogram of Deped to the Parents.pptx
PPTX
Digestion and Absorption of Carbohydrates, Proteina and Fats
PDF
LNK 2025 (2).pdf MWEHEHEHEHEHEHEHEHEHEHE
PDF
A systematic review of self-coping strategies used by university students to ...
PDF
What if we spent less time fighting change, and more time building what’s rig...
PPTX
1st Inaugural Professorial Lecture held on 19th February 2020 (Governance and...
PDF
Trump Administration's workforce development strategy
PDF
A GUIDE TO GENETICS FOR UNDERGRADUATE MEDICAL STUDENTS
PDF
Paper A Mock Exam 9_ Attempt review.pdf.
Soft-furnishing-By-Architect-A.F.M.Mohiuddin-Akhand.doc
GENETICS IN BIOLOGY IN SECONDARY LEVEL FORM 3
Indian roads congress 037 - 2012 Flexible pavement
IGGE1 Understanding the Self1234567891011
Chinmaya Tiranga quiz Grand Finale.pdf
Empowerment Technology for Senior High School Guide
Complications of Minimal Access Surgery at WLH
Supply Chain Operations Speaking Notes -ICLT Program
A powerpoint presentation on the Revised K-10 Science Shaping Paper
Final Presentation General Medicine 03-08-2024.pptx
History, Philosophy and sociology of education (1).pptx
Orientation - ARALprogram of Deped to the Parents.pptx
Digestion and Absorption of Carbohydrates, Proteina and Fats
LNK 2025 (2).pdf MWEHEHEHEHEHEHEHEHEHEHE
A systematic review of self-coping strategies used by university students to ...
What if we spent less time fighting change, and more time building what’s rig...
1st Inaugural Professorial Lecture held on 19th February 2020 (Governance and...
Trump Administration's workforce development strategy
A GUIDE TO GENETICS FOR UNDERGRADUATE MEDICAL STUDENTS
Paper A Mock Exam 9_ Attempt review.pdf.

GDE Lab 1 – Traffic Light Pg. 1 Lab 1 Traffic L.docx

  • 1. GDE: Lab 1 – Traffic Light Pg. 1 Lab 1: Traffic Light Setup Start a new project. Save the scene. Review the submission steps at the bottom to ensure you save the scene name correctly. Additional References tools to help newcomers become better familiarized with the tool suite. I cannot recommend this enough. fantastic. If you want to know anything about a particular component or function or class, they have it documented and easily accessible. It won't give you all the answers, but without this, developing for Unity would become much, much more difficult. Preparation Make sure you complete Experiment 1 and 2 before attempting this lab.
  • 2. Goal The goal for this lab is to implement a simple traffic light that has a state machine driving its behavior. By the end, you should have a visual representation of a traffic light with three spheres that represent the three lights. Using time to determine when to transition, switch the lights from green, to yellow, to red and then back to green. Additionally, input can be used to change the traffic light's behavior. http://unity3d.com/learn http://docs.unity3d.com/ScriptReference/ GDE: Lab 1 – Traffic Light Pg. 2 Instructions Let's create the actual traffic light together. Here is the step-by- step construction process: Create a Cube object Rename the Cube object in the Hierarchy to TrafficLight Create three Spheres. Rename them to Green Light, Yellow Light, and Red Light. Make the Traffic Light
  • 3. object the parent of all of the Light objects by dragging all three spheres in the Hierarchy on top of the TrafficLight object GDE: Lab 1 – Traffic Light Pg. 3 Once all three spheres are children of the Traffic Light object, the only other thing left to add to the scene is just a little bit of light. Add a directional light to the scene. The position of a directional light does not matter. You can move it out of the way. If the light is too bright, you can lower the intensity in the inspector. The scene should now roughly look like this. In scale mode, shape the cube until it looks like a traffic light. Move the three light spheres such that they protrude through one side of the traffic light object. You'll notice that the spheres have taken on the scale of the parent. It's important to remember that translation, rotation and scale actions performed on the parent affect the
  • 4. children in the same way. Use the scale tool to make the spheres look like a light again and position them accordingly GDE: Lab 1 – Traffic Light Pg. 4 Once all three lights are in place, move the Main Camera object so that the Traffic Light object is in the frame and you can see the light spheres Scripting Now you are ready to begin the programming portion of this lab! Select the Traffic Light object and add a new script component. Add two script components, one named TrafficLight and one named TrafficLightStateMachine. Open each file in MonoDevelop. Traffic Light This class is going to be the data model for a traffic light. That is to say, that it is going to be a representation of
  • 5. what a traffic light is (attributes, such as strength, health, jump height, etc) but will include no information about what a traffic light does (behaviors, such as walk, run, jump, shoot, death). Implement the following requirements: 1. 3 private member variables, one for each light color, that indicates how much long that light should remain before transitioning to the next light. 2. All 3 variables should be marked with the serializable tag to expose each variable to the inspector. 3. 1 private member variable to track how much time has passed since the light last changed. Do not expose this variable to the inspector (private member variables are not exposed automatically). 4. Implement an accessor/get function for each member variable. a. For example, int GetHealth() { return myHealth; } 5. Add a ResetTimeSinceLastTransition() function that will reset the variable you created in step 3 to zero. Call this function in the Start() function of the TrafficLight object. 6. In the Update() function, update the variable created in step 3 to keep track of time elapsed.
  • 6. 7. In the Start() function, change the material's color to gray GDE: Lab 1 – Traffic Light Pg. 5 This is the method you will use to change the color of each light sphere to different colors. Gray will act as the default color. Check the scripting reference for the Color object to see the other colors available. Remember that each light is its own object that is a child of the TrafficLight object in the hierarchy. You will need to access the renderer of each child in order to change the material color of that particular light. Use GameObject.Find() and pass in the name of the light object you want to modify. TrafficLightStateMachine This class is responsible for driving the behavior of the object at run-time depending on information stored in the data model. As such, the requirements for you are going to be to implement a behavior. How you choose to implement a behavior is up to you. However, I will be grading your solution not just on the functional requirements, but on code organization and architecture.
  • 7. I know you're chompin' at the bit to get started but there's something I haven't shown you yet. We went through all that trouble to create the TrafficLight data model for a reason. State Machines typically have a reference to the data model that they are managing. Add a private variable of type TrafficLight and name it target. In Start(), use the GetComponent function to initialize target. With target, you have access to the accessors you created in the TrafficLight object which will help you as you implement each state. Implement the following behaviors: the time to stay red, transition to green. than the time to stay yellow, transition to red. than the time to stay green, transition to yellow. Blinking Yellow: Make the light blink at specific intervals by changing the color between gray and yellow. o Only blink yellow if the user presses the space key while the
  • 8. light is green. o Stop blinking yellow if the user presses the space key. Transition to red. GDE: Lab 1 – Traffic Light Pg. 6 Rubric Lab Requirements 100 100 Setup New scene: Lab1_TrafficLight_LastNameFirstName 5 5 Traffic Light added to the scene 10 10 TrafficLight.cs All member variables are private 5 5 3 variables to track how long to stay in each light (r,y,g) 5 5 R,Y,G timer variables marked as serializable 5 5 Variable to track time since last transition, incremented in Update() 5 5 Accessor/Get functions for all member variables 5 5
  • 9. TrafficLightStateMachine.cs TrafficStates enum 5 5 Dictionary member variable declaration 8 8 Green state function 8 8 Red state function 8 8 Yellow state function 8 8 Color materials applied to lights 8 8 Loose Ends Traffic Light prefab 5 5 Add a blinking yellow light state 10 10 Common Lab Requirements These requirements are the same in every lab. Make sure you are familiar with them. 1. (-5 points) Missing all or part of the script file comment header (Author, Date, Credit, Purpose) 2. (-5 Points) Submission files not named correctly (LastName_FirstName_Lab#). 3. (-5 Points) Submission not in correct file format (.zip). 4. (-100 Points) The submission cannot be opened or is otherwise not reviewable.
  • 10. 5. (-5 Points) Submission includes Unity’s standard assets. 6. (-5 Points) The code formatting is chaotic or inconsistent. 7. (-1 Point) The scripts contain syntax warning(s); point deducted per unique warning. 8. (-10 Points) The scripts contain syntax error(s); flat point deduction. GDE: Lab 1 – Traffic Light Pg. 7 Submission When you have completed: 1. Make sure the root asset folder and scene file are named LastName_FirstName_Lab1 2. Export your assets as a Unity package. a. Name the file LastName_FirstName_Lab1. b. The package should include the scene, materials, textures, meshes, audio clips, prefabs, scripts and physics materials. c. Do NOT include any of the Standard Unity assets. 3. Place the files (Unity Package) in a zip file. a. If the submission is missing, no features will be evaluated
  • 11. and a zero (0) grade will be achieved. b. Do not include any other files or folders. Test the package in a new (different path) empty Unity project. Also, test the zip file on another computer before submitting it. This way you can ensure that you have the correct lab, and that it works as expected. Once you’re ready, submit the zip on FSO. After it’s uploaded, you are done! Tips A feature has you stumped? Here are some helpful suggestions: 1. Take a short break to stretch your legs or clear your eyes; but, never give up! 2. Review, and even use, your assets and scripts from the Experiment project. 3. If you have a compiler error, try using its complete or partial description in a Google search. Syntax issues are usually caused by: a. Misspelling a variable or function name. b. Missing a, or adding an extra, parenthesis, bracket, or semicolon. 4. Compare the line that has the error with similar lines of code that you know work. a. Sometimes the offending code is one or two lines above from where the error is reported.
  • 12. 5. See http://docs.unity3d.com/Documentation/ScriptReference/index.h tml for references on how to use the fundamentals of programming and Unity specific components. 6. If you still can’t figure it out, send the instructor an email or contact them on Skype. 7. If you're unsure how to proceed with the implementation of a feature, The Game Mechanic Explorer is a fantastic resource to see example implementation methods. The implementations are all in HTML5, but the problem solving is very similar. The language and syntax are different but you should take some time to poke around and play around. These do not implement state machines http://docs.unity3d.com/Documentation/ScriptReference/index.h tml http://gamemechanicexplorer.com/ GDE: Lab 1 – Traffic Light Pg. 8 Example Here’s what the scene should look like in the end when running: