Advanced Maya Texturing and Lighting- P10: I should stress that I am self-taught. In 1994, I sat down at a spare seat of Alias PowerAnimator and started hacking away. After several years and various trials by fire, 3D became a livelihood, a love, and an obsession. Along the way, I was fortunate enough to work with many talented artists at Buena Vista Visual Effects and Pacific Data Images. In 2000, I switched from PowerAnimator to Maya and have since logged tens of thousands of hours with the subject of this book | are stored as sine and cosine values. When an object is created or has the Freeze Transformations tool applied to it its transform matrix is an identity matrix. An identity matrix is one that produces no change when it is multiplied by a second transform matrix. In other words an object with an identity matrix has no translation rotation or increased decreased scale. sx 0 0 0 0 sy 0 0 0 0 sz 0 tx ty tz 1 Figure Maya s 4 X 4 transformation matrix Converting Camera Space to World Space As an example of camera space to world space conversion in Figure the Xform Matrix of a polygon cube is used to convert a Normal Camera vector of a Sampler Info utility into a world space vector. The results are illustrated by applying the resulting vector to the color of a material. 249 Figure The Xform Matrix attribute of a polygon cube drives the color of a material. This scene is included on the CD as . A QuickTime movie is included as . MATH UTILITIES The xformMatrix of the pCubel transform node is connected to the matrix of a vectorProduct node. pCubel is the small gray cube in Figure . The normalCamera of a samplerinfo node is connected to the inputl of the vectorProduct node. The vectorProduct Operation value is set to Vector Matrix Product. The output of the vectorProduct node is connected directly to outColor of a surfaceShader material node which is assigned to a second larger polygon shape. As a result of the custom connections the faces of the larger shape that point toward the camera render blue until pCubel is rotated. This is a result of the Normal Camera attribute existing in camera space. A normal that points directly toward the camera always has a vector of 0 0 1. At the same time while pCubel is at its rest position its xformMatrix is an identity matrix and has no effect on the normalCamera value. Thus the values 0 0 l are passed to outColor of the surfaceShader node. When pCubel is rotated however the normalCamera .