Transform
From Tech Artists Wiki
A transform encapsulates the idea of an affine transformation. While that can mean a number of things, for our purposes it almost always means exactly three things:
- position
- rotation
- scale
The name refers to the fact that transform information literally "transforms" the position, orientation, and shape of an object by moving the vertices that make it up. If I move the top four points of a cube up and the bottom four down, it looks like I've stretched it vertically, even though on the vertex level all I did was move things around a bit.
Transforms form the backbone of any graphics system, and are usually represented as nodes in 3d animation tools. More technically, they are almost always represented as 4x4 matrices of values, stored either as a 2d array of floats or a single 16-value list. A given transform can (via matrix multiplication) encapsulate several changes to a set of vertices. Movement, rotation, and scaling can all be represented by the same transform, with the order in which they were applied leading to different results.
In 3d animation tools such as Maya, transforms are generally paired with a shape. The shape node contains the actual vertex data for the object, while the transform contains the information about where it is in the world. As far as the shape node is concerned, the origin for the object is at exactly the same location as the world origin. The only reason that we see it somewhere else is because the transform node tells it to (for example) move 5 units left and rotate around the Y axis.
Similarly, in 3ds Max, a scene object is a combination of a so-called "Scene node" which contains the transformations and other properties like visibility and material and an object (including the base object and the object-space modifiers). Thus, the same object can be piped through multiple nodes and appears as an instance in the scene - the base object and modifiers are evaluated once, but then transformed differently to appear at different locations in 3D space as unique objects. The 3ds Max scene node hosts a sub-object called the Transformation Controller which provides the transformation matrix, usually stored in separate sub-controllers for Position, Rotation and Scale.
