Experimental Scripting for Animation in Maya
Arts Col 759, 5 credits
MW 3:30-5:18

Professor Alan Price
office hours: MW 11:00-12:00 by appointment

Course Description:
An introduction to Maya Embedded Language (MEL) as a tool for animators to streamline workflow, exercise control over complex operations, and to explore ideas originating from the generation of motion graphics through mathematical procedures.

Course Objectives and/or Student Learning Outcomes:
Sophisticated software programs often provide tools for user customization of the interface, implementation of new methods for interaction, and to virtually build new applications within the existing one. Many 3D animation programs have this adaptability for extending functionality. The objective of this course is to familiarize students with the practice of writing custom expressions and MEL scripts for the purpose of expanding their toolset for art making, design, and visualization. This extensibility allows for experimentation in new ways of thinking about process and creative problem solving.

Course Methodology:
The course will consist of lectures and demonstration with time given to individual and group work during class hours. Examples of expressions and MEL scripting applications will be presented in addition to those found in the course textbook, which will serve as a primary resource and guidance for students throughout the course progression. Video reference material will be screened and students are encouraged to share with the class examples found during research on topics of interest relative to the course. Assignments and exercises will be given to aid in learning topics and evaluation of progress. Students are expected to seek and apply their own unique creative voice in designing solutions for the tasks presented.

Students must demonstrate satisfactory achievement of course objectives through fulfillment of course projects and by contributing to class discussions and critiques. Course projects will require students to use a wide variety of software and equipment at ACCAD to produce scripts, objects, images, and/or web pages. Collaboration between students in the course and other faculty, staff and students at ACCAD is encouraged.

All assignments in the course are expected to be the students’ individual work and any external assistance or resources that are used must be documented and presented with completed projects. Direct use of tutorial or other example materials in whole or in part will not be accepted without prior written approval of the instructor.

Grading Policy:
All students are required to be on time and in attendance for each and every class. Two absences will lower a final grade by 1/2 a letter, three absences will lower a final grade by one letter and four absences will result in failure of the course.

Adherence to deadlines is expected. It is the individual student's responsibility to keep track of deadlines and to present the work to the class and instructor on the specified dates. Revision is part of the process in preparing work for the final due date, not after. Make use of production time in class to receive feedback on work in progress from the instructor and classmates. Work presented late will be marked down one grade letter for each class meeting missed. See the calendar below for value of each assignment or exam towards the final grade

Students choosing to use "at home" hardware and software must have their current working files on the system and available for review at the beginning of each and every class. Problems with home systems and/or incompatibility will not be an acceptable excuse for missed goals. Technical problems will happen frequently during the semester and students will have trouble accessing the computer lab during "prime time" hours. Students must make their own arrangements for overcoming these difficulties and submitting their work on time. Unless there is a complete system failure in a computer-related course, technical difficulties are never an acceptable excuse for not meeting a deadline. Students should plan their time and work so as to anticipate the technical hurdles that are a part of this profession.

Topics and Assignments:

Week 1 Overview of Maya’s Dependency Graph Architecture
First steps in script creation and exploring the Maya command set

Week 2 Introduction to expressions
Creating custom attributes
Creating connections between nodes

Week 3 Variables, Data Types, and Operators
Conditional and looping Statements

Distinctions between Expressions and MEL scripts

Week 4 Procedures and Functions
Designing custom GUI's

Week 5 Designing a Character Rig GUI

Week 6 Expressions with particle systems and dynamic properties

Week 7 Experiments with flocking systems

Week 8 Final project proposals – Individual meetings

Week 9 In-Class Work Time for Final Projects
Further notes on script distribution and plug-in creation

Week 10 Final project work and critiques

Assignment Descriptions:
Create a script that generates a new scene with animation.
Create an expression-driven animated scene utilizing conditional statements.
Create a script with GUI for interactively generating event(s).
Create a GUI for character rig control and/or generating rig components.
Create a script that generates and creates custom connections with dynamic properties.
Final project

Projects#1 - 5: 15% each
Final Project: 25%

Course Text:
MEL Scripting for Maya Animators, Mark R. Wilkins, Chris Kazmier,
Morgan Kaufmann, ISBN 1558608419, December 2002.
Available on Safari Books Online

Recommended Texts:
1) Alias-Wavefront - MEL Fundamentals
2) Complete Maya Programming: An Extensive Guide to MEL and C++ API by David Gould

Other resources:


Statement of Academic Misconduct: In accordance with Faculty Rule 3335-5-487, all instances of alleged academic misconduct will be reported to the department chairperson and the Committee on Academic Misconduct (The University’s rules on academic misconduct can be found at http://oaa.osu.edu/coam/home.html). Academic misconduct is grounds for failing the course and may be grounds for further sanctions. Academic misconduct includes, but is not limited to, giving or receiving information during an exam and submitting plagiarized work for academic requirements. The University provides guidelines for research on the web at http://gateway.lib.ohio-state.edu/tutor/.

Students with Special Needs/Disabilities: If you need an accommodation based on the impact of a disability, you should contact us to arrange an appointment as soon as possible. At the appointment, we can discuss the course format, anticipate your needs, and explore potential accommodations. We rely on the Office of Disability Services for assistance in verifying the need for accommodations and developing accommodations strategies. If you have not previously contacted the Office of Disability Services, we encourage you to do so by calling 292-3307.