Behind the Scenes: draft version of article appearing in Animation: an interdiscplinary journal
Transcript of Behind the Scenes: draft version of article appearing in Animation: an interdiscplinary journal
Behind the Scenes: A Study of Autodesk Maya
Aylish Wood
School of Arts
Jarman Building
University of Kent
Canterbury
CT2 7UG
Automation lies at the centre of many debates
surrounding computer-generated animation. These include
an interest in aesthetic innovation (Purse, 2013),
changing studio organizations (Tarantini, 2012), and the
out-sourcing of labour (Yoon and Malecki, 2009). Making a
connection between what we see on the screen and the
means of its production, Leon Gurevitch suggests that the
mass produced qualities of highly detailed and large
scale spaces, multitudes of digital entities, and complex
arrays of lighting in a final render, discloses the
presence of automation: ‘…what the viewer beholds is a
composite of animated and simulated image forms only made
possible by the synthetic means of computer automation
(Gurevitch 2012: 135).’
Automation is rarely used as a neutral term; rather,
it is frequently a marker of changing practices somehow
outside of the control of human users of technologies,
often threatening the terms on which agency is founded.
Remarking on anxieties specific to computer-generated
animation, Mihaela Mihailova comments:
1
Anxieties about the digital could be partially
provoked by the relative impenetrability of con-
temporary animation processes. To anyone who is not
a software developer, animation software might as
well run on arcane magic. And while it is possible
to demonstrate and subsequently demystify the
different creative tasks of cel animation because
they are performed by humans, computer processes
cannot be observed. Their inner workings can
sometimes remain unfathomable and mysterious, even
to those who have mastered their use (Mihailova,
2013: 142-143).
It is true that the inner workings of software seem
unfathomable because code is executed in ways that remain
invisible to human eyes, evocatively described as the
‘sourcery’ of code by Wendy Chun (Chun, 2008). The
difficulty is, as Matthew Fuller pointed out in 2003,
that: ‘Software lacks the easy evidence of time, of human
habitation, of the connotations of familial, industrial,
2
or office life embedded in the structure of a building
(Fuller, 2003: 43).’ Fuller’s remarks were written in the
spirit of finding ways into software, and subsequent
approaches within software studies, in particular those
relating to computer games, can be put to good use in
thinking about animation software. For instance, Noah
Wardrip-Fruin says that players gain an understanding of
the operational logic of a game as they play.
Understandings of automation and computer animation
software can be complicated by this insight, and is
developed further through an exploration of the user
interface (UI) of the 3D animation software Autodesk
Maya. Since users experience the automation of software
via their interactions with the UI, it offers a ground
for closely examining how the inputs generated through
human users and automation counterpoint rather eclipse
each other.1
This essay looks at the systematic and apparently
transparent processes of the UI of the 3D animation
software Autodesk Maya, and will argue that the visible
depictions of automation give insight into how a UI both
3
bundles and also disperses user agency during the process
of creating animations. Agency is meant in the sense of
the capacity to carry out actions, one that is
distributed between both human users of software and also
the software itself. Autodesk Maya, or Maya, has retained
a pre-eminent position in the visual effects, games,
television, and advertising industries since its release
in 1998. Maya is explored through a methodology that
combines an analysis of the visual organization of the UI
alongside interviews with users of the software, in
particular modellers and animators. My investigation of
the interview material is framed through software
studies: Noah Wardrip-Fruin’s ideas on expressive
processing and Adrian Mackenzie’s account of software and
agency. Drawing on these different approaches, the
argument put forward is that systematic building of
models and movements and also creative uses of automation
co-exist. Rather than seeing automation overwhelming user
agency, working with software is finally a balance
between automation and a user’s input.
4
Introducing Autodesk Maya and a Framework for Studying
its UI
One of many animation software packages, Autodesk
Maya is the central case study of this paper. Released in
1998 to great acclaim, the software won an Oscar for
Technical Achievement in 2003, and was rapidly associated
with films that won and were nominated for visual effects
Oscars. Some 10 years later, it remains a key component
of many studio pipelines, for instance in the making of
Avatar (2009, James Cameron), Epic (Chris Wedge, 2013), and
the Despicable Me films (Chris Renaud and Pierre Coffin,
2010 and 2013). One of the reasons for its wide adoption
in the visual effects, animation, and advertising
industries, and also in games and data visualizations, is
that the software is open. Many studios and users write
scripts that automate repetitive tasks or add
functionalities specific to the projects on which the
studio are working. Over the years a number of these
extensions have been incorporated into the core
functionality of the software, enabling developers to
5
keep innovating and Maya to retain its position amongst
an increasing range of competitive software. The
longevity of Autodesk Maya and its continued pre-eminence
makes it a good case study through which to ask questions
about the experience of users of computer animation
software.
Before moving more fully into a discussion about the
UI it is worth briefly outlining how the software is used
to create animations, whether they are used in visual
effects or animations. Animating a bouncing ball is a
fundamental learning exercise.2 The user first creates
their ball from a sphere primitive. Primitives come in
three basic shapes spheres, pyramids and cubes they
are the building blocks for modelling. Having used the
modelling tools to generate a ball, the user then works
with the animation toolset to make it move. A timeline is
set in numbers of frames per second. Along this timeline
the ball can drop from a height (say 5) to 0, bouncing
back to 3, beginning in position A, bouncing at B and
ending at C. The heights and positions are in the X and
Y-axes respectively. A very basic animation could have
6
three key frames in positions A, B and C. The software
would generate the movements between those the key frames
based on the calculation of the quickest route from A to
B to C. To achieve a more nuanced and stylised movement,
such as easing into and out of a bounce or the
acceleration of falling and deceleration of rising, the
user would work the tangents of the curve of motion,
adding key frames at intermediate points between A or B
or C to get the kind of movement they want to see. If the
ball needs to swerve through the depth of the Z-axes, the
user would control that curve too. Working this pathway
along the timeline is only one element of movement, as
the ball would most likely not only move but also rotate
in flight and deform on impact. Figure 1 shows the
animation curve of a ball that has been thrown over a
wall into a yard, and has bounced back off the wall on
the right of the image. The curve shows a range of
accelerations and decelerations. More complex animations
can be seen as developments of this exercise. A simple
complication is to animate 3 balls of different weights,
say foam, rubber and wood, where the task is to animate
7
in a way that demonstrates the different weights and
timings of a bounce. A further complication would be to
give the object personality, as is often the case in
animation. Extrapolate these options to a scene where a
figure is animated interacting with an object. A figure
is a complex rigged model. Each moving part of that
figure has a characteristic movement, many of which may
be active in a sequence generating a multiplicity of
animation curves. Each curve has their own set of key
frames on the timeline, each with different patterns of
movement. For instance, even in a scene with smaller
scale movements, such as a conversation between the
characters Ronin, M.K. and Mub and Grub in Epic, all the
different moving elements of the scene (gestures, small
changes in posture, the extended stalks of the creatures
eyes), have their own animation curves (See Figure 2). In
addition to the animation, Maya can be used to generate
the environment of the action, such as a landscape or
cityscape, inside or outside. To achieve a particular
look, such as the animation style of Epic that combines a
highly detailed texturing of the figures and their
8
environment, shading is added to the surface of the
wireframe models to create the minute details and
textures of a scene, along with lighting and shadow. To
create imagery such as that seen Epic and other films,
many different people would be involved in building the
scene. Teams work on different parts of a production
pipeline, involved in making models, rigs, doing the
animating, shading, and lighting before the sequences are
rendered and then edited to create the sequence of images
seen by an audience. (Figure 1 HERE; Figure 2 HERE)
As the primary site of engagement for the users of
software carrying out these various tasks, my discussion
focuses on the UI. The UI is complex, a consequence not
only of the sophisticated operations available via the
toolsets but also the history of the software’s origins.
Autodesk Maya was developed as a multifunctional program,
and marketed to the visual effects and game industries
from the outset, with a number of animation studios also
using the package. Initially released by Alias|Wavefront
in 1998, Maya has a hybrid code pedigree. The company
Alias|Wavefront was formed from a merger of Alias and
9
Wavefront after both were purchased by Silicon Graphics,
Inc. The merger brought several key programs and their
source codes under the same company roof. These were:
Wavefront Advanced Visualizer, TDI Explore, Kinemation,
and Dynamation, and Alias PowerAnimator (Ryan, 2011).
From this combination of source codes, Maya was developed
to offer a range of functionality, including toolsets for
modelling, animation, lighting, and rendering (Alt,
2002). Given this diversity of functionality there is a
potential for information overload. To combat this, the
UI was and continues to be designed to streamline
accessibility and enable users to easily locate their
toolset of choice.
From the perspective of design, the arrangement of
the UI prioritizes access to the toolsets. Writing in
1998 about Maya’s UI, interface designers George
Fitzmaurice and Bill Buxton suggest that: ‘The main goal
of UI design is to reduce complexity while augmenting the
ability of users to get their work done (Fitzmaurice and
Buxton, 1998: 64).’ A particular feature of Maya’s UI was
‘the hotbox’, an optional widget still important within
10
Maya and which was designed to enhance access for both
novice and expert users (Kurtenbach et al. 1999). Instead
of using drop-down menus or relying on hotkeys, the
screen can be overlaid with a customizable selection of
toolsets. To this day, introductory tutorials continue to
promote the UI’s flexibility, emphasizing how different
users find their own route of access into the software.
Escape Studio’s Introduction to Maya training module draws
attention to both the wide range of available toolsets
and also ways of customizing the UI to individual
preferences.3 Books such as How to Cheat in Maya 2010 (Luhta,
2010) and Introducing Maya 2013 (Derakshani, 2012) devote
time to explaining the organization of the UI, with
catchphrases such as ‘You Put the U in UI (Derakshani,
2012: 50)’.
These seemingly transparent ‘tidy desk tidy mind’
activities entrain users into a set of practices
associated with Maya, which often includes setting in
place expectations for being part of a studio team, with
an awareness of good workflow practices. As well as
providing training about toolsets and workflow, these
11
organizational strategies operate at a conceptual level
too. In a study of spatial arrangements at work and in
games, David Kirsch concluded that spatial cues are a way
of structuring the information taken in by users in any
given space: ‘Spatial cueing reduces the descriptive
complexity of the environment, as we informationally
structure our workplace (Kirsch, 1995: 66).’ With the UI
designed around different routes for gaining access to
the functionality of the software, opportunities develop
for enhancing degrees of control over the model, rig or
the movements of an animated sequence. As this occurs, a
user engages with the software’s operational logic, the
spatial cueing visible in the viewport and dialog boxes
providing a connection with the algorithms of the
software in ways that can both bundle and also disperse
their agency.
The term operational logic is taken from Noah
Wardrip-Fruin’s work on expressive processing. A software
studies approach to computer games, the framework of
operational logics provides a beginning point from which
to look more closely at the question of user agency in
12
the context of automated processes. Within software
studies, software is far from neutral (Fuller, 2003;
Chun, 2012). For instance, writing about programs and
operating systems such as Java and Linux, Adrian
Mackenzie observes that: ‘The incorporation of prior
knowledges, codings and practices within the sequence of
operations attaches specific frames and patterns to the
relatively abstract space and time of algorithmic
processes (Mackenize, 2006: 64).’ Ian Bogost and Noah
Wardrip-Fruin too advance this insight in the context of
computer games by examining how frames and patterns can
be discernible in player encounters with games. For
Bogost, the procedural systems of many different kinds of
games generate behaviour grounded in rule-based models,
in that they mount logic-based arguments that influence a
player’s decisions (Bogost, 2007). Noah Wardrip-Fruin put
forward a related idea in Expressive Processing, reasoning
that expressive processing in digital media are legible
examples of ‘things that we need to understand about
software in general (Wardrip-Fruin, 2009: 5).’ By
expressive processing Wardrip-Fruin means both the ways
13
in which authors and artists can use the expressive
potential of computational processes, and also that these
processes express meaning through their design and
histories. While Wardrip-Fruin’s ideas have been mostly
developed in relation to games, expressive processing is
relevant to an analysis of animation software. When using
Maya, artists exploit the expressive potential of the
software in creating animations, and these computational
processes express meanings that can be explored through
the visual organizations of the software’s UI.
Exploring how computational processes express
meanings via the visual organizations of the UI involves
recognizing how specific frames and patterns are attached
to the abstract space and time of the algorithmic
processes. In other words, how the routes through which a
seemingly abstract entity become part of a meshwork of
meaningful structures. Teasing out the interplay between
automation and the input of a user gains more traction
when the UI is perceived as more than only an array of
available toolsets, and conceived instead as a location
where a complex process of engagement takes place.
14
Encountering a game involves the interplay of ‘data,
process, surface, interaction, author, and audience
(Wardrip-Fruin, 2009: 13),’ and equivalently, a UI can be
described as both inward and outward facing, a relay of
interaction between a surface of toolset menus and the
deeper algorithmic structures where data is processed.
Seeing an interface as both inward and outward facing
resonates with Alexander Galloway’s position that
interfaces are not windows or doorways that simply
connect one world with another, but offer locations where
different kinds of logic can co-exist (Galloway, 2012).
Despite ‘new media foreground[ing] the interface like
never before (Galloway, 2012: 30),’ our understanding
remains grounded in the idea that interfaces are a point
of transition between different formats or logics.
Superficially, this would seem to be the case in Maya’s
UI: it provides a connecting layer between the user and
algorithm. But, by taking into account the inward and
outward facing connections, working at the UI can be
understood as holding together two sets of logic, rather
than transitioning from one to the other. Looking at the
15
visual organization of the UI, these logics can both be
described as spatial but referencing distinct
configurations of space. The viewport, where models are
built, rigged and animated by Maya users, presents
digital entities in three-dimensional space akin to that
of the dimensional world in which we live. Alongside the
viewport are dialog boxes showing schematic diagrams
depicting these same shapes as packets of data grouped
together in hierarchies of information as required by the
algorithms of the software. Looking at how users
articulate their experience of these two logics offer a
means of thinking through how users of Maya encounter
both a sense of freedom in creating anything they can
imagine, and also meet the challenge of being creative
within an automated system. Although this study does not
give a direct account of the organization of any given
studio, Maya’s design was and continues to be linked to
the workflow practices common in many visual effects,
animation or games studios. Writing about the history of
computer animation, Tom Sito remarks that: ‘By the 1980s
innovations in CG had progressed from corporate titans
16
like IBM, Bell, and Xerox to market-driven independent
companies like Adobe, Alias and Pixar (Sito, 2013: 88).
Alias|Wavefront, who first developed Maya, targeted
animation, visual effects and games studios as the market
for the software. There is, therefore, another layer of
system versus individual software user in play: that of
the hierarchy of the studio and the ways in which
creative input is conventionally attributed to some
personal more than others. Work in production culture
studies is a rich source for thinking through studio
organizations, for instance the line between creative and
technical labour (Stahl, 2009:57-62).4
Analysis of the visual organization of the UI is a
good starting point for understanding more about a
software like Maya, but as Wardrip-Fruin comments: ‘the
operations of digital media are, in crucial ways, only
truly realised in contact with audiences (Wardrip-Fruin,
2009: 11).’ The same is true of software, its operations
more fully grasped in the thoughts and observations of
users. In more fully exploring the relays of connections
between users and UI, interview responses are cited
17
throughout the remainder of the article. This material is
drawn from interviews whose questions were designed to
provide insights into a user’s experience of Maya. The
respondents work in large fx houses, and small and medium
sized animation and game studios based both in the UK, US
and Australia, with length of experience ranging from 3
to 15 years. Their observations are explored in terms of
the immediacy of the software, resisting the ‘machinic’
aesthetic created by automation, and experiencing the
technical aspects of the software.
Giving an account of user experience of software
through these different kinds of engagement provides
insight into the interplay of user defined input and
automation. A key element of this discussion is agency.
My starting point follows Adrian Mackenzie’s argument
that agency is distributed, folding in-between people and
machines via the mediating influence of software
(Mackenzie, 2006). Taking agency to be folded between
users and machines contrasts with Wardrip-Fruin’s account
of agency in relation to operational logic, where he
says: ‘In short, agency is a term for the audience’s
18
ability to form intentions, take actions, and see
satisfying results (Wardrip-Fruin, 2009: 344).’ Agency,
in this explanation, has the appearance of being in the
hands of the audience or user, whereas Mackenzie’s
account distributes it between users and algorithms,
where the latter is the computational process behind any
operational logic. When an algorithm or operational logic
selects and reinforces one option for action at the
expense of others, agency folds in-between the user and
software: ‘Agency, therefore, is by definition contested
in and through algorithms (Mackenzie, 2006: 44).’
Thinking in terms of such as distributed agency brings
into focus the ways in which processes bundle and
disperse action between individual and system. The
balance between the tendencies to bundle or disperse is
at the heart of how users experience software.
The Immediacy of Software and Resisting Automation
3D animation packages, Maya included, virtually
project models in ways that allow its users to digitally
19
sculpt the model. Though any object is essentially a
collection of data, virtual projection gives the object a
presence, albeit within a computer and reliant on the
processor to keep working to speed. The spatial
configuration of such objects gives the illusion of a
volumetric whole. The illusion of wholeness is picked up
in the following comments from modeller BS: ‘But in Maya
everything is just infinitely thin, it’s a shell. I mean
most people would have been used to it, but I still
remember finding that weird 10 years ago. And things can
be single sided. You can flip it and it disappears, so
that’s a bit weird.’ There is an interesting dual
perspective in play in this remark. An object is not
quite what it seems, but it has immediacy in that it can
still be moved and controlled. The viewport is central to
the virtual projection of objects in Maya as volume
filling digital entities. Orthographic projections
flatten images into 2D configurations viewed from the
top, front or side, while the perspective view shows a
projection of a 3D model on a 2D screen. Figure 3 shows a
perspective view of spheres and cubes virtually projected
20
in the 3D space of the viewport. Though these views will
initially be discussed separately from other elements on
the UI, they are very rarely the only visible part of the
UI on screen. More usually, drop-down panels are also
visible and operate together with the viewport, allowing
the user to pivot between different the spatial
organizations of the UI. (Figure 3 HERE)
The viewport, especially when used in three-
dimensional perspective view, creates a framed space
through which a user’s access to and control over the
object is central. This begins with the options for
customization promoting an individual user’s preferences.
As the following comment by animator JF describes, it can
be organized in different ways:
So for instance, the setup I like on my screen is to
have the camera view, what’s going to be seen, and
underneath that I have my graph editor, so I can see
all the curves. And then I have the big perspective
view that I’m constantly moving around, and the
21
model to see what it looks like from different
views.
When working within a perspective view, a modeller can
see their model from all sides, as well as zoom in and
out to increase or decrease the detail. As modeller BS
again comments: ‘I still like having something 3D in
front of you and being able to spin around, I still like
all that stuff, I still like the immediacy of being able
to manipulate something seemingly floating in front of
you.’ For BS, working with the viewport gives a
heightened impression of access to the model.
The viewport not only provides visual contact with
the model, in the sense of being able to spin around a
360º view of the model. Its toolsets also include
manipulators through which modellers can make alterations
to their models. Since such alterations are immediately
visible, this has the combined impact of enhancing
control over the model while at the same time making the
software seem transparent. There are three different
basic toolsets for modelling: polygons, NURBS, and
22
subdivision surfaces. Which set the modeller works with
depends on the kind of object they want to create, but
usually it involves beginning with a series of primitive
shapes to build the space filled by the model. Once the
basic shape is in place, various other tool sets can be
used to add more nuanced detail. For instance, Artisan is
a feature within Maya were users access a sculpt tool to
push, pull, and smooth areas of the model. As described
in The Art of Maya: ‘Painting with Artisan is an intuitive
way to make selections, sculpt surfaces and paint values
on selected surfaces or multiple surfaces (Autodesk,
2008: 52).’ The description of Artisan as intuitive
echoes the observations of users for whom the viewport
and various manipulators can be combined to give sense of
access and control.5 It gestures towards the familiarity
of real world space by projecting volumetric objects,
allowing control over constructed spaces. It is where an
artist’s creative endeavour succeeds or falls away. All
of this seems to set aside the system, accentuating
immediacy and user agency in the emphasis on ease of use.
It allows the animator to: ‘really create whatever you
23
want to create [AC].’ The process of negotiation with an
algorithm is displaced behind the more direct
manipulation of a model in the projected space.
Though the viewport tends towards an impression of
setting aside the system, the apparent privileging of
user agency is only ever provisional, reliant primarily
on access to the object via the viewport. By contrast,
engagement with other features of the UI suggests that a
user’s control is always in the end folded together with
influences from the technological system on which it
relies. J.P. Telotte writes that traditional animators
are concerned at being relegated to the periphery of
production, working primarily with already constructed
digital assets and:
…turned into functionaries whose job would simply be
“to manoeuvre and tweak”…No longer able to find work
as creative artists, no longer able to breathe life
into their own visions—to animate space—animators in
this brave new technological world could well become
24
little more than necessary mechanics, there to
“adjust things” as needed (Telotte, 2010: 225).
Tweaking is certainly a phrase commonly used by CG
animators working with Maya, not always in the diminutive
sense but rather associated with skilled labour.6 While
the influence of software is evident in explanations
given by animators and modellers as they negotiate with
the default settings of toolsets, managing that
negotiation requires knowing how to animate or model.
Negotiation is not meant in a literal sense here, but as
a working against and with the out-of-the-box or
automated qualities of the toolsets. Effective animation,
the movement of modelled characters and objects in space
and time, is based on timing and pose. Strong and pushed
poses give a nuance to an animation, whether that
involves small or larger movements. Either way, animators
describe how they have to work hard to ensure that those
movements are smooth, entering into a negotiation or even
battle with the software. When asked the extent to which
25
software influences animation, AC responds by saying that
animation is in the control of the animator:
For character animation especially, the animator is
doing it. There’s things like ‘sim’7 where the
computer can take over for sure, but every move is
calculated and precise and you know, it’s all about
timing. But it’s also all about arcs, having nice
arcs in your animation and the computer doesn’t do
that, it doesn’t do that at all. That’s everything
to do with the animator.
In the case of animation packages, the user will always
input parameters into the software (it does not create
movements or objects without input), the process of
negotiation is a matter of the extent to which those
parameters are modified, broken down into smaller and
smaller units. For instance, to get nice arcs an animator
may need to make changes in every frame, rather than
allowing the software to make a calculation to
interpolate movement between every third or fourth frame.
26
‘Touching’ or modifying something in every frame is often
the case on less time-restricted projects. An algorithm
will default to the quickest route between two points,
whereas the animator might prefer a slower arc whose
trajectory has an organic rather than algorithmic feel.
Speaking about this process of negotiation, LS comments:
‘it is a constant battle when using software that does
things for you…because the software doesn’t feel, you
know.’
Modeller BS also describes a process of negotiation
with what he refers to as the perfection of the computer.
All edges, for instance, are defined by co-ordinates in
space and joined by lines or curves. The lines are
perfect in a model, unless work is done to undo this
perfection. This can include enhancing the contours of
shapes, creating textures that deepen time and age an
object, knocking off corners, or adding scratches to give
an impression of a lived world within an computer
generated environment. Speaking of this aspect of the
software, BS remarks:
27
It is almost like a non-compliant colleague. You’ve
got a vision in your head. Then, you know, you go
“for gods sake, not like that!” It is what I was
saying earlier, I seem to do a lot of work getting
away from the perfect. Most of the effort I would
say in CGI or animation, it’s always taking away the
computer-ness, it is always removing the CG from the
CGI…I think for me, doing character modelling and
environment and things like that, you’re always
fighting to get computer-ness out of it.
In talking about how they tussle with the computer-
generated preferences in their animation and modelling,
Maya users assert their ability to control the software.
Since they are working in a context in which mechanistic
qualities in the imagery are the antithesis of the
dominant aesthetic conventions, their efforts are
directed to erase traces of automation. This is point
made explicitly in the following comment by animator BW:
28
‘It all needs a large amount of artist input. Again,
I think it is fighting against the CG realm, it’s
about keeping it alive. In the end it’s just binary
code, and binary code wants to be uniform,
monochrome, flat, simple, basic. And I’m happy for
that as that’s what makes the software work so well.
But, of course, what you’re trying to create is more
organic, it’s alive, it’s springy…I see that from an
animator’s view. Maya is such a wonderful tool that
it allows me to do my job, but if you leave it to
its own devices it will churn out very computer
generated looking images. So it’s important to keep
it alive.’
These thoughts about the immediacy experienced by
modellers and animators in their engagements with the UI,
and the more negotiated tussle with automated processes,
suggest that agency has the appearance of remaining with
users of software. It is bundled around user ability to
shape and manipulate objects, and to make them move with
liveliness. The viewport allows modellers and animators
29
to see the models and their movements in their volumetric
spaces and temporal transformations. Agency accumulates
around users in association with a spatial configuration
that is coherent and representational of objects in time
and space. In other words, the algorithms tend to become
transparent. When the influence of the software becomes
more insistent in the ‘computer-ness’ generated through
automated settings, the user narratives are about
resisting such settings. Being occupied in creating an
animation requires iteration after iteration, recursive
tweak after tweak to erase the traces of automation,
until the movement is good enough.
Yet even as the explicit narrative of users is one
of agency, resisting software suggests that one is always
working with the envelope of software, and against the
parameters that it sets, rather than being free to do
anything. The following section more explicitly engages
with the schematic representations of the operations of
Maya’s software, spatial configurations in which the
algorithms are more evident. Where the discussion of the
viewport has revealed one of the patterns constituting
30
Maya’s operational logic, it’s second one is explored via
graphic depictions in the dialog boxes of the modelling
and animation toolsets.
Schematic spaces and software relations
Of learning to use Maya, LS described the process as
being ‘like animating with boxing gloves.’ In gaining
greater experience, LS commented further of the software
that: ‘it sets something different in your brain.’ This
turn of phrase, that software sets something different in
your brain, draws attention to the ways in which users of
Maya are influenced by working within the parameters of
the software’s functionality. A stronger impression of
what these parameters might be emerges in the spatial
configurations of the schematic diagrams that co-exist
with the viewport on the UI. As well as showing the
virtual projection of objects in the viewport, figure 3
above shows a dialog box for rendering (see right hand
side of the image). The logic of the software’s automated
functionality is also embedded in the action of modelling
31
or animating, and this is evident in the following
interview responses. Talking about whether software has a
particular language, understood here to mean an evident
set of processes or protocols, modeller BS says:
Yes, yes, definitely. And all the software is
different. Anything you can do you can think of
being a step-by-step process, even the process of
making a cube. You click on the button to make the
cube, and then it asks you the size of the cube.
Anything you ever want to do, it’s almost like, the
sentence in front of you and you can’t change that,
you can’t say I want you to make me a cube and type
the size and then hit create this. It forces you to
think along a certain logical path.
Answering the same question, BT more directly draws
attention to the software algorithms:
To a certain extent you are in control, but maybe it
does dictate the way in which you do things to a
32
certain object. And then, obviously, the more time
you spend in there, you kind of understand. If
you’re modelling, that language is mirrored in
rigging, in the way that it needs to have something
done to make it work. I guess it’s to do with the
algorithms behind it, so the order in which you need
to constrain an object to another object, and what
you need to select first to do something.
These different responses suggest that having an
understanding of toolset operations anchor user
engagements with the software parameters, and not just
with the objects and entities they create. At the level
of practice, knowing how to follow the logical path, how
to work with a set of protocols, makes it possible to
communicate modelling decisions to the software. In this
sense, the automation of software processes is something
to be engaged with, rather than fully controlled by. In
addition, as well as anchoring a user in the toolsets of
Maya, dialog boxes are sites through which the deeper
structures of the software come closer to the surface.
33
Dialog boxes, accessible as drop down windows, add
visible interfaces to the UI in which information about
models, animation, rigging, lighting, shading or
rendering is available. Writing in 1998 about the UI
design of Maya, George Fitzmaurice and Bill Buxton
comment that while artists may not really want to know
about the deep structure of the program: ‘providing
access and acquiring such understanding is often
necessary for users to achieve their goals. Thus, we must
find ways of exposing the deep structure to the user in
ways that are compatible, intuitive and efficient
(Fitzmaurice and Buxton, 1998: 64).’ The primitive shapes
visible and accessible in the viewport sit alongside
dialog boxes that could include the channel box/attribute
editor, the outliner, graph editor and the script editor.
On such dialog boxes the schema reveal relationships
between the packets of data that constitute a scene, a
contrast to the viewport that shows relationships between
co-ordinates along lines of geometry, in other words
shapes. This is shown in figure 4a where data projected
as a simple sphere in the viewport is schematically
34
depicted in the hypergraph, which is shown as a separate
window on the UI. The elements visible as labels (pCube,
pSphere) would be ‘seen’ by the software as packets of
computable data about shape, position, size, colour.
Figure 4 b depicts in more detail a swivel base model as
a hierarchy of joints. These schemas bring the deep
structure closer to the surfaces. Contact with this deep
structure opens up a locality where the dispersal of
user’s agency within the automated process of the
software is more exposed. (Figures 4 a and b HERE)
The sense of a shift towards agency shared between
the user and system via these dialog boxes is evident in
the following remark made by PH about the script editor.
The script editor is a window that shows which code is
being executed in order to create a shape, in this
hypothetical example a box:
You know, if you open up the script editor and you
create a box, and it tells you, almost like, what
it’s come through to get you there. ‘Have you any
idea how hard I’ve worked to create this box for
35
you…’! You’ve got it there in a list, and that is
kind of fascinating to me, but it is something that
I really don't understand at all. The language of
Maya lies in the architecture: what is actually
running everything.
The sharing of agency between user and system is
increasingly evident when delving more deeply into what
the dialog boxes reveal about the protocols of the
software. Though users may ultimately input parameters
and so never fully relinquish control, algorithms too
hold agency in that they determine what operations do and
do not occur. In determining what operations can and
cannot occur, these algorithms generate not only a
systems’ agency but also a sense of ‘digital space,’
traced out in the schematic diagrams of the protocols.
The space that emerges is based around arrangements of
packets of data, reconfigured and connected through
computation. The organization of these packets of data is
a feature of the program language. Maya is programmed in
C++, which is an object-oriented program (OOP) language.
36
Alan Kay, who first developed object oriented programming
with the language Smalltalk in 1972, describes object
oriented programming as ‘a bit like having thousands and
thousands of computers all hooked together by a very fast
network (Kay, 1996: 517).’ Each of these ‘computers’ can
be thought of as a subroutine that acts on particular
packets of data, with the output of one routine
communicated to the next, an organization that speeds up
computation and also allows for more complexity. Digital
space so conceived does not rely on locatedness within a
given space and absolute dimensionality, but is instead
something that comes into being during the execution of a
program as it connects smaller interacting elements.
Described in this way, digital space at first seems to be
both deferred and diffuse, an abstract entity. Equally,
such a description brings out the ways in which the
agencies of the user and code are both dispersed and
bundled together. A user’s input is traced not through
the object virtually projected in the viewport, but as
moving through packets of data generated by the
software’s algorithms. How these packets of data connect
37
determines the ‘sentence structures’ and ‘logical
pathways’ described by users.
This second aspect of the operational logic of
Maya’s programming is more fully explored in relation to
specific elements of the UI, including the attribute
editor and dependency graphs. So as to give a sense of
the schematic nature of these dialog boxes, the
description is by necessity somewhat technical. The
attribute editor, outliner and hypergraph all depict
nodal relationships that make up Maya’s deep structure.
Nodes are object-oriented elements, whose nature is
described by MG: ‘It is like a schematic. It’s a logical
view of things. So is that very technical? Yes it is.
Maybe that’s contrary to how an artist uses things.
Possibly yes, I don’t know.’ In Maya any figure or object
in a scene is built from data contained in several or
many nodes. Figure 5 shows a subset set of nodes and
their relations from the creature on the right hand side
of the figure. The depicted nodes show animation curves
linked to joints, and includes data on shaders associated
with those joints (the textures of the creature). Types
38
of nodes include the creation node, the transform node
and the shape node, as well as information about lighting
and camera positions. In addition, nodes have attributes,
values that control how a node works, which are visible
in the attribute editor. In the transform node, which
controls movement, rotation and scale, the attributes
define the amount of transform that occurs. For example,
a nurbsCurve node has an attribute that contains a NURBS
curve, essentially a numeric description of the shape of
the curve. This attribute can be connected to the input
of a revolve node. The connection ‘tells’ the software to
transform the curve in ways that are defined by the
parameters of the revolve node. The revolve node also has
input attributes describing the sweep angle and the axis
that it would revolve around. (Figure 5 HERE)
Taken at a highly abstract level, working with Maya
involves using manipulators (in the viewport) to make
direct changes to nodes and attributes. But rather than a
scene being defined as objects in time and space, it can
be depicted as a dependency graph (DG), which is
essentially a chain of nodes (Autodesk, 2007). Most users
39
of Maya would not work directly with the DG level,
accessing the 900 or so commands available via toolsets
to alter information in the nodes, a point also made by
MC: ‘Under the hood it is technically node-based, and if
you really know what you’re doing you can go in and
rummage around tweaking the connections. But that’s not
usually within the purview of the average user.’ Instead,
they use the dialog boxes to connect with the deep
structure of the software. For instance, the attribute
editor and the hypergraph respectively show numeric
values and schematize the connections between nodes, the
input and output data of each node. In such dialog boxes,
data is depicted on the basis of conceptual modelling.
The data can never be seen to transform in the moment of
computation, so it can only be shown in diagrammatic
versions of the computational relationships. MG describes
this feature of Maya as follows:
So those are all graphically depicted and it’s like
a network, so you have your different icons and they
are connected with inputs showing that this is going
40
to this. It reminds me of, mostly of electronics,
logic gates and things. All the different tasks that
you want to achieve and, they all have their own
utility, they all have their own toolbox that you
can go into yourself. And that will effect what
you’re seeing on the screen. Pallettes and things. I
suppose it’s quite like any software.
Aside from the script editor, in which the executed
code scrolls by, nodes contain the strongest tracings of
the deep structures of the software, and are also the
place where the automated processes of software come
closest to being tangible. Casey Alt argues that OOP
objects in C++ (of which nodes are examples) are
autonomous because of the ways in which they are
connected together. He describes a process called
encapsulation that ‘breaks the unified linear
representation of the program into a diversity of several
autonomous, parallel, and entirely self-sufficient
computational entities (Alt, 2012: 292).’ Alt pushes the
idea of autonomy further in his description of how
41
objects (or nodes) co-ordinate with each other, as
messages run from one object to another, essentially a
sending of processing requests among and between objects.
An example would be, for instance, the connection
described above that ‘told’ software to transform a curve
according to the parameters of a revolve node, which is a
doing of space by an algorithm. Such messaging is hidden
by encapsulation so the sender has to trust the elements
of the program to co-ordinate and work together. Through
this kind of thinking, the idea that software is
invisible might easily come back.8 For users to gain
access to these encapsulated functionalities, an outward
facing element is necessary, a protocol or public face
that describes what the object does. In Maya these
outward faces are given in the toolsets on the UI, which
for Alt act as interfaces that pull users into the
system: ‘positioning them within the larger logic of
object orientation (Alt, 2012: 297).’ Though Alt’s aim is
to emphasize the autonomy of the program, his description
of OOP also fits as a description of user agency
encountering the automated processes of software. It is
42
precisely at such a moment that user agency is bundled
with that of software as they accommodate to its
procedural requirements.
Conclusion
Exploring the spatial organization of Autodesk
Maya’s UI and working with interviews given by users of
the software yields a rich description of both the UI and
also how users experience the UI. Working between the
virtually projected objects in the viewport and the
schematic diagrams of dialog boxes, user agency is
bundled and dispersed through different routes generated
by the connections between algorithms, with agency
accumulating in ways that are shared with both user and
software. When talking about automation it remains true
that software executes somewhere behind the scenes, but
the engagements by users of animation software with the
operational logics of automated processes is revealed via
the visual organizations of the UI. Maya’s UI depicts
automation through conceptual modelling of the
43
hierarchies and groupings of data. This takes its users
closer to the deeper structures of the software.
Automated processes are part of the terrain of computer-
generated animation, and so too is the skill necessary to
creatively work with those automated processes, whether
this engagement is with the surface of the software, or
at a deeper level. Adrian Mackenzie, when writing about
the complicated meshwork of connections around software,
suggests they hold together if they ‘tie[s] people
together, but not seamlessly, effortlessly or without
tensions (Mackenzie, 2006: 91).’ The terms automation and
user are tied together via software, and the lack of
possibility for resolving the tension between these
contradictory positions means that they co-exist, neither
superseding the other. As MG says: ‘That is the thing
about 3-D. It is the art side and the technical side
joining up.’
References
44
Alt C (2002) The Materialities of Maya: Making Sense of
Object-Orientation. Configurations 10:3: 387-422.
Alt C (2012) Objects of Our Affection: How Object
Orientation Made Computers a Medium. In: Huhtamo E and
Parikka J (eds). Media Archaeology: Approaches, Applications, and
Implications. Berkeley: University of California Press, 278-
301.
Autodesk (2007) Maya API| White Paper.
Autodesk (2008) The Art of Maya. 4th Edition. Indianapolis,
IN: Sybex.
Bogost I (2010) Persuasive Games: The Expressive Power of
Videogames. Cambridge, MA: The MIT Press.
Chun WHK (2008) On Sourcery and Daemons, or Code as
Fetish. Configurations 16: 299-324.
Chun WHK (2012) Programmed Visions: Software and Memory.
Cambridge, MA: The MIT Press.
Derakhshani D (2012) Introducing Autodesk Maya 2013.
Indianapolis, IN: John Wiley and Sons.
Fitzmaurice G and Buxton B (1998) Compatibility and
Interaction Style in Computer Graphics. Computer Graphics
32(4): 64-69.
45
Fuller M (2003) Behind the Blip: Essays on the Culture of Software. New
York: Autonomedia.
Galloway A (2012) The Interface Effect. Cambridge: Polity
Press.
Gurevitch L (2012) Computer Generated Animation as
Product Design Engineered Culture, or Buzz Lightyear to
the Shop Floor, to the Checkout and Beyond! Animation: an
Interdisciplinary Journal 7(2): 131-149.
Kay A (1996) The Early History of Smalltalk. In: Bergin
T and Gibson G (eds). History of Programming Languages volume 2.
New York: ACM Press.
Kirsch D (1995) The Intelligent Use of Space. Artificial
Intelligence 73: 31-68.
Kittler F (1997) There is No Software. In: Johnston J
(ed). Literature, Media, Information Systems. London: G&B Arts
International: 147-155.
Kurtenbach G, Fitzmaurice GW, Owen RN and Baudel T (1999)
The Hotbox: Efficient Access to a Large Number of Menu
Items. CHI 99: 231-237.
Luhta E (2010) How to Cheat in Maya 2010: Tools and Techniques for the
Maya Animator. Burlington, MA: Focal Press.
46
Mackenzie A (2006) Cutting Code: Software and Sociality. New York:
Peter Lang.
Mihailova M (2013) The Mastery Machine: Digital Animation
and Fantasies of Control. Animation: an Interdisciplinary Journal
8(2): 131-148.
Purse L (2013) Digital Imaging in Popular Cinema. Edinburgh:
Edinburgh University Press.
Ryan D (2011) History of Computer Graphics. Bloomington, IN:
AuthorHouse.
Sito T (2013) Moving Innovation: A History of Computer Animation.
Cambridge, MA: The MIT Press.
Stahl M (2009) Privilege and Distinction in Production
Worlds: Copyright, Collective Bargaining, and Working
Conditions in Media Making. In: Mayer V, Banks M and
Caldwell J (eds). Production Studies: Cultural Studies of Media
Industries. New York: Routledge, pp. 54-68.
Tarantini T (2012) Pictures that do Not Really Exist:
Mitigating the Digital Crisis in Traditional Animation
Production. Animation Practice, Process & Production 1(2): 273-283.
Wardrip-Fruin N (2009) Expressive Processing: Digital Fictions,
Computer Games and Software Studies. Cambridge, MA: The MIT
47
Press.
Yoon H and Malecki EJ (2009) Cartoon planet: Worlds of
Production and Global Production Networks in the
Animation Industry. Industrial and Corporate Change 19 (1): 239-
271.
48
1 Instead of the more familiar catch-all of animator, I use the word
user throughout this essay. Within the CG animation industry,
animator refers more specifically to the person who creates movement
using animation software, while modelers create the model, and
riggers rig the rigs.
2 There are many on-line tutorials for the bouncing ball exercise.
See for instance
(http://www.digitalmediaacademy.org/2010/03/29/learn-maya-animation-
bouncing-ball-part-1/), authored by Geoff Beatty©2013.
3 Escape Studio is a leading London and LA-based 3D animation
training studio. I was kindly given access to training videos.
http://www.escapestudios.com/
4 I am not seeking to claim that studio-based animation in the pre-
digital era did not involve personnel being embedded in systems of
industrial practice. Studio-based workers in the digital era are
similarly embedded in industrial practices, though the natures of
those influences alter in relation to the implementation of different
kinds of technologies.
5 Over half the people interviewed remarked on how easy or intuitive
they found Maya. Even so, 4 were also of the opinion that Maya is
counterintuitive.
6 Telotte’s description of animators simply adjusting pre-existing
digital assets resonates with Matt Stahl’s description of the
alienated experience of story boarders in an animation studio who
were only required to draw what they are asked to draw, rather than
being encouraged to have a creative input (Stahl, 2009: 62).
7 AC is referring to ‘simulated deformations,’ a feature of the
Dynamics toolset available in Maya.
8 Friedrich Kittler has famously argued that code evades perception
because it exists within a layered architecture whose interior is
inaccessible. As Kittler puts it: ‘We
simply do not know what our writing does (Kittler, 1997: 148).’