Page status (reviewing guidelines)
Page reviewed and in good shape
Animating Material Attributes
Before reading this page, you should know about Blender’s materials – if not, read this chapter first!
Animated materials can be a very powerful tool, for many different purposes. For example, you can use them to simulate the color changes of a chameleon’s skin, a video screen lighting up, the surface of a river or lake, a light lighting up (with an halo material), etc., etc.
The possibilities are nearly unlimited (or would be, if all material settings were animateable…).
Two different things are gathered in Material animation channel:
- Real material settings (like diffuse/specular/mirror colors, alpha, etc.).
- And texture mapping settings (i.e. where and to what is mapped a given texture).
Animated textures don't have own animation channels - their animation datablocks are included in Material channel. They are no visual distinction is made between material and texture animation datablocks, but in animation editors (Graph Editor, Dope Sheet Editor, NLA...) in names of animated texture channels are the adding "(Tex)" what means that are animated texture setting.
As of Blender 2.5, Everything is animatable. And about keyframing and actions see more here.
As an illustration, we’ll create a simple “psychedelic” background. This obviously won’t demonstrate all possibilities of material animation – but I think this would need at least a whole book!
Add a plane and a camera, such that the plane faces the camera and covers the whole view.
Add a material to the plane. As we won’t use any light, set its Emit value to 1.0.
Create Fcurves for R, G and B, with a few random control points, all in the
[0.0, 1.0] range. Manage to have three different length between the first and last keyframes, and enable the Cyclic extend mode (E2 NumPad). This way, with the three curves cycling over various periods, you’ll get a never-the-same color animation! Unless you want to get a “time-tileable” animation, in which case you should manage to get exactly the same color at start and end… You can also create an Emit Fcurve, e.g. to create a fade in/out…
Now, let’s add a bit of fun in this plain colored background. Add a texture to the material and, in the Texture sub-context, select a procedural texture (DistortedNoise, for example, but any one will work – follow your taste!), and set it to your liking.
Back in the Material sub-context, choose to what you want to map the texture – for this example, I chose to map it to diffuse color in Difference mode, in a first texture channel, and to emit value in Multiply mode, in a second texture channel.
Finally, animate the Z offset of the mapping of both channels (define a first OfsZ Fcurve, and use the copy/paste buttons to exactly copy it to the second texture channel’s curve). Here again, you can either have two different values for start and end, or the same if you want a cyclic animation…
Usually, you will create a slow, linear variation of the Z offset (i.e. a straight curve with low gradient), e.g. a decay of 1.0 over 500 to 1000 frames, but the only way to find the good value is to make preview renders!
You should get something similar to what shown below. You can download the blend file