Join / Forgotten your password?
 
HomeFeaturesStoreForumsWikiWorkshopsJobsPortfolioGalleryEvents Members
 
> Home     > About     > Courses     > Instructors     > FAQ     > Policy     > Classroom      > Support
 

In this new workshop, Raffaele Fragapane tackles the important elements in Softimage, Python and the Design & Programming of Technical Direction. In doing so, Raffaele will illuminate the pathways to aspiring TDs and artists who wish to gain a better understanding of what goes on ‘under the hood’.

Python and Softimage basics introduces students to simple, efficient ways of dealing with the technicalities of a 3D application, while giving students the tools to gain a new understanding of how to problem solve and elegantly design the solutions. Topics covered are immediately supported by real world examples, tools, procedures and design processes that apply to actual production.

This workshop is aimed at the beginner who needs to push themselves to an intermediate level while helping the intermediate scripters consolidate and expand their knowledge to more advanced topics.

By the end of this workshop, students should be able to write various tools to manage scene data to help the day to day workflow, understand basic software design problems and solutions, develop and deploy efficiently in python both python modules and Softimage Self-Installing-Plugins, and to have gained an understanding of programming practices and concepts that will enable them to easily expand on the subjects on their own.


Raffaele Fragapane ’s IMDB credits
About Raffaele Fragapane >>

 

Week One: Getting started
Finding your way around the interface elements and the tools, and understanding the information they provide and how to use it

  • Interface Elements and necessary tools
  • Commands
  • Finding your way around in the reference docs
  • The Application Object
  • Hacking a script from the log
  • Variables and the concept of referencing
  • First loops
  • If conditions
  • Tool development #1, moving from command hacking to the Object Model

Assignment: Give yourself a focus for the project. Come up with a project or tool to develop parallel to the course to practice away from the specific examples and assisted by the mentor. Discussion, feasibility study and revision will follow as correction to make sure it can be included in the scope of the course and be brought forward in parallel.


Week Two: Python fundamentals
Elements and how to use them to write readable, re-usable and functional code

  • Pythonic arrays, Lists
  • Looping and multidimensionality
  • Logic, writing a Padder
  • Functions
  • Principles of code readability and code re-usability
  • Refactoring first steps, previous week tool revision and facilitating re-use

Assignment: For those running their own project on the side, we'll start identifying and rationalizing the components needed, and will sketch the first bits of logic. For those who'll be relying on course material alone, repurposing a renamer tool.


Week Three: Tool development
Planning ahead for, and managing, simple user interaction

  • Storing data the right way
  • Python Dictionaries
  • Introduction to simple UI, planning and designing before implementing
  • Fetching from different sources (selection/picking/traversing)
  • More looping, While loops, when to use and how to make them safe
  • Tool development #2, traversing, sorting and renaming scene elements
  • Tool development #3, revising the renamer and preventing ungraceful errors

Assignment: For those running their own project on the side, identifying the what parts of the project require user interaction, determining the tool's I/O and eventually implementing the first pass of its UI. For those who'll be relying on course material alone, revision and slight optimization of the tool dev efforts, and exploration of some possible user interaction models.


Week Four: The XSI Way
XSI SDK's object orientation in practice. Navigating around scene elements, finding what you need and using it the right way

  • Scene Elements explained, X3DO, Elements, Primitives, Geometry, Elements and other useful things charted out
  • Identifying, finding and using scene elements
  • Mapping the scene to the SDK objects
  • Tool Development #4, working with geometry
  • More on Elements, Mapping and LUTs
  • Tool Development #5, working with properties 101 (simple weightmaps)
  • Tool Development #6, working with properties 201 (dealing with clusters, partials and mapping”
  • Tool Development #6, working with properties 301 (extending Tdev #5 and 6 to shapes)

Assignment: For those running their own project on the side, if applicable dealing with eventual scene traversal and data handling needed for the tool, if not assignments will be individual and based on the specific tool the student is attempting to develop. For those who'll be relying on course material alone, expanding on the toll dev exercises.


Week Five: Tool Deployment
Understanding XSI's framework to develop and deploy plugins

  • Scripts aren't just text files you load from somewhere
  • Registering and deploying in XSI
  • Registered Commands
  • Registered Properties
  • Self Installing Plugins
  • Tool Development #7, porting our efforts to a Self Installing Plug-in

Assignment: For those running their own project on the side, sketching out the structure of the plugin version of their tools. Identifying commands and properties and laying out the skeletal form of the plugin. For those who'll be relying on course material alone, implementation of previous weeks tool dev work as registered commands.


Week Six: Maths fundamentals
Basics of linear algebra illustrated and explained, how it fits in what you do, and how to effortlessly learn it alongside programming

  • Demystifying: it actually IS quite easy. Years of over-complicated textbooks and lack of context have distanced people from what really is a rather visual and intuitive discipline
  • Vectors
  • Concept of spaces and mapping and reference frames
  • Trasnformation matrices
  • Using ICE as a visualization and aid tool
  • Linear Algebra in Kinematics
  • Manipulating transforms
  • Space/frameset conversion

Assignment: For those running their own project on the side, if applicable we'll find and analyze eventual mathematical elements of their tool and show how to reduce the subject to simple elements. If not applicable then continue development of eventual missing bits of the tool, or if that is also not applicable fall back to the course assignments. For those who'll be relying on course material alone, re-implementing several Softimage constraints as run-once custom commands.


Week Seven: Working with vectors and transforms
Hands on tool dev with shapes and transforms, implementing the previous week

  • Traversing and fetching pt.2
  • Applied Linear Algebra: Manipulating shapes in all reference frames
  • More on CPSets (Custom Properties), hands on
  • A look at the Softimage Plugin Wizard
  • Tool development #8, Shape Tools suite

Assignment: For those running their own project on the side, Implementing custom properties and cleaning up, and consolidating, work on the plug-in form of their tool. For those who'll be relying on course material alone, an eventual further pass on the previous week's exercise if needed, and/ or creating Custom Properties after guidelines/direction.


Week Eight: Pulling it tight, with elegance
More on Object Orientation, hands on Python Modules, and making it all come together

  • Python Modules
  • Code modularization and re-use through modules
  • Deployment
  • Self Installing Plugins + Modules gotchas
  • Simple framework design
  • Tool development #9, modularizing the previous weeks work
  • Tool development #10, repurposing the shape tools

Assignment: For those running their own project on the side, we'll do any necessary wrapping and cleaning on the tools, and discuss potential improvements or alternatives to use as inspiration to remain active and directed for a bit after the course if the student wishes it.


 

Level of Ability:
Basic knowledge of XSI to the point of being able to navigate scene elements, running scripts in the script editor, and recognizing a few key words is needed.

A very basic understanding of scripting (log hacking and macro-style scripts) is beneficial but not needed.

Previous knowledge of scripting in another language or at a basic level is useful, and needs of those trying to migrate from another language are catered for, but not required.

Students need to be familiar with using a bulletin board system (such as CGTalk.com).

Hardware Requirements:
The minimum configuration needed to run XSI version 6 or higher is needed. Given the resource light nature of scripting exercises and related applications the student might want to use a P4 with 1GB of RAM will be sufficient.

A working install of XSI 6.0 or higher is required and will cover all the needs for the course. XSI 7.0 or higher is useful if the student wishes to use ICE for the maths lessons of weeks 6 and 7, but not needed. Older versions of XSI might work, but considerable additional work would be required to adapt some of the scripts to run on older SDK revisions.

A working install of PyWin and Python will be needed, and a script editor highly recommended, links to free and OSS tools to cover those needs will be provided in the pre-flight literature at the beginning of the course.

Students need a minimum 512mb RAM and a 2GHz+ CPU but as with all 3D, the more powerful the better!

A web browser and internet connection is required. Broadband is mandatory as the workshops' weekly tutorials are a mix of text and video.

This course is no longer available for registration

Begins: 13 July 2009
Ends:
13 September 2009
Sessions: 8
Active weeks: 8
Fees: USD $499.00

Maximum Students:
35
Instructor Location and time zone: Australia, Sydney GMT +10

Registration:
Closed

Workload:
Reading & Research: 3-5 hours per week. Assignments: Students will be expected to complete assignments on a weekly basis taking between 8-12 hours depending on individual proficiency and speed.

 

IMPORTANT: Online courses require a considerable amount of dedication and enthusiasm to learn. Students must be self-driven and disciplined enough to learn and do the assignments. Success depends on the student's commitment and effort.

For information regarding CGWorkshops policies and procedures, please refer to the following links:

 
© 2002-2010 | The CGSociety - All rights reserved
No part of this website may be reproduced unless for personal use without prior written permission from The CGSociety. www.cgsociety.org.
CGSociety is best viewed in Firefox
Get Firefox!