The information on this page is preliminary and subject to change: consider it a beta version. Please report bugs and changes you'd like to see before the final release. |
|
|
|
|
|
Course Description |
|
This course deals with synthetic worlds or virtual environments.
- Hands-on approach to learning about interactive 3D graphic worlds, their
design, implementation and deployment.
- Practical coursework at dynamic scene-graph(*) level.
- Analysis of existing works of high
production quality.
- Scripting/authoring/programming techniques for 3D environments.
We will begin with an overview of the wide range of approaches to
VR and 3D audio-visuals:
from scene scripting to CG programming, from 3D modeling to sound
authoring.
Students
will learn scene-graph
concepts, VR design, authoring and scripting for developing interactive
applications with graphics and sound, using a well-established
engine. Those with advanced
programming experience will delve further into code and
implement specific interactions, graphic rendering and algorithms useful in VR simulations.
This course is also related to core computer graphics programming,
2D/game design, and 3D art and modeling classes. Students in any of
those classes will benefit in taking this course either before, during
the same semester or afterwards. These are not prerequisites: on 3D,
Computer Graphics and VR topics, the 3D Interactive
Environments course functions as self-contained.
(*) the scene-graph concept is central to this course. One possible introduction is the online paper Scenegraphs: past, present and future.
|
|
|
|
Course Requirements
|
|
- Prerequisites: one/two semester of computer fundamentals and programming, or equivalent experience.
- Textbook: R.Bartle: Designing Virtual Worlds, New Riders 2003.
- Suggested reference books: see Readings.
- Attendance and coursework: see Exams and Grades.
|
|
|
|
Course Objectives |
|
By the end of this course, students should be able to:
-
Identify major concepts, terminology and applications in 3D/VR environments.
-
Understand fundamental 3D scene-graph design techniques.
-
Apply existing knowledge in other fields (e.g. graphic modeling,
user interface design, music composition, programming...) to 3D
environment production.
-
Be familiar with different parts of 3D environment production to be
able to meaningfully interact in group projects.
-
Apply learned skills and knowledge of scene-graph design, software and interaction
techniques to design, implement and showcase a complete, non-trivial
3D/VR environment.
|
|
|
|
Readings |
|
Reading and reference materials include reference books, papers and online
publications. Students will be handed reading material at regular intervals throughout the semester.
The following list represents a sample:
|
|
|
|
Labs |
|
For all labs, practical assignments and final project we'll be
using Second Life
both as multi-user networked VR engine and for multimedia hosting.
Second Life is cross-platform, and the client is freely
available
for Linux, Mac OS X and MS Windows.
For the second class and lab each week, we'll meet in an STC lab on campus. Using your own personal laptop computer for labs and homework is allowed, but not required.
|
|
|
|
Course Structure |
|
Each
week, there will be one lecture class on Tuesday at 11:15AM, and one studio-type
class split in two parts:
an instructor-led lab on Thursday at 11:15AM, and an (optional but highly recommended)
instructor-assisted lab on Thursday at 5:45PM.
The lecture will present each week's topics.
To proficiently participate in classroom discussions, there will be
weekly reading
assignments, to be completed before the lecture.
Production examples
will be analyzed in class: multi-user networked 3D and its use for telecollaborative
activities, VR cinematography
(from milestone tools as Virtual Director to modern Machinima),
interactive 3D art installations,
high-end virtual telepresence, etc. Students will examine different scopes,
goals and design choices involved in creating such different 3D
environments. Reading and summary assignments will be given to evaluate
each student's progress in this aspect of the course.
Groups of about 3
students will form to work on a final project to be showcased by the end of the semester.
All groups will be using Second Life
as VR engine. For this project, students will coordinate
separate parts of 3D environment construction and design (since such
projects are in practice rarely the product of isolated individual
work...). Previous personal knowledge in related areas will motivate
the choice of group members, the goal being a homogeneous level of
diversity in each group. Each group will meet regularly with the
instructor and submit milestone reports. Project group work will begin
shortly before the midterm exam, and continue through the second half
of the semester.
Brief, focused hands-on
assignments will be given during the first half of the course timeline,
to build practical skills necessary for the final project.
We will be using Oncourse, so students are expected to check there often for updates, handouts, assignments, etc.
|
|
|
|
Exams and Grades
|
|
- Final Project: 30%
- Final Exam: 20%
- Midterm: 20%
- Practical assignments: 10%
- Initial exercises to acquire practical skills necessary for the final project.
- Readings and summary assignments: 10%
- These will form the basis for successful critical essay-based midterm and final exams.
- Participation: 10%
- Class (active!) presence, participation and journal note-taking is required and graded.
Instructor-assisted lab presence on Thursday afternoon is not required and therefore not graded, but highly recommended.
Late assignments, plagiarism, cheating et al.: please check Course Policies.
|
|
|
|
Weekly Schedule |
|
Details to be announced. |
|
|
|
Sample Topics
|
|
- Virtual Worlds: how to make them
- design, coding/scripting, modeling, sound authoring
- development phases
- system architecture, hardware expandability and environment extensibility
- Models vs. Scripts
- what are the building blocks of a 3D environment?
- using, re-using and constructing 3D models from object libraries
- scripting interactivity in models and environments
- scripting and tracking user/avatar behavior
- User interface and input controls for VR and 3D environments
- 2D input devices (joystick, mouse, tablet, ...) and their use in 3D virtual worlds
- >=3D devices (spaceball, wand, gyro-mouse, ...) and limiting use of N-degree controls
- constrained degrees of freedom in input controls, constrained navigation
- less conventional inputs: audio, video, haptics, force-feedback, sonified feedback, ...
- Scene-graph concepts
- 3D scene elements, groupings, property hierarchy trees, BSP
- examples of scene-graph file formats and standards (from VRML to Quake III formats)
- adding dynamics and behavior to static scene graphs
- message-passing paradigms, etc.
- Physics in 3D environments
- defining and simulating physical properties
- simplified physics in VR engines
- implementing your own rules and equations
|
|
|
|
Course Policies
|
|
- Attendance: students are expected to attend every
class and take notes. Web pages accompanying lectures will follow, but
they are not to be considered 1-to-1 transcripts of what is covered in
the lectures, more an outline to aid students in organizing course material.
- Late assignments: homework and other assignments
will lose 33.3% of their points for each day they're late (three
days late, and they're worth 0 points...)
- Group work: for the final group project, grades among team members may vary
according the the amount and quality of contribution to the group
project. Written weekly homework and exercises are to be done
individually - no group
solutions or cooperative work. You can discuss assignments with other students, but you
have to implement all the solutions separately, and acknowledge any
other student involved in the discussion. While you may ask questions on
oncourse, do not post sample code, scripts, or solutions to problems.
- Withdrawal: the last day to drop a course with an automatic W
grade is March 07 2007. A student is allowed to withdraw from a course
after that date only with the dean's permission, e.g. for urgent
reasons related to extended illness or equivalent distress.
- Incomplete Grade: incomplete I final grades
will be given only by prior arrangement and in exceptional
circumstances conforming to university and departmental policies. These
require, among other things, that the student must have completed the
bulk of the work required for the course with a passing grade and that
the remaining work can be made up within 30 days after the end of the
semester. (trust me, you don't want an I grade)
- Religious Observation: In accordance with the Office
of the Dean of Faculties, any student who wishes to receive an excused
absence from class must submit a request form available from the Dean
of Faculties for each absent day. This form must be presented to
the course professor by the end of the second week of the semester. A
separate form must be submitted for each day. The form must be signed
by the instructor, a copy retained by instructor, and original returned
to the student (information and forms about the policy on religious observation).
- Academic Integrity: all students are required to know and follow departmental and IU policies on academic integrity. These policies will be followed if necessary.
|
|
|
|
|