This course is designed to provide students with a comprehensive understanding of virtual and augmented reality (VR/AR) technologies, with a specific focus on user interface (UI) design and evaluation. Students will explore the principles and techniques of designing effective user interfaces for VR/AR applications. The course will cover topics such as human-computer interaction (HCI) in VR/AR, UI design guidelines, interaction techniques, 3D spatial UI, locomotion and navigation, and input methods for VR/AR interfaces. Students will also have hands-on experience with designing and evaluating VR/AR interfaces through programming projects.
Learning Objectives
By the end of this course, students will be able to:
Understand the fundamental concepts and principles of virtual and augmented reality technologies, and their applications in various domains.
Analyze and critique existing VR/AR user interfaces based on principles of HCI and UX.
Apply UI design guidelines and best practices for designing effective and usable VR/AR interfaces.
Design and implement VR/AR user interfaces using different interaction techniques, input methods, and 3D spatial UI concepts.
Evaluate the usability and UX of VR/AR interfaces using appropriate evaluation methods and metrics.
Understand the challenges and limitations of VR/AR UI design and evaluation, and propose solutions to overcome them.
Course Slides
This course consists of 11 chapters. Click each chapter title to view the respective slide decks.
Overview: Introduces the course and its goals.
Selection: Teaches how to select objects in 3D.
Travel: Teaches how users can move around a 3D world in VR.
Wayfinding: Teaches how 3D travel can be supported by visual features.
Quaternions: Quaternions make it easier to implement 3D interaction techniques.
SystemControl: Introduces a variety of different types of 3D menus and interaction widgets.
SymbolicInput: Shows solutions to inputting text and numbers in a 3D application.
Tracking: Explains the various types of 3D tracking that are used by XR devices.
Controllers: Shows how different types of 3D input devices work.
Displays: Analyzes the features and drawbacks of various types of displays used in XR systems.
Design: Teaches concepts and approaches for the creation of 3D user interfaces.
Programming Projects
After studying the course slides, you will be ready to tackle the programming projects.
First, you need to learn the basics of Unity. For that we recommend doing the first few tutorials on the Unity web site.
Once you are familiar with the basics of how to create 3D applications with Unity, we are providing two programming projects that will allow you to practice the techniques learned in this course.
VR Project: Classroom Design Tool