Superman Logo Avatar

The finished product:

Superman Avatar - Finished Product

Original source material:

Superman Logo - Original

Project Goal

To create a small sized GIF animation-loop suitable for use as an avatar in an internet forum.

The animated logo was produced using Maya - a commercial 3D modelling, animation and rendering package. The logo was modelled by using the Bevel Plus tool to create a solid from a planar NURBS curve tracing of the outline. The texture used is the standard Maya Env Chrome connected into the Reflected Colour attribute of a Blinn material. The logo is illuminated by two fixed spot lights. The final animation contains 29 frames and was assembled as a GIF animation using the freeware GIMP graphics package.

I created this logo as an exercise for myself in learning how to operate Maya. There may well be far more effective (and quicker) ways of doing what you see here.

Steps for Creating the Logo:

Creating an Image Plane

The source logo is added as a texture to a polygon plane in the XY-axis. The plane is sized in the same proportions as the image to preserve the aspect ratio.

Image Plane Material

It is put on a new layer, which will be set to R to indicate that it is a Reference layer. This also makes it easy to toggle visibility of the image by clicking the letter V next to the layer name. It also means that the reference image can’t be selected by accident whilst working on the logo.

Image Plane Layer

Tracing the Logo using Curves

The Create->EP Curve Tool is used to create the outline of the shape. The tool is set to Degree 1, to facilitate creation of a curve with straight edges. Using the EP Curve Tool means that curve points may be placed to match corners on the reference image. For tracing the curved lines, the CV Curve Tool is more appropriate.

Base Curve

The move tool may be used in component mode to correct the location of Control Vertices on the curve, as shown here. Note that curve drawing takes place in the front orthographic view so that all curves created are co-planar. Snap to Grid (Hot Key X before moving a handle) may be used to ensure points are horizontal, by snapping one end of the line to the grid, then snapping the other end. Both points may then be selected and the line moved as a whole to the correct location.

Creating the Inner Curves

Curves inside the outline are created in stages by intersecting lines and trimming the ends off. Degree-one curves are used to produce straight edged sections and degree-three curves are used to create the curved lines. To maintain smoothness, a minimum number of Control Vertices were used to create the curves.

Inner Curves Intersection

The image above shows curves for an inner cut-away. Three separate curves were drawn, with four CVs for the two curved lines and two EPs for the straight line. All three curves were selected, then Edit Curves->Intersect was chosen.

Intersect Curves Options

With all three curves selected, Edit Curves->Cut Curve is selected.

Cut Curve Options

The left-over ends of the curves may then be selected and deleted with the Delete key.

Cut Curves

The remaining pieces should then be selected and joined together using Edit Curves->Attach Curves.

The completed curve outline looks like this:

Complete Outline

The Surfaces->Bevel Plus tool is used to turn the curve outline into a solid shape with bevelled edges.

Bevelled Object

To use the tool, the outline curve should be selected first, then the inner curves should be shift-selected.

At this stage, any faults with the original curves will be shown up by the Bevel Plus tool. Overlapping and/or extraneous CVs will look particularly unattractive. If some of the inner surfaces bevel in a different direction to the others, then it will be necessary to Undo the Bevel Plus operation, select the faulty curves and choose Edit Curves->Reverse Curve Direction. This will change the direction of the bevel for those surfaces when the Bevel Plus operation is carried out again.

Texturing the Logo

The logo is textured with a Blinn surface material. An Env Chrome texture’s Colour output is connected to the Reflected Colour input of the surface material.

Logo Texture Network

The Blinn attributes are set as follows to make the surface appear hard and shiny:

Blinn Attributes

The Env Chrome placement should be scaled to fit the logo:

Env Map Positioning

Lighting the Scene

Lights and a Camera are placed in the scene.

Light Positions

The Manipulator Tool (see big red arrow) is very useful for positioning lights and cameras as it allows the point where the object is facing to be manipulated directly with move handles.

Manipulator Tool

Mostly, trial and error are used to determine the best placings and settings for the lights and camera. Maya’s Interactive Photorealistic Rendering (IPR) allows the user to make changes to the scene and see the changes instantly on a selected region of the final image.

IPR Render View

In the image above, the portion of the image outlined in red is being rendered in real time whilst the intensity attribute of one of the spotlights is being raised. Although the preview is rendered at 320×240 pixels, the final output will actually only be 100×100 pixels. A lot of the detail apparent in a high-resolution render will not be apparent in the final animation.


Animation for the logo is a simple key-framed rotation about the Y-axis. Again, the small screen size of the final animation means that more complex motions wouldn’t be visible. Also, a design goal was for an animation that could play in a loop. This limits the animation to being cyclic in some way.

Animation Keys

The animation timeline is set to 30 frames. The logo has a Key set on frame one with the Y-Rotate set to zero, and a Key set on frame thirty with the Y-Rotate set to 360. When the final animation is assembled the thirtieth frame will be discarded, since it is the same as the first frame. Doing it this way makes it much easier to create a cyclic animation with all of the rotations equally spaced along the timeline.


The animation is rendered using the Batch Renderer to render all frames at once. The following settings are used:

Render Settings

The end result is a set of 30 numbered GIF files written to the output directory. The results may be previewed using the FCheck viewer from within Maya.

FCheck Window

As the image size is so tiny, rendering time is short. This makes it a relatively pain-free process to go back and make further changes to lighting, textures, camera positions, etc before re-rendering.

Assembling the Animation

GNU freeware tool, The GIMP (Gnu Image Manipulation Package) is used to assemble the separate GIF files into a single animated GIF file. Each image is loaded onto a new layer in order using the Open As Layer option.

Animation Layers

Display times for each frame default to 100ms but may be altered by changing them on the layer name. As a constantly rotating animation can get annoying, the first layer has a 5000ms delay so that the logo only rotates once every five seconds. The image is saved from The GIMP and given a new filename.

This is the end result:

Superman Avatar - Finished Product


One of the more challenging parts of this project is creating the initial curves for the logo. Maya’s curve tools can be a shade awkward to use. An alternative to creating the curves in Maya would be to use a vector art tool such as Adobe Illustrator to create an image which may then be imported into Maya. For simple text a bevelled object may be created very quickly using the Create->Text tool.

Text Curves Options

The same material used for the logo was used to shade the object below:

Adrian Logo

str_replace("\n", " "
str_replace("\n", " "