0x 0 B Unity VR Room by Sranciato - 3

VR & AR

Unity 2019.4.6f1Unknown LicenseUpdated 31 days agoCreated on September 24th, 2020
Go to source

VR Escape Room - Oculus Rift

Enjoy a sitting / standing VR experience in the form of an “escape room”-style game.

About Me

My motivation for creating VR applications/games stems from my love for immersive experiences. A VR Escape Room was a perfect opportunity for me to be creative and show off my understanding of Oculus Integration.

My Socials

Screenshots

Screenshot Screenshot

Tech/framework used

Built with

Built for

Story

Creating an experience using new technologies posed as a problem during the different stages of development. With limited resources online it was difficult to find the proper way to handle certain situations. For example, in order to interact with objects it was crucially important for the user to know what they were attempting to grab. This was solved by creating specific shaders that would change based on the raytrace casted out from the users hands.

Features

Movement

  • Teleport to specific spots with a simple point and click.
  • Allows for smooth movement around the rooms via thumb stick.
  • Snap camera left or right without having to move your head.

Interactions

  • Point at the object you would like to interact with and see an outline for clear indication.
  • Grab objects from a distance or up close.

Features to add

  • Allow for objects to keep their position when grabbed instead of snapping to a specific/unlikely position.
  • Sound queues for a better user experience.

Code Example

Below is a code snippet from the camera constraint script

        // Next, determine if the player camera is colliding with something above the player by doing a sphere test from the feet to the head.
        var bottom = transform.position;
        bottom += _character.center;
        bottom.y -= _character.height / 2.0f;

        RaycastHit info;
        var max = _playerController.CameraHeight;
        if (Physics.SphereCast(bottom, _character.radius, Vector3.up, out info, max,
            gameObject.layer, QueryTriggerInteraction.Ignore))
        {
            // It hit something. Use the fade distance min/max to determine how much to fade.
            var dist = info.distance;
            dist = max - dist;
            if (dist > CurrentDistance)
            {
                CurrentDistance = dist;
            }
        }

Solutions

Solution for first room

In order to open the door you must interact with the knight and the rope. Simply interact with these two items by grabbing them. Once each item is touched door will open when player is close.

Solution for second room

In order for the projector to turn on, the player must find 4 missing chess pieces (rook, knight, bishop, pawn) and return them to the chess board. Once all missing pieces are returned to the board you may now touch the projector with your hands to turn it on.

Show all projects by Sranciato