CS491 Intro to Modeling & Postproduction
Spring 2010
Time: TTh 2:00-3:15
Location: Mitchel Hall 116
Instructor:
Joe Michael Kniss
Ferris 301G
277-2967
jmk (at) cs.unm.edu
Office Hours: TTh 3:30-4:30
Info:
Official class web page:
www.cs.unm.edu/~jmk/IFDM210
Class blog:
imagehacking.blogspot.com
Description
Students will learn to tie together three important aspects of
digital image production: Modeling and Animation, Postproduction
Effects, and Pipeline Development. The content of this course
builds on the algorithmic knowledge gained in IFDM 152 to develop
procedural animation methods and ad-hoc processing pipelines.
Students will be challenged to develop an original aesthetic style
while efficiently leveraging computational resources. Essential
skills and concepts covered in this class include: GFX scripting
languages (Lua and Mel), geometric and algorithmic problem solving,
layers and compositing, basic image and color processing.
The objective of this course is not to train students in any
particular production software package (though we will use specific
tools; Maya, Final Cut, etc..). Rather, students will learn how to
think logically about the creative process so that vision can become
reality while repetitive tasks are automated.
Text
Suggested Text
Light Science: Physics and the Visual Arts, Thomas D. Rossing and Christopher J. Chiaverina. This book is not required, but usefull.
Because there is no assigned text book for this class. Students will be
expected to take advantage of application documentation and
tutorials. Resourcefulness (finding the right information) is a
key aspect of animation and production design. Students are
encouraged to identify, document, and share community message
boards, blogs, production examples etc... Additional resources will
be made available via the class web page.
Grading
A significant portion (30%) of the grade for this class is
participation. Students must keep an online journal of class
activities and assignments. All assignments should be posted to your online
journal,
unless otherwise specified. The journal can be a blog, personal web
page, or even PDF document (posted online)
It must be available to the instructor but
not necessarily the world. Assignments will be graded based on
degree of completion, quality of results, and documentation of the
process.
Grading Breakdown
- 30% personal journal (2-3 entries per week for an A)
- 40% individual assignments
- 30% final project
Late assignments will incur a 10% per day grade penalty. Students
are allowed one free late day per-semester.
Idea's for journal entries:
- Watch a movie! Dissect the interesting/significant digital manipulations (e.g. color enhancement, special effects, compositing, etc)
- Take a tutorial (e.g. Maya keyframing, shading, modeling, etc) and report what you learned.
- Research a topic from class (e.g. Subdivision surfaces, splines, compositing) and report what you learned.
Course Content
Week 1 Light: Pixels and Paint
Assignment 1 due Jan 21
Create a blog and email blog location to the instructor. Your first post should be about color.
Week 2 Color: Physics and Perception
- Color Algebra
- Color Harmony
- Additive and Subtractive Color
Assignment 2 due Feb 2
Create a color wheel and tone strip image
- You MUST have at least 12 pure hues (3 primary, 3 secondary, 6 tertiary)
- You MUST have at least 3 different values for each hue
- You MUST make at least 3 strips blending 3 pairs of complements through gray
- All colors you use MUST be from photographic sources (samples from pictures)
- You MAY make a physical poster (no smaller than 18x24 inches,
using for example swatches from magazines),
or digital image (no smaller than 2000x1500 pixels,
using for example pieces of flickr or google'ed images)
- You MUST have a write up describing the process of building your color wheel.
Think about the instructions necessary for someone else
(for example someone in next year's class) to exactly reproduce your
image. This is the most important part of the assignment, accounting for
50% of the assignment's points.
- Post your image and writeup to your blog no later than Feb 2
Weeks 3 and 4: Intro to programming in GIMP
- Basic programming constructs: Variable, Function, Loop, and Operators
- Debugging Skills
- How to RTFM...
Assignment 3 due Feb 15
Create a Gimp Script-Fu
- Your script MUST be published on your blog by Midnight Feb 15
- Your script MUST be a text file script that loads into GIMP
- Your script MUST:
- Create a new Layer.
- Produce a gradient from top to bottom going from blue to yellow.
- Extra Credit:
- Make your script create multiple layers, each with a different gradient
- Add some user interface elements to control the behavior of your script.
Week 5: Roll your own scripts
- Testing Commands
- Problem Solving
- Yet more debugging
Assignment 4 due Feb 25
Create a Color Wheel using Script-fu
- Your script MUST be available on your blog by Feb 25, Midnight
- You MUST generate a color wheel entirely in a Gimp Script, runnable from the "Filters" menu
- Your wheel must include at least 12 hues, following the RGB primary basis
- Your script must also generate 3 complementary hue transitions (with gray in the middle)
- Aesthetics of your work will factor into the final grade (i.e make it look goood!)
- Your script MUST include documentation (how is it used) and have comments in the code (describing what you did).
- Extra Credit
- Add user interface elements to modify the behavior of your script
- Use additional graphics (such as "stroke" lines) to make your wheel pretty
- Allow the user to specify images that are used to build the color wheel
Week 6: One of these things is not like the other
- Mask making
- Difference Photography
- Image Math
- Some data, start with 17, 26, and 27
Weeks 7 and 8: Command Lines and Good Times
Assignment 5 (Midterm) Due Mar 25
Create an animated sequence using a script.
- Your animation MUST utilize "real-world" video footage
- You MUST use GIMP or ImageMagick to modify your video footage
- Your final script MUST take the original video footage and output the complete modified video
- Your animation MUST implement at least one of the following
- Foreground/background separation: for example green-screen or background subtraction
- Color correction or other interesting color effects
- Introduction of moving graphic elements
- Extra Credit
- Include audio processing in your animation
- Create auxillary scripts that can be resued later, demonstrate that this is true
- Develop interesting behaviors for graphic elements, for example bubbles that movie like real bubbles using a
particle system
Note: Video Cameras can be checked out from the IFDM offices, but you are welcome to use the boring footage I provide.
You can use either Gimp or ImageMagick; if you want to use gimp try googling "Gimp batch". Keep in mind that I want
a single script that solves the assignment, however this script can depend on other, simpler scripts. This assignment will
be much easier to motivate if you can find some example effects to emulate. Again, please dont forget: Your solution must
include a writeup, the script, the resulting video, all posted to your blog by the deadline.
Some in-class samples
Note: these were made for Cygwin on windows, some commands are different on Mac/Linux
Mar 25th, Eyebeam Roadshow
Class will meet at ARTS Lab for exciting hands on demos. Bring your laptops!
April 6th Field Demo, DSH 144
Class will meet in Dane Smith 144 for a hands-on demo of Field. This is a mac-lab so just bring your bodies this time.
Homework 6: Script Clip
Create a 5--30 second clip demonstrating basic composition and scripting skills. Your clip should have the following:
- Use of "green screen" tricks, i.e extraction of foreground/background elements from video.
- Assembly of clip using scripts, ala Assignment 5.
- A thoughtful written discussion of the following:
- Iteration: demonstrate how your concept evolved through multiple passes.
- Color: How is color used? What color harmonies/palettes exist in your work?
- Composition: What and why are the graphic elements used in your work? How do they work together?
- Movement: How is the time dimension used? How does movement interact with your composition?
- Story: How are we lead through frame 1 to frame N?
- Repeatability: Demonstrate that you can reuse your scripts to create additional footage.
You are allowed to work in groups of no more than 3 (exceptions MUST be approved by me). Each individual MUST report their contribution and unique writeups.
Timeline
- Storyboards: Friday April 9
- Filming & Mock-up: Friday April 16
- Scrips, finished piece, writeups: Friday April 23
Note, you should be planning and working on these elements in parallel, the sequence of due-dates should not imply that this is a serial process!
Here is an example script for Photoshop. It just opens three files: 1, 2, 3. You will have to edit some of the paths to get it to run on your machine. Note that if you plan to use scripts in Photoshop, it is much much easier if you insall the "ScriptListener". Also, remember that any action you design in Photoshop can be called from a script and it IS possible to convert actions to droplets and call these from an external bash/python script.
Final Piece, Due May 10
Create/finish an image or animation of portfolio quality (high enough quality you might want someone else to see it).
- Your piece should have a short but detailed description of its content and construction
- Comment on the qualities of its
- Composition
- Color
- Narrative
- Provide a detailed description of how the piece can be reconstructed from primitive elements (e.g. raw video). This need only be made available to the instructor.
Note: ABSOLUTELY NO late assignments can be accepted