Virtual Reality App Development
A short 2018 intersession course of Johns Hopkins University. This syllabus is tentative and will be adjusted.
Office hour: Monday and Friday, 1pm - 2pm, Krieger Hall 107
Contact:
- Instructor: Weichao Qiu (qiuwch at gmail)
- Assistant: Yi Zhang (edwardz.amg at gmail)
Slack team: https://jhu-vr.slack.com, register with your jhu.edu email or request an invitation.
Introduction
This course will introduce how to use Unreal Engine (UE4), one of the most popular game engines to create virtual reality applications. Basic concepts of a virtual reality application will be covered, such as head-mounted device (HMD), controllers, etc. These concepts will be explained concretely using examples from Unreal Engine. Students will learn the workflow of creating a virtual reality application, including how to use 3D assets and basic scripting. There will be two Oculus Rift for demo, experience and development. Knowledge of computer graphics and C++ is encouraged but not required. UE4 is capable to create many kinds of VR applications, varying from famous VR game RoboRecall to architectural visualization applications
Schedule
-
Week 1:
Lecture 1: Introduction
Overview of VR, current status, applications, opportunity, why need a game engine, basics of UE4 UI.
Slides: Course Organization, VR BasicsLecture 2: 3D world layout
Construct a 3D virtual world, introduce basic concepts, such as lighting, static mesh.
Slides: UE4 basic concepts, Construct a virtual 3D world -
Week 2:
Lecture 3: Programming basics 1
The basic structure of an app, scripting: event, function
Slides: Programming basics 1, Grab object app, Fast Forward U overview
Demo binary, Grab projectLecture 4: Programming basics 2
Control the characters with keyboard, mouse and touch controller
Slides: Programming basics 2
Demo binary, Hands project -
Week 3:
Lecture 5: Animation and VR input device
The fundamental concepts of the animation system and how to use them. How to use VR controller as input device.
Slides Animation, VR input deviceLecture 6: Reward, HUD, GameFramework, QA
Slides Game Framework, Review
Assignment
Assignments are optional but can be chosen from
- An essay about a VR application you want to create
- A simple VR project demonstrating what you learnt from this course, or a team project creating a small VR app
Hardware
Students need to have a windows or mac machine to finish the progammming assignments, Linux is also ok but less recommended. Check this page for recommended hardware: https://wiki.unrealengine.com/Recommended_Hardware#Desktop