2019
Project 1 - You Can't Judge a Book by Its Cover
Alpha Due Saturday 9/14 at 8:59pm Chicago time Application Due Saturday 9/21 at
8:59pm Chicago time
Documentation Due Monday 9/23 at 8:59pm Chicago time
Project 1 is focused on Augmented Reality. In the
future when everyone is wearing their AR enabled eye-wear most
of the time, what kind of future will it be? We are going to
explore this a bit by looking into what the future of how
physical books might become augmented. How can books survive in an AR
world? How can they 'advertise' themselves? This project will
give you some experience writing an Augmented Reality
application using Unity3D and Vuforia, and let you experience
what interacting with this kind of augmented world will be like.
It will also give you some experience with creating and
modifying 3D models for use in these kinds of worlds.
For
example, from the week 2 demos, I can take a copy of Thor
Heyerdahl's paperback on Rapa Nui / Easter Island and augment it
with a 3D moai from 3D
Warehouse
(https://3dwarehouse.sketchup.com/model/d784e09f-71ce-4020-a40e-be49a6f87e2e/Moai)
In the future people may be wearing lightweight trendy
glasses, or contact lenses, or ocular implants, but for now we
are going to use a webcam attached to a computer to simulate
this AR eyewear. Make sure you have regular access to a modern
webcam that you can plug into your development computer. There
will be a webcam available on the classroom computer for
testing, which also gives a common
platform for evaluating your work. There are also
several apps out there that let you use your smartphone as a
webcam, so you may also want to try those (e.g. DroidCam) while
developing.
You can work on this
project alone, or in groups of two or three. The amount of
work scales linearly with the number of people in your group.
Note that the entire project is graded as a single whole, not as
a collection of components from different people - group members
must make sure their individual work combines together well.
To start with you (or
your group) should pick a classic book, play, or short story, fiction or
non-fiction. You should have a physical copy of this
book / play as you will augment the physical copy as part of the
project, and you will need to turn in this book for a few weeks
during grading. Note that books with 'noisy' covers will work
better for AR than simple ones for AR purposes.
Implementing the
Project
You will be implementing the project in Unity 2019.2 and Vuforia to run on the
classroom PC.
75% of the points on
the project (C level functionality) are for:
create an
image target based on the front cover of your book so that you
can set your book on the table, point your webcam at it, and
see the augmented information hovering over the front cover
the front
cover needs to have the title and author(s) displayed in
augmented text
the
front cover should show a 3 dimensional scene from the book
with appropriate
lighting with at least 2 lights. For each person in your team you
need to add the following things to the front scene which
should be clearly visible / audible in appropriate scale and
appropriate style
at least
5 unique pre-existing models
at least one reasonably
interesting unique model you created yourself
at least one ambient
sound
at least
one animated/moving object or particle effect
the front cover needs to have an AR
button that the user can activate which will trigger a 3D
character from the book to appear as a spokesperson, in
addition to the scene, to speak the name and author of the
book and encourage you to read it. The spoken sentence should be
audible over any ambient sounds or music you have on the page.
A member of your team
should supply these sentences and not use anything
prerecorded, though you can feel free to enhance your audio
recording.
25% of the points on
the project are for:
create an image target based on the back cover
of your book so that you can set your book on the table,
point your webcam at it, and see the augmented information
hovering over the back cover
by default text should appear above the book
giving the title, author(s), language, number of pages, and
publication year
the user should see an augmented reality
button allowing them to change the visible information
floating above the back cover from the title / author / etc
information to a set of mostly textual reviews, and a set of
video reviews (using unity's video player)
for each person in your team you need to add
the following things which should be clearly visible /
audible in an appropriate scale and appropriate style
at least 2 brief reviews of the
book similar to what you would see on rotten tomatoes or
amazon with some kind of iconic score (fresh / rotten,
thumbs up / thumbs down, n out of m stars using 3d
objects), a 1-sentence textual review, brief info about
the reviewer, and the date of the review.
one short 10-30 second video review of the
book (feel free to be as excited or deadpan as you
want in the video review as long as the video and
audio are good quality.
You can do the review yourself or recruit others, but
you need to name anyone else you recruit. You can not
just grab something off the web - you need to
purposely record the review for this project)
Graduate
students in the class also need to translate the augmentations
into one additional unique language per graduate student. This
language could be a real language or Klingon or Swedish Chef,
or High Valerian, etc. The user should be able to choose the
language via an AR control on either cover and see all of the
text and hear all the spoken language shift to that language.
Note that
each group needs to pick a unique book or story and have it
approved by Andy. The first email that reaches Andy claims
that book. You can only try to claim one book at a time (no
lists) so think it over with your team and look at what free
models are available that you could make use of. Please tell me the names of the
members of your group when choosing the book. The
definition of 'classic' is up to Andy ... feel free to try
and convince me something is a classic. The book and the
scenes you create from it should be rated G or PG and not be
overtly violent or offensive. While there are many classic
books that are important and offensive, and important
because they are offensive, this project is not the place to
have in depth contextualized discussions of them.
You should create a GitHub page for your project.
You can integrate Unity with git so that it will track all your
changes, or just regularly push files to git. The final project
will need to be turned in via git so we know the timestamp on
the files, but it can be also helpful to have regular commits to
resolve any potential group conflicts. Initially this repository should
be private to your group, and then you can make it public for
turning it in.
Note that there is a very big difference between
getting something working and getting it working well. The first
is not that hard. The second takes much more time. You are
expected to have things working well, so be sure to test on the
actual hardware regularly. The projects are going to be graded
based on how they run on the classroom PC. Make sure that your scene updates
at a decent frame rate, at least 30 frames per second, so make
sure the models you pick don't have too many polygons.
Turning in the
Project There are
three due dates for the project.
The alpha is due
first. At this point you should have all the basic C
level functionality working. Add the TA as a
collaborator to your GitHub repository so she can
have access to your work, and email a link to the
repository to her. Make sure the repository
contains an image of the front cover of your book
suitable as an image target. You should also
create a short 1 minute YouTube video showing all of the
basic C level functionality of your application running on
the classroom PC or a computer of your choice, probably
captured through a screen capture program. Send a link to
the video to Andy and the TA by the alpha deadline.
The
unity source and application is due next. This will be
turned in via GitHub by making your repository public. Make sure the repository
contains images of the front and back covers of
your book suitable as image targets. Be
sure to email the location of your repository to Andy and
the TA before the deadline. You will need to turn in your
physical book in class.
The third deadline is
for the documentation.
You should create a set of public web pages (visible to
anyone for at least the duration of the course) that
describe your work on the project. You can host your web
pages at UIC(http://people.uic.edu),
GitHub, or the provider of your choice,
as long as they remain publicly available to all. You can
use any publicly available templates as long as you cite
them, or create your own.
These pages should include:
introduction and
description of how to use your application and the things
you can do with it
links to all the
source code and any assets (models, textures, sounds) that
you used along with instructions on how to build your
application on the classroom PC
link to your git page
that allows someone to easily download a zipped folder
containing your entire project to the class PC to be run
enumerated
list with images of the n models you used and the ones
you created for your application to make it easy to see
that you have those n models in your scene (one good way
to do this is to take some high resolution screen shots
of your scene and put numbers next to each of the models
and then have a textual list showing where the models
came from and author credits or
that they were created by you)
enumerated
list of the sounds you used and their sources, or state
that you created them
at least a one
page / 500 word discussion of how effective you
think this technique could be as a kind of 3
dimensional 'movie trailer' for the book.
all of which should haveplentyof
screenshots with meaningful captions. Web pages like this can
be very helpful later on in helping you build up a portfolio
of your work when you start looking for a job so please put
some effort into it.
You should also create a 2-3 minute YouTube video showing the
use of your application including narration with decent audio
quality. That video should be in a very obvious place on your
main project web page. The easiest way to do this is to
capture video from your webcam while interacting with the
virtual book. You can try to narrate while interacting but you
will most likely find its useful to do some editing afterwards
to tighten the video up.
The web page including screen snapshots and video need to be
done by the deadline so be sure to leave enough time to get
that work done. Once you have your webpage done, send the URL
to Andy and the TA before the deadline. We will respond to
this email as your 'receipt'. We will be linking your web page
to the course notes so please send me a nice representative
jpg or png image of your application for the web. This should
be named p1.<your_last_name>.pg or
p1.<your_last_name>.png and be roughly 1024 x 768 in
size. When the project
is done, each person in a group should also send Andy a
private email with no one else CC'd ranking your coworkers
and yourself on the project on a scale from 1 (low) to 5
(high) in terms of how good a coworker they were on the
project. If you never want to work with them again, give
them a 1. If this person would be a first choice for a
partner on a future project then give them a 5. If they did
what was expected but nothing particularly good or bad then
give them a 3. By default your score should be 3 unless you
have a particular reason to increase or decrease the number.
Please confine your responses to 1, 2, 3, 4, 5 and no 1/3ds
or .5s please.
Presenting the Project
An important part of creating
AR applications is getting feedback and using it to improve your
design.
We will be spending time in class for each person/group to show
off their work.Given
the number of groups, each group will have 5 minutes to
present their project.
The
classroom VIVE PC will have a folder on the desktop named
428 Fall 19 Project 1. You should put a copy of your
executable and its associated data folder into a folder
named after you, and then put that folder into the 428
Fall 19 Project 1 folder.Be sure to test and
make sure your project runs well with the webcam on that PC
as that is where they will be shown in class and officially
graded.