Chris Pollett > Students >
Ivan

    ( Print View)

    [Bio]

    [Blog]

    [C297 Proposal]

    [Deliverable 1]

    [Deliverable 2]

    [Deliverable 3]

    [Deliverable 4]

    [CS297 Report (PDF)]

    [Paper 1: A-Frame Virtual Reality (PDF)]

    [Paper 2: ChatGPT - Fundamentals and Applications (PDF)]

    [Paper 3: ChatGPT Consistency (PDF)]

    [Paper 4: VR Voice Interaction (PDF)]

    [C298 Proposal]

    [CS298 - Deliverable 1]

    [CS298 - Deliverable 2]

    [CS298 - Deliverable 3]

    [CS298 - Deliverable 4]

    [CS298 Report (PDF)]

    [CS298 Presentation (PDF)]

    [CS298 - Code (ZIP)]

Deliverable 1: A-Frame Environment


Description:

Establish a working virtual reality environment using A-Frame and add some simple 3D primitives to the scene. Host the A-Frame scene online so that it's accessible by a VR headset. Also, create a basic virtual scene of a wall, door, and table to test the environment.

Tools Used:

  • A-Frame (HTML/Javascript)
  • Glitch (server host)
  • Unity3D (C#)
  • Oculus Quest 2

Implementation Steps:

  1. Create an empty 3D scene in A-Frame using Glitch
  2. Add simple 3D primitives(box, sphere, etc.) to the scene
  3. Use Unity3D to model a basic scene composed of a wall, door, and table
  4. Create the same scene in A-Frame
  5. Add basic functionality to the door using event listeners

Observations:

  • Object Positioning: Transforming primitives in A-Frame becomes a bit tedious and time consuming because of the back-and-forth attribute modifications. On the other hand, Unity provides a visual editor that includes widgets to translate, rotate, and scale objects.
  • Textures: The process of texturing for both Unity and A-Frame was relatively similar and easy to understand.
  • Functionality: Both Unity and A-Frame have an entity-component system (ECS) architecture. Therefore, when adding the door functionality, the implementation process was very similar. A door module is created and then attached to the door entity, which will listen for any incoming events

Results:

  1. Create an A-Frame project using Glitch

    Glitch Editor


  2. Add simple 3D primitives(box, sphere, etc.) to the scene

    A-Frame scene


  3. Use Unity3D to model a basic scene composed of a wall, door, and table.

    Unity image Unity image Unity image


  4. Create the same scene in A-Frame

    A-Frame image A-Frame image A-Frame image


  5. Add basic functionality to the door using event listeners

    A-Frame image A-Frame image