Tuesday, April 28, 2020

Menu Progress

Hello again Bloggers!

This week a main focus of our project was the menu screen. A lot of time went into its design and the functionality of it. We decided to go with a simplistic design devoid of imported assets. Copyright is a troublesome beast to tip-toe around, and the less time we can spend doing that, the more time we can spend on this project. Our menu so far consists of a few buttons for chapter selection, options, and quitting the game of course.

For our background to the scene we decided to go with a procedural skybox. This would be good left the way it is, but we decided that a regular skybox didn't look quite good enough. So for our skybox we made a material to customize the look of the skybox itself with a couple of other cool features. We added Unity's special post processing package and put it over each of our cameras on this scene as well to add a special little flair to the skybox and menu. On top of this, we added a script to the directional light that made it slowly rotate on the x axis, creating a sunrise type effect. The video below this paragraph showcases this effect.


Another brief addition we made is the line renderer onto the end of our player controller hand objects. We wanted to make it easier to see where the user was pointing while simultaneously emulating the pointing systems in most VR applications. This would help with the user's ability to click the buttons as well as make the VR experience look just a little bit nicer.

That's all for this week. Thanks for reading!

Newtonian Lesson

To move forward with our project and get something worth showing by our first sprint, we decided to focus primarily on one lesson of the many we plan to complete. Our motto is quality over quantity. So, we have one three tables set up within a VR traverse-able scene, each of which will demonstrate a simple Newtonian Law.

The first table is showcasing Newton's first law, an object will stay at rest unless an outside object puts a force upon said object at rest. This is shown through a set of blocks we have set up, which stay at rest until either you push them yourself or you throw a sphere at them.

The second table showcases Newton's second law, force equals mass times acceleration. We have a few buttons and a ball on this table. The ball will grow in mass or decrease in mass with the press of these buttons, and a third button will display a free body diagram connected to the sphere on the table. This will feature adjustable arrows based on the mass of the ball itself.

The third table showcases Newton's third law, each force must have an equal and opposing force. We have an arrow that points outwards based on how far you poke into a block, signifying an immovable wall. Though we can't properly emulate the resistance a real wall would give, our arrow symbolizes that resistance.

A fourth feature towards the back of the map showcases the three laws with projectile motion! No-one can have a fun physics environment without at least one projectile launcher to play with, so we decided to add a cannon to include a bit of fun into the learning aspects of the first lesson.

Monday, April 20, 2020

Getting Started

Getting this project started has certainly been quite the task. There turned out to be a lot more planning, replanning, scaling back, and extra ideas than we thought there may be. Also, as it turns out, there seemed to be more beginnings than one would expect as well. First, you begin by creating a new project, but then you also begin by important the assets and packages you already know you'll need, and then the last part of getting started is usually by adding a Plane to your scene for the ground.

Getting started has definitely been inhibited by the COVID-19 pandemic, however we have seen great progress! Below is just a snapshot from one of the lessons and shows a little bit about what we are trying to do to make learning fun and more immersive.


Our Project Proposal

Over the past couple of years, in-home Virtual Reality headsets have rapidly increased in quality as well as availability. With the introduction of the Oculus Rift Development Kit 1 in 2012, all a consumer would need to immerse themselves in a virtual environment was the $300 headset and a PC with adequate components. This is still largely true, but now the PC-tethered headsets provide a higher quality experience than they had before, and a number of new standalone and/or console/mobile dependent headsets exist that provide a great experience as well. Overall, VR has become more accessible and better as a whole over the last decade.

While the primary purpose for VR is gaming, there are increasing opportunities in the educational space for providing a virtual environment where students can take classes, either as a supplement or even a full replacement to an in-person based class. Our app has the potential to be a replacement to in-person classes, or could just be used as a supplement in order to foster greater interest and comprehension in the subject matter, as well as incorporated into hands-on labs to further these aims.

There are a few requirements that are necessary to implement for a working app, as well as a few Stretch goals that are not vital to the project, but would better illustrate our mission and goals for the app as an educational resource.


Requirements
  • Be as interactive as possible in order to make full use of the virtual space
  • Keep complexity of controls low to make the app easy to use, so that the user can focus on learning the concepts at hand
  • Develop for Oculus Rift, because Oculus headsets are the second most popular headsets in use; while Sony’s PSVR is the most popular headset, it is more difficult to develop for
  • Create 7 weeks of content. One week of content contains a lesson where physics concepts are introduced, a demo where students are encouraged to play with the new concept in different tangible ways, and a lab where students can perform experiments and record/analyze data
  • Add a sandbox mode with content from all of the labs strewn about to encourage an open learning environment by combining lessons.



Stretch Goals

  • Support Oculus Go, HTC Vive, or PSVR headsets
  • Add more weeks of content
  • Add online support for multiple users in the same environment
  • Develop and use our own assets
User Stories
As an educator, I want to increase engagement with my class so that they can better understand the subject matter that we go over in class in a hands-on environment.
As a student, I want to have an interactive environment where I can play with the concepts I learn in class so that I can solidify the concepts I learned, as well as to have the ability to replay the sessions multiple times in order to really grasp the material.
As an institution, we want the software to be highly accessible on a variety of platforms so we can use it throughout our educational infrastructure.

Circuit Adventures

Hello Bloggers, As we continued to work on our circuit portion of our project we decided that our idea of creating a circuit building sandbo...