Skip to content

VirtualRealityDesigner/ARCHIVED_04_Squashy_Toad_VR

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

40 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Start of beta content...

Becoming an Android Developer

  • Setup Android Studios.
  • Locating the SDK and JDK.
  • Installing the Android SDK.
  • Enabling your phones developer mode.

Building an Unity Android Project

  • Connecting the SDK to Unity.
  • Installing Unity modules individually.
  • Build the Google Cardboard Demo.
  • Deploy to your Android phone.

Becoming an iOS Developer

  • Setup XCode.
  • Configuring an iOS app to deploy.
  • Signing Identities and Provisioning Profiles
  • Deploying your first app.

Building an Unity iOS Project

  • Setup your environment.
  • Build an empty project.
  • Setting your bundle identifier in Unity.
  • Deploy to your iOS phone.

Setup a VR Camera

  • Create a virtual environment.
  • Overview of the Google VR stack.
  • Add stereoscopic cameras to games.
  • Push to your device.

UI in VR Environments

  • Setting font size and DPI.
  • Where to scale a Rect Transform.
  • Create UI in VR environments.
  • Position and scale for comfort.

Interacting with Buttons in VR

  • Activating UI with Gaze.
  • Revising event based UI.
  • Revising the scene management.

Google VR Spatial Audio Sources

  • What is spatial audio?
  • How can we use it in a menu scene.
  • The GVR audio listener and source.
  • Enabling the spatializer plugin.

Avoiding Motion Sickness

  • Use physics simulation to hop.
  • Editing terrain in the Unity Editor.
  • Adjust rigidbody mechanics for sickness.
  • Tweak materials for frog behaviour.
  • Introducing physics materials.

Debugging Vectors in Unity

  • Projecting vectors onto planes.
  • Rotating and normalizing vectors.
  • Drawing debug lines in Unity.

Advanced Vector Manipulation

  • Getting the look vector of the camera.
  • Sequencing vector operations.
  • Presenting an easy interface to the designer.

Jumping Only When Grounded

  • Getting trigger input from GVR.
  • Using Physics.Raycast().
  • Preventing jumping unless grounded.

Tile-based Terrain

  • Creating a tile-based level.
  • Importing our assets.
  • Adding materials and textures.

Procedurally Generated Terrain

  • Creating lanes of traffic.
  • Generating random numbers.
  • Randomly selecting terrain.
  • Exposing terrain to the designer.

Generating Infinite Terrain

  • Spawning a random number of trees.
  • Removing code repetition.
  • for and while loops.

Scaling Down or Up

  • How to scale Unity units.
  • Altering gravity acceleration.
  • Copying component values.

Creating Nested Prefabs

  • The problem with nested prefabs.
  • How to work around the problem.
  • Adding a collider to our tree.

Moving Cars with Kinematic Colliders

  • Adding car prefabs to the road.
  • Giving them non-physical velocity.
  • Ensuring they can impact the toad.
  • Understanding Kinematic Colliders.
  • Creating a log prefab.

Spawning Cars Randomly

  • Spawning cars with a time interval.
  • Spawning at a given location.
  • Randomizing the time interval.

Understanding Bell Curves

  • Probability Density Functions
  • Cumulative Distributions Functions
  • How to make any distribution in Unity

Simulating Random Traffic

  • What is a Poisson process.
  • Looking at the Exponential distribution.
  • Implementing the Exponential in Unity.

Moving Rigidbodies Smoothly

  • Overview of FixedUpdate().
  • Understanding the physics engine cycle.
  • Making the logs carry the frog.

Count-based Grounding Checks

  • The issue with trigger-based grounding.
  • Why boolean grounding won’t work.
  • An explanation of count-based grounding.
  • Using this to fix jumping on moving platforms.

Double and Triple Hop Jumping

  • Recap for using arrays.
  • Array constant syntax.
  • Understanding array indexing and length.
  • Implementing multi-hop jumping.

Understanding 3D Rotation

  • Rotations in Unity.
  • Euler angle definition of rotation.
  • Angle axis rotations.
  • The importance of rotation order.

Creating Rotations from Vectors

  • An overview of the Quaternion class.
  • Creating rotations between 2 vectors.
  • Keeping the horizon level with LookRotation.
  • Rotating a cube to hover in-front of us.

HUD UI and Level Reload

  • How to reload the current level.
  • Setting up the HUD UI.
  • Revising UI button binding.

Lethal Objects and Death Notification

  • Finding objects from anywhere in the scene.
  • How to notify death.
  • Fixing out multi-hop bug.

Pausing Game Mechanics

  • Disabling movement on death.
  • Adding a safe starting point.
  • Enabling/disabling the reticule.

Garbage Collecting GameObjects

  • Debugging performance slow downs.
  • Destroying old vehicles.
  • Triggers vs Colliders.

Enums for Labeled Numbers

  • How to label “magic” numbers.
  • Preventing runs of dangerous lanes.
  • Enum types and when to use them.

Locking the Cursor

  • Using our Enum knowledge.
  • The Cursor API in Unity.
  • Locking the cursor to the screen.

Basic Performance Benchmarking

  • Introduction to the performance cycle.
  • How to display FPS in our game.
  • Getting a benchmark for performance.
  • Cutting down our game.
  • Disabling VSync.

Performance Optimization Loop

  • Common optimisations to try.
  • Using the iterative process.
  • Unity quality settings.

Unity Profiler on Mobile

  • Using the Unity Profiler.
  • Profiler hierarchies.
  • Profiler timeline.
  • Diagnosing script issues.

Challenge - Add Level Audio

  • Revising spatial audio.
  • Creating immersive sound.
  • Adding audio to our level.

Spawning and Destroying Lanes

  • Using a foreach loop.
  • How to get child transforms.
  • Spawning new lanes with a buffer.
  • Destroying lanes with a buffer.
  • Ideas for continuing the game.