Class hours: 10:05 – 2:45
Mr. Bohmann | wbohmann@ewsd.org
10:05 Today’s Notes & Attendance
- Three more days to vacation!
- English today will be at 1pm and a bit of a wacky schedule – check dayplan for details
- SLC Meeting during lunch today –
- Sebastian
- Lion
- CCV Lunch Order
- Install OBS on your machines

Bonus: We made glass with the principled BDSF shader yesterday in Blender:
- Metallic -0
- Roughness – 0
- Alpha – .1
- Transmission (Weight) – 1.0
10:10 Unity – GAWD Rollerball

Ok, we don’t have much yet, but we do have a Player and we have movement.
Let’s add a camera follow so our camera stays with our player. I’ll explain the script, but for now you don’t have to really worry about how it works – it just does!
Then In Blender or Unity let’s make a couple of “levels”. These will all be part of the same scene.
Level One: Starting Level: 4 bumpers lining the edges of a plane with a hole somewhere
Level Two: Ball falls to next level. Create a unique and interesting series of obstacles for you to navigate through to try to reach the finish. Spinners? Obstacles?
For your art style – find a color palette using adobe color or another inspiration. Having a color palette you like will save you time. I like Firewatch.


When Exporting Assets from Unity there are a couple things that will make your life much easier.
- If you scale anything in Blender – Apply All Transforms (resets scale, rotation)
- Only export “Selected Object” as FBX
- Mesh
- Z Forward
- Y Up
- Apply Scalings – change from Local to FBX Units Scale
- Checkbox checked for Apply Unit
- Checkbox checked for Apply Space Transform
- Checkbox checked for Apply Transform
10:50 Break

11:00 Unity – Working in our Game Engine

Let’s continue with our day in Unity learn a little more about collisions, etc…
If we made a script called Object Hit (or any name we want) then place that script on a wall or obstacle, we can gather information from the object that hit it and do stuff. Also, we can put collision information on our player and gather information too…

void OnCollisionEnter(Collision collision)
{
//Check for a match with the specified name on any GameObject that collides with your GameObject
if (collision.gameObject.name == "wall")
{
//If the GameObject's name matches the one you suggest, output this message in the console
Debug.Log("You hit a wall");
}
}
Collisions
Using OnCollisionEnter()
void OnCollisionEnter(Collision other)
{
Debug.log("Something hit me and it was" + other.gameObject);
}
void OnCollisionEnter(Collision other)
{
GetComponent<MeshRenderer>().material.color = Color.red;
//if you want it to change random colors try this one instead
//GetComponent().material.color = Random.ColorHSV(0f, 1f, 1f, 1f, 0.5f, 1f);
}
Code for the Player to initiate a Score and this script goes on the player
//global variables here
public int playerScore = 100;
public int hits;
void OnCollisionEnter(Collision other)
{
if (other.gameObject.name == "Wall")
{
playerScore = playerScore - 1;
Debug.Log("your score is " + playerScore);
hits = hits + 1;
}
if(hits > 4)
{
Destroy(gameObject);
Debug.Log("Game Over");
}
}
11:35 Lunch

12:05 – 12:25 Post Lunch Reading

12:25 Production Time & Support
- This is a short production window – Flexbox Gallery – get up on your webserver and create a link from your directory
- Famous Photographer Project – Due Wednesday, December 10th
- Parallax Web Project – Due Wednesday, December 3rd
- Past Due work
12:55 Dailies

1:00 English with Mx. Yopp
