Anim8or Manual, Chapter 1 Introduction

1 Introduction

Anim8or is a 3D computer animation program that is designed to allow straightforward creation of animations. You interactively create and edit objects, figures, and scenes directly on the computers screen. The basic interface is similar to most 3D animation and CAD programs, as shown in the following screen shot:

You control various aspects of your work using an ordinary computer mouse or tablet. You select and drag, rotate, scale and place objects by clicking in the various views of your work. There are two toolbars that you can use for common tasks. The one at the top of the has buttons for general commands that are used throughout Anim8or, while the one on the left allows you to change your mode of operation for common tasks in the current that you are using. The usual menu is there for less frequently used tasks.
You can control the view of your objects to see how they appear from the front, left, top, back, perspective, etc., and you can show either multiple views or a single view on your screen.
There are four main working modes, and an object-browsing mode. First, there is an object editor that is used to build (mostly) static objects.
Second, there is a figure or character editor. You use it to define the structure of a character that you want to animate by connecting jointed bones together, and objects to them. You can give each joint different ways in which they are allowed to move and restrict the range, just like your elbow or shoulder can move only in certain ways.
Third, there is a movement or sequence editor. Here you can define segments of motion as one cycle of a walk. These can then be linked together in chains in the scene editor for longer sequences.
Fourth, you put together your final scenes in a scene editor. Here you place the objects and built in the other parts of Anim8or into their final “world”. You can control how they move, and where the camera is located. You can also give the scene various kinds of lights.
Once you have created a model or scene you can render high quality .jpg and .bmp images and .avi movies and save them to disk for later use.
Finally, there is an object browser to help you view and organize your Anim8or objects. You can also search your disk for objects in other formats.

This page was last updated on May 21, 2006
 Copyright 2006 R. Steven Glanville


Anim8or Manual, Chapter 2 Basics

2 Basics

Mouse Usage
Anim8or requires the use of a mouse with two buttons. You use the left one most of the time to select, move, and change objects. When you are selecting things, the left button always deselects everything beforehand, so that only a single item remains selected. The right button, on the other hand, allows you to select multiple items by adding newly selected items to those already so. As of version 0.7 you can use the middle button to deselect the selection of anything. If you don't have a middle button, press and hold the alt key and the right button can be used for these functions instead.
When moving, rotating, or non-uniformly scaling something, the left button changes the X and Y-axis. Moving to the left or right affect the X-axis, and up and down the Y. The right button changes the Z-axis.
You can often double click on something to bring up an edit dialog for that item.

Where's Undo?
Anim8or has a complete undo command for the Object, Figure, Sequence and Scene Editors. As long as you stay in either Editor you can undo and redo multiple editing commands. A history is kept of as many changes as can fit in the undo buffer. The default size is 1 MB of memory but you can increase this in the Configuration dialog. So unless you're editing large models, you will be able to undo more than one operation.
You use the Edit->Undo and Edit->Redo menu commands to apply undo's and redo's. Or you can use the keyboard shortcuts of Ctrl-Z and Ctrl-Y.
As an alternate to Undo, you can still use the original (rather simplistic, and to some people annoying) substitute. When you are dragging a mouse in the main window to change something, say an object's orientation, and you think "Oops! I didn't want to do that!" just keep on dragging the mouse until it's outside the active view window and release the button. This will cancel the operation.
Still, when using this and any other computer program, I still offer the same advice: "Save Early, Save Often!". And don't always save to the same file. Keep a recent backup handy.

Tool Tips
You can turn tool tips on with the Options->ToolTips menu command. Then if you pause the mouse cursor over a toolbar button it function will be shown in the status bar.

Toolbars and Menus
Here is a portion of a typical toolbar. It has several sections in it that control different aspects of its behavior. The first thing that you will notice is that markings on some of the buttons are in WHITE [image] , some are in BLACK [image] , and a few are in GRAY [image] . The white ones indicate that the associated mode or option is currently selected or in effect. The black ones indicate a state that is not selected. The gray buttons show options that are not currently available.

The top group of buttons on each toolbar act as a radio set indicating the current editing mode of the active view. When you click on any one of them, it becomes highlighted and that mode is selected. All of the others are deselected. The meanings of the various buttons in this group, and the other common buttons, are described below.

Common Button Meanings
The topmost group can have up to 4 buttons in it. When you click on one it set the indicated mode, and changes the lower part of the toolbar to show the functions that are present in your new mode. The different modes are:

This button indicates that you are in the most basic select-and-edit mode for the editor that you are currently using. You will use it for most operations, such as selecting things and common editing actions.

This button is used for changing your view or views of your workspace. With it you can pan, zoom, tilt, and scale each view independently.

In this mode you can move and rotate the pivot for objects in your workspace. A pivot is the point and orientation that are used when you scale and rotate each object.

You use this button to move into point edit mode. It allows you to add, move, and modify individual points, edges, and faces on editable mesh objects.
The next row of three small buttons [image] shows the three axis of the 3D world. They indicate which axes are "unlocked', allowing you to move and rotate things in each direction. You can individually select or deselect them, and thus restrict the movement of objects that you are changing.
Below these buttons you will find three more small buttons [image] that form a radio group. They show the current coordinate system you are using. You can use world, object, or screen coordinates when you manipulate things.

You will find that there are several common toolbar buttons that have the same or similar meanings in more than one editing mode. They are described next.

You use the arrow button to select individual components. When you click on an object using the left mouse button, you select it and deselect any previously selected objects. When you use the right mouse button, you leave any currently selected objects selected, and select additional ones.

With this button you can click and drag to show the corners of a selection rectangle. Any and all objects that fall within that area are then selected. Again, the left mouse deselects any previously selection items, while the right mouse does not.

This is the move function. You set it when you want to move your objects around on the screen. When you press the left mouse button within a view window you can drag anything that is currently selected in the X and Y directions by moving the mouse to the left and right, or up and down. The objects will move along with your mouse. Similarly, the right mouse button will move them along the Z-axis, which is usually into the screen.

This is the rotate button, used for rotating things. When you click and drag the left mouse button, any selected objects will rotate around the X and Y-axes along with your mouse. You can use the right button to rotate them around the Z-axis.

This is the non-uniform scaling button. With it you can scale most objects independently in the X any Y directions using the left mouse button, and in the Z direction with the right mouse button.

This button scales objects in all dimensions simultaneously.
There is also a VCR style set of buttons for controlling the playback of your animations. You use its buttons in the same manner as those on a standard VCR or tape player.

Top Toolbar
This is a toolbar that's at the top of the window. You can use for several tasks common throughout Anim8or.

The buttons on the top toolbar do the following things.

Undo - If this button is enabled you can use it to undo the most recent edit command.

Redo - Reapply a command that you have un-done.

Cut - Deletes any selected components and puts the on the clipboard.

Wireframe - Changes the working views of your object to Wireframe.

Wireframe - Changes the working views of your object to Wireframe.

Smooth - View objects as smooth.

Material - Toggles showing the Material toolbar.

Arc Rotate - Enables the Arc Rotate tool. You can easily pan, zoom, and rotate any view with Arc Rotate. It is described in detail later on in this chapter.

Snap to Grid - You can toggle Snap to Grid mode with this button.

List - Displays a list of the components in the current view. You may click on individual components to select and deselect them.

Graph Editor - Displays a graph of the selected Element's controllers in the Scene editor. You can use your mouse to adjust the values of key frames directly in the graph.

Keyboard Shortcuts
You can use keyboard shortcuts for several common operations. Some are shortcuts for menu commands, and they are shown to the right of the command name in the menu. Commonly used shortcuts are shown below. A complete list of all the shortcuts is in Appendix A, Keyboard Shortcuts.
Alt
 When pressed and held before using the right mouse button, it simulates a middle mouse button.
Ctrl-A
 Select All - Select all objects in the current view.
Ctrl-C
 Copy - Copy any selected objects onto the Anim8or clipboard.
Ctrl-F
 Filled view - Show objects as solid instead of as a "wireframe” made out of lines.
Ctrl-P Graph Editor - Display or hide Graph Editor.
Ctrl-R
 Arc Rotate - Enter and leave Arc Rotate mode.
Ctrl-S Smooth view - Show objects as smooth solids.
Ctrl-V
 Paste - Paste applicable Anim8or objects from the clipboard into the current object.
Ctrl-W
 Wireframe view - Show objects as lines instead of solids.
Ctrl-X
 Cut - Cut any selected objects from the current workspace, and copy them into the Anim8or clipboard.
Ctrl-Y
 Redo - Reapply an Undo command.
Ctrl-Z
 Undo - Undo the last editing command.
Ctrl-Shift
 Temporarily change into select mode. This allows you to quickly select a new object by pressing the Control and Shift keys simultaneously and clicking on the object, and return to your previous mode when you release the keys.
Del
 This key deletes the currently selected items.
Esc
 The Escape key stops along Scene from rendering.
1
 Convert multiple working views to a single large view.
4
 Split the screen into 4 different views.
a
 Select ("Arrow") - Change into Select mode.
d
 Drag Select - Change into Drag Select mode.
f
 Frame - Frame the visible objects in the current view.
F
 Frame Selected - Frame the selected objects in the current view.
m
 Move - Change into Move mode.
n
 Non-uniform Scale - Change into Non-uniform Scale mode.
r
 Rotate - Change into Rotate mode.
s
 Scale - Change into Scale mode.
Arrow Keys
 You can use the arrow keys to move, rotate, and scale objects by small amounts in the Object editor, and advance the view by one frame in the Sequence and Scene editors.

Arc Rotate
When you press the arc rotate button in the top toolbar Anim8or displays a special overlay over the focus window. You can then use the mouse to pan, scale and rotate your view. It may take you a try or two to get used to how it works, but once you have it can save you a lot of time over other methods.

To the right is a view of the arc rotate screen. There are six different regions on the screen, separated by the green overlay: the inner, outer, top and bottom, and left and right. Each behaves differently when you click your mouse in them, and each mouse button controls a different function.
  • Left button - Rotate the view. Clicking in the center rotates it around the X and Y-axis. The outer region rotates around the Z-axis. Clicking inside one of the four little squares rotates in the X-axis (for the top and bottom) or the Y-axis (for the left and right) only.
  • Right button - Move the view. The center area moves your view left and right, and the outer region moves into and out of the screen. You may not have seen any change when moving into the screen in orthogonal views but they will be apparent in a perspective view.
  • Middle button - Scale the view. The different areas all behave the same when you are scaling a view. Note: If you have a two-button mouse you can press and hold the Alt key and your right button will act like the middle button.

Anim8or Object Libraries
You can use any Anim8or .an8 project file as a library. Objects, Figures, Sequences, and Scenes can all be imported to another Anim8or project with the Object->Import, Figure->Import, etc. menu commands. You can also export individual Objects and such with similar Object->Export commands.

Grid Control
You can set the size of the background grid used in the editing views, or you can let Anim8or pick a default size that changes with how much you zoom the view so that it always shows a reasonable number of grid lines. Use the Options->Grid command to show the grid dialog:

There are two grid sizes that you can set. One is used in the Object, Figure, and Sequence Editors, and the other is used in the Scene Editor.

You can also set snap-to-grid for the Object editor by checking the Enable box in the Snap to Grid section, or with the [image] snap to grid button in the top toolbar. This will position objects you move at locations on a grid, making it easy to align them. Snap-to-grid also controls the size and rotation for many operations to give you more control on other aspects of modeling. You set the size of the grid snap in the Spacing entry.

Material Editor
The material editor is used whenever you need to design the color, texture, transparency, and other visual properties of an objects appearance. An example is shown below.

Materials are a complex topic. This dialog has several sub-dialogs for certain functions. There is an entire chapter devoted to describing how to use the Material dialogs.

Visual Quality
You can control the quality of the images shown when you edit, as well as the quality of the images output to files. These are controlled through the Viewport Parameters dialog that is found under the View->Preferences menu. It looks like:

The last area, Frame Rate, sets the number images used to make one second of animation. All .avi file output is generated with this frame rate. If you check the Limit Playback box, then Anim8or will limit the rate it plays animations in the Sequence and Scene Editors. Otherwise they will be played at the fastest possible speed.

OpenGL Workspace
This section controls the appearance of your interactive workspace. You can view your objects as wireframe models, as flat faceted solid objects, or as smooth shaded solid objects.

Most graphics cards display smooth shaded images at the same speed as flat shaded ones, so you might think that flat shading wouldn't be very useful. But it is sometimes helpful to see individual facets on a model.
Texturing, and mipmaps, can sometimes slow the response of your computer, so use the check boxes to enable or disable them as you see fit. Also, texturing can hide the structure of your models, so you don't always want to see it.
You can add a general fog to Anim8or Scenes. Objects beyond a certain distance gradually fade into the color of the fog. Fog is only visible in the camera view of the Scene editor.
The "Use Shaders" check box enables drawing higher quality materials in the working views. It is available only on computers that support OpenGL pixel shaders. Graphics cards that support DX9 or higher will usually work. If your graphics card doesn't have this feature the check box will be disabled.

File Output
This section controls the appearance of your generated images. File images are rendered using a software renderer instead of an OpenGL accelerator, so the speed of your file renderings can be effected quite severely by the settings that you choose.
Anti-aliasing helps to remove jaggies from your final images but takes several times longer to do. Similarly shadows can increase the realism of your images a lot but they are often much slower to render.

Frame Rate
The last area sets the Frame Rate, or the number of images used to make one second of animation. All .avi files you make will have this frame rate. If you check the Limit Playback box, then Anim8or will also limit the rate it plays animations in the Sequence and Scene Editors. Otherwise they will be played at the fastest possible speed.

Saving Images as .jpg and .bmp Files
You can make a quick preview image of any view that you are working on with the Render->RenderImage command. You can also save this image to a .jpg or .bmp file, or print it, from within this command.

Printing
Anim8or has the usual Print and Print Preview options in the File menu. But it offers one additional level of control of your printed images, by letting you control the size and other properties of the bitmap image used in printing. It is not at all uncommon for a color printer to have a resolution of 1440 by 720 dpi. But generating an 8.5" by 11" image at this resolution is not practical! Instead Anim8or uses a default size of 1024x768 which you can adjust to suit your needs.

Configuration
Anim8or keeps track of 4 base working directories. One is used to store Anim8or project files (.an8) and the others are the default directories for keeping Textures, importing and exporting objects, and saving rendered images. You set these directories with Configuration dialog through the File->Configure command:

When you load or save a project file Anim8or uses the project directory as the initial default. You can change this directory in the Configuration dialog.
When you load a project file, Anim8or looks for texture files in three directories. First it looks in the same directory as the .an8 file. If that fails it tries the Texture directory set in the Configuration dialog. As a last resort Anim8or uses the full path name stored in the project file, which is where the texture file was initially found.
The import directory is the default place for importing and exporting files of any format.
The images directory if the default location for saving any images or movies that you render.
The scripts directory is where Anim8or looks for scripts to preload. This is where you keep plug-ins as well since they are scripts. Scripts are only preloaded if the Preload Scripts box is checked.
You can have Anim8or automatically load the last project you were using by checking the Start in Previous box.
If you check the Associate .3DS box then you will be able to start Anim8or by double clicking on .3ds files in Windows.

User Interface Configuration
You can change certain aspects of the way that the Anim8or working views look as well with the User Interface Configuration dialog. You can find it under the File->ConfigureGUI command.

Most entries have obvious meanings but you might need an explanation for a few of them.
Fast Focus only applies when you have multiple working views visible at the same time. It controls what happens when you click inside a window other than the one with the mouse focus. If fast focus is enabled then the current active editing command will be applied to the new window on the first click. So if you are in Select mode then any object you click on in the new window will be immediately selected. If fast focus is disabled then the first click will only change the focus window. You will have to click a second time to select something.
Transparent Faces in the Wireframe Views section controls the drawing of a thin, transparent skin on the faces of a model in wireframe viewing mode. This is on by default but you may sometimes find it easier to edit a particular mesh with it disabled.
You can show the wireframe outline or the vertex points overlaid on your solid models in both the flat and smooth viewing modes by checking the appropriate boxes in the Solid Views area. You may find that showing all this information can slow your computer down, especially if you are editing complex models. If this happens try disabling these features to improve performance.
When you render an image Anim8or normally updates the screen to show the progress of the render. Some graphics cards are very slow when updating the screen and this can increase the time it takes to render an image considerably. You can disable these partial image updates by unchecking the Show Progress box in the Render Preview section. Anim8or will still display a progress bar so you will still see how far the render has progressed. The final image will still be displayed when it is finished.

This page was last updated on May 20, 2006


Anim8or Manual, Chapter 3 Object Editor

3 Object Editor Basics

The object editor is where you create and modify new 3D objects. You enter the object editor by default when you run Anim8or. You can enter it at any time by selecting Mode->Object in the menu.
The basic screen is shown below. On the left is a toolbar. It has icons that represent the most common operations that you will be doing. It allows you to change the mode that you are working in, add basic primitives, etc. You use the menu at the top of the screen to perform less commonly needed actions.

The object editor has four modes: edit, viewpoint, axis, and point edit. You change the mode you are currently working in by clicking one of the topmost four buttons on the toolbar. This will also change the lower part of the toolbar to display buttons appropriate for that mode

Object/Edit mode button. This is the initial mode that the object editor starts in.

Object/Viewpoint mode allows you to pan, scale, rotate, and size-to-fit any or all of your views of your workspace.

Object/Axis mode lets you move an objects pivot or origin.

Object/Point Edit mode allows you to manipulate individual or groups of points, edges, and faces.

Object/Edit Operations
In Object/Edit mode there are some buttons just below the six small buttons on the toolbar that you use to manipulate components of your objects. Your actions only affect the selected parts of an object.

You can select something by clicking on it when you are in select mode. This button puts you in select mode. You can temporarily switch to select mode at any time by pressing the Control and Shift keys.

You can also select components by dragging a rectangle around them in drag-select mode.

These buttons allow you to move,

rotate,

scale non-uniformly, and

scale the selected components with your mouse.

You can also add and edit splines by adding straight and

curved segments. Splines are also sometimes called paths since they can be used as a path for motion.

texture coordinate editing tool. You use this tool to interactively apply texture coordinates to selected objects. It adds an overlay to the screen that is similar to the arc-rotate tool used for changing your viewpoint but for textures. The yellow square represents a texture's basic size. You can move the texture around on your objects with the right mouse button, and you can rotate its orientation with then left button. The middle button scales textures. Remember if you don't have a middle button you can hold the Alt key down and use the right button instead.

Basic Objects
You can add new objects to Anim8or in two ways. The first is to import meshes for the 3ds, lwo, and obj file formats. You use the object->import menu item to do this. The second way is to start with one or more built in primitives or shapes. The lower part of the Object/Edit toolbar has several icons for adding new primitives.

This button allows you add spheres to an object. First click on it. Then move the mouse to where you want the sphere to be added. Click and drag to create a sphere of the size you desire.

If you want to add several spheres, use the right mouse button. Using the left button returns to select mode after adding a single object.

Double clicking on the sphere brings up a dialog where you can change the sphere's properties from the default.

This button adds cubes. You can divide them into as many subdivisions in each axis as you like by double clicking on a block to view its properties dialog.

This button adds cylinders. You can taper them, leave the ends open or closed, and set the number of divisions used to make them in their properties dialog.

Add various platonic solids and other built-in solids with this button. You can set the current solid type using the build->primitives menu.

This button adds unfilled polygons to an object. They are built as an editable spline so you can make a lot different shapes starting with the right polygon. Spline can be filled, extruded, lathed, edited, etc.

To set the number of sides, use the build->primitives->n-gon menu item.

You create True Type text objects with this button. Just click somewhere in a window and start typing. If you want to change the properties, double click on the object. You can use any font and style.

Each letter is a single spline (possible with multiple parts, like the hole in an O), and the whole string of characters is grouped together. You can extrude text objects directly using the Build->Extrude menu item.

You can also convert a text object into a group of general-purpose splines using the Build->Convert_to_Spline menu item.

This is the modifier button. Use it to add modifiers, which can bend, stretch, warp and twist another object into many new shapes. Modifiers are covered more fully in a later section of this chapter.
Each object in Anim8or has its own coordinate system. Its pivot is located at the object's origin. When you scale or rotate an object it is done relative to the pivot. When you are in wire frame mode, the pivots of selected objects are shown as red-green-blue axes as in:

You can move and rotate pivots by using edit/pivot mode.

Mesh vs. Parametric Shapes
There are two kinds of shapes in an Anim8or object, parametric and mesh. Parametric shapes are defined by a small set of numeric values. These values are used to build a viewable mesh whenever they are displayed. You can edit these parameters by double clicking on a parametric shape, which will generate a new mesh for display. But you cannot modify the mesh directly. Some parametric shapes are the sphere and cylinders described above.
Meshes however can be fully edited, smoothed, etc., even at the point or face level. You can convert parametric shapes into meshes with the Build->Convert_to_Mesh menu item. It is easy to see if an object is a mesh or not by selecting it. In a filled view selected parametric shapes are enclosed in YELLOW bounding box and meshes in WHITE ones. In a wire frame view parametric shapes are shown in yellow lines and meshes in white or some other color lines. The four spheres below show the same geometry. The first and third are in their original parametric form, while the second and fourth have been converted into meshes.

Once a parametric shape has been converted into a mesh it cannot be reverted.

Plug-in Shapes
You can add new parameteric shapes to Anim8or beyond those that come as part of Anim8or. These are defined by special script files that you add to the Script Directory. They behave like ordinary parametric shapes and add a new button to the bottom of the left toolbar.

This is the default button for a shape plug-in if the script doesn't define one. You can set it's parameters in the properties dialog by double clicking on it. You may also be able to scale the size or other parameters with the scale and scale non-uniformly tools, depending on how the plug-in is defined.

More often there will be a button definition as part of a shape plug-in. This one is for a spring. An example of a spring is shown below. The right spring has been converted to a subdivision shape.

See chapter 11 Scripts for more information on adding plug-in shapes to Anim8or.

Object Materials

You can view the materials in an object by displaying the material toolbar from the Options->Materials menu. Each named material is shown applied to a small sphere. Double clicking on the sphere brings up the material editor dialog allowing you to change that material's properties.

The selected material is shown as a depressed button with a white name. You can set the basic material for any selected components by clicking the Apply button.

The Object button shows the current object's materials.

The File button shows the project's global materials, those that are shared among all objects in an entire project. You should add materials that are common to several different objects to the global list to help manage them easier.

If you want to define a new material, simply double click on the New button at the bottom of the list.

If there are more materials that can be shown, you can left click in the material toolbar and drag up or down to scroll the list.

Materials are discussed in more detail in chapter 10, Materials.

Splines
You use the spline [image] and line [image] buttons to manipulate splines. To add a new spline, you must first deselect everything. Then select either the the spline or line button and click and drag to place the first segment. The spline will be drawn with a white pick box at its root and a red one at its head like this:

The red box also indicates that the spline is extendable. You can left click on it and drag to add more segments:

Once you have built all of the segments you need, go back to select mode and double click on the spline to bring up its property dialog and uncheck the extendable check box. This prevents the accidental extension of your spline when you are trying to modify it in some other way. Go back to spline mode and your spline will look like this:

Now if you reselect the spline button you can click on knots and display their control points:

You can drag the knots to new locations, and change the positions of the control points to alter the shape the spline. Double clicking on a knot will show the knot dialog where you can change the knot into either a smooth knot or a corner.
Double clicking on a segment will highlight that segment and let you set the number of straight lines used to draw it:

True Type Fonts
When you click on the text button [image] you can add text to an object. Click in a view window and a text cursor will appear. Type some text and it will appear as an outline in the window. Double click on the text and the text dialog appears. You can change the font, make it bold or italic, and set its size. You can always resize a text object but this isn't always the same as changing its initial size with the font properties dialog. Larger fonts are sometimes generated with more detail.

You can also fill and extrude text. Use the Build->Fill and Build->Extrude menu items:

When they're filled or extruded, text objects are converted into meshes. Afterwards, you can do anything to them that you can to an ordinary mesh.

Filling
You can convert any closed spline into a flat, filled mesh. Just select that spline and apply the fill operator using the Build->Fill menu item. The spline should not cross over itself or it will not fill.

You can also build complex splines consisting of multiple independent curves. Interior closed areas are filled as cutouts. To build complex splines, select several basic splines and apply the Build->Join_Splines menu item. For example:

Since text items are actually a group of (possibly) complex splines, text can also be combined with splines and filled. First select the text and convert it to splines with the Build->Convert_to_Spline menu. Then ungroup the string of characters with Build->Ungroup. Finally select the spline along with all of the individual characters and combine them into a single multiple spline with Build->Join-Splines. Then fill the result:

Extrusion
Two more operations you can do on splines are extrusion and lathing. Both create a three-dimensional mesh out of a spline, but each in a different way. An extrusion sweeps the edges of the spline along a path (straight or curved) while lathing spins them around an axis.
To extrude a spline simple select it and choose the Build->Extrude menu item. This will display a dialog with several parameters that you can set, such as whether to cap the ends and which direction to extrude. One option is to extrude along another spline. When you choose this option, you will be prompted to choose the spline after you leave the dialog. Some extrusions are shown below:

Note: The "center point" for the extrusion is the initial origin of your spline. Make sure that you create the spline around the origin or the results won't be what you expect.
You can also extrude text. Just select it and choose Build->Extrude:

Lathing
Lathing creates a solid surface from a spline by spinning it around an axis and converting the area it sweeps into a mesh surface. It can produce a variety of different objects depending on the shape of the spline that you lathe. If you lathe a closed spline you can create wheels and donuts. If you lathe an open spline, you can build wine glasses, pots, and vases:

Since you can apply texture coordinates at the same time that you are lathing a spline, it is easy to build things with detailed colorings.
You use the Build->Lathe command to lathe a spline. This displays the dialog:

The Axis section selects which axis will be used to do the rotation. You can control the behavior of the end points of an open spline with the settings in the Start and End sections. The three objects below are all lathed from the same spline, but the starting point (the one at the top, not the red one) is handled differently in each case. Open leaves the points at the beginning and end in their original place. Closed adds a new point on the axis at the same level as the end point and connects to all the end points creating a flat top or bottom. Point moves the splines end point precisely to the axis and then lathes the spline.

Open, Closed, and Point modes used at the Start

Modifiers
Modifiers allow you to stretch, bend, twist, and warp meshes into an endless variety of alternate shapes. To use them you create a modifier object and bind it to an existing mesh with the Build->Modifiers->Bind menu item. You can double click on the modifier to bring up its property dialog and change its behavior. The effect it has on the target mesh is shown in your object views. When you are satisfied with the shape, select the Build->Modifiers->Effect menu item and the mesh will be transformed into its new shape.

Here is an example of a cylinder modified by a twist, taper, skew, curvature, and a bend modifier. Modifiers preserve texture coordinates and other properties bound to points on the object.

Mirroring
You can also mirror an object using the Build->Mirror menu item. This builds a mirror image of the original object, a duplicate with the points reflected to the opposite side of the X, Y, or X-axis. These hands are simple mirrors of each other:

You often can model one half of a symmetric object easier than the whole. To build the whole, mirror the half model and join the two together.

Subdivision
You use subdivision to round the corners of basic shapes and to give more detail to the model. Anim8or can subdivide any mesh. Just select the objects that you want subdivided, and select Build->Subdivide from the menu. Each time you do this you will round the corners a bit more, and multiply the number of facets by four. So be careful, or you'll create a very large model to manipulate!

Note: Subdivision used to be called smoothing in earlier versions of Anim8or.
There is a technique called box modeling that you can use to model complex objects that begins with a simple box. You bevel, extrude, resize, and warp a few flat faces until you make a rough form of your desired object. Then you apply subdivision, and viola! You have a nice model. The following models were made in Anim8or using box modeling:

Not a bad hand considering it was modeled by 24 simple cubes! You can learn more about building the box shapes in the section on Object/Point Editing.

Subdivision Objects
You can convert a Mesh into a subdivision object with the Build->ConvertToSubdivided command. You edit Subdivision objects just like regular meshes, but they are automatically subdivided as you work. This is a far easier way to model than to continually apply subdivision operations to try and see what your model will eventually look like. Selected faces are shown as transparent windows revealing a further refined model inside:

When you resize or extrude a face the internal smoothed view changes shape to follow. (You only see this view in the Point Editor. All other places your model will be shown as fully subdivided images.)
You can convert a Subdivision object into a Mesh with the Build->ConvertToMesh command. It will be converted at the subdivision level that you are using to view it in the working views.
Another very important advantage to Subdivision objects is size. Subdivision objects are stored in the undivided format that is many times smaller than the final fully divided model. You can control the level of subdivision used on the screen and in the final image by double clicking and editing the properties dialog.

Morph Targets
A morph target is a deformed version of an object where some or all of it's vertices are moved to alter the shape. For example you may have a basic model of a character's head with a neutral expression. If you want to animate your character opening and closing its mouth you'd create a morph target with the character's mouth open. You can then smoothly animate between the base shape with a closed mouth and the morph target with an open mouth using a single controller. As you increase the value of the controller the character's mouth opens.

The face on the left has a neutral expression. The face on the right is a morph target created for the face so that it's smiling. The faces in-between are morphs with a value of 1/3 and 2/3.
To create a morph target, you first build a base model. It's important to put the finishing touches on your model first since altering the base model can corrupt any morph targets you have added. You then can make a morph using the Build->MorphTargets->New command. Make sure to give it a meaningful name such as "smile" so you can find it when you are animating in the Scene editor.
Next edit your model in the Point Editor by moving vertices to alter the shape. When you're finished with the morph use the Build->MorphTargets->None command to return to the base shape or continue to add more morphs.
Note: If you use a Subdivision object for your model you will have fewer points to manipulate.
You're now ready to animate you object in the Scene editor.

This page was last updated on May 21, 2006


Anim8or Manual, Chapter 4 Object Editor Point Editor

4 Object Editor Point Editor

The Object/Point button [image] on the toolbar changes Anim8or into Object/Point editing mode. Here you can modify individual points Edges and faces of any mesh object. You can move Scale rotate Add and delete them. You can extrude Twist and scale faces weld close points together etc. When you enter Object/Point mode the display automatically switches to wireframe. If you want to view your objects as solids use the View->Full menu item.
Just below the coordinate axis button row there is a new row of three buttons: . You use these to change the selection mode to point edge or face in order to select different parts of your model. The select [image] and drag [image] select modes will then select the corresponding items.
There are two buttons that you will find helpful when selecting points, edges and faces. They control whether you can select front facing [image] and back facing [image] faces, edges and points. By default both kinds are enabled. Click on the buttons to toggle the setting.

Point Editing
You use point edit mode [image] to modify the shape of an object, and to add and delete unwanted parts of an object.
You can manipulate selected points by using any of the move, rotate, and scale buttons. The rotate and scale operations are done relative to the objects pivot.
If you delete any points using the scissors button [image] , any edges and faces that contain that point are also deleted. For example, to delete the bottom of a sphere, first select all of the points below but not including the equator using drag select mode, and cut.

If you move [image] these same points, scale them non uniformly [image] , or scale them [image] , you can make objects like these:

You can use the Arrow Keys on the keyboard to make tiny moves, rotations, and scales to selected points as well when the corresponding toolbar button is enabled.

Edge Editing
You use edge edit mode [image] in a similar manner to point edit mode. When you select an edge, both of its end points are also selected. Thus all operations from point mode are enabled as described above.
If you delete using the scissors in edge mode, however, only the selected edges and any faces that contain them are deleted. All points are saved. This allows you to change the tessellation of an object more easily, without having to add back previously deleted points.
You can also set various edge properties for selected edges. Select the edges you want to effect, and then select the edit->edge_properties menu item. The default setting for edges is smooth. This means that if the solid angle defined by the two faces is less than a certain threshold, the edge will be smooth. Otherwise it will be creased. You can change the value of this angle by double clicking on a mesh when in Object/Edit mode to bring up its parameter dialog.
You can mark an edge as creased, so that won't be drawn as a smooth surface but will show as a sharp crease. This does not change the geometry of the model in any way; just the way normals are computer so that it appears smooth or creased. The following sphere has the lower half of its edges set to creased:

Another property that you can set in this dialog is how rounded an edge will be after it has been smoothed. Normally when a mesh is smoothed, all edges become smoother. Each application of smoothing increases the number of faces in a mesh, and smoothes all edges. You can mark any edge so that it will not be smoothed, but will retain a sharp crease, for one or more cycles of smoothing. The following shows a cube and several possible smoothings of it:

The sphere likeball is the result of a simple cube being smoothed several times. The top two rounded cubes are the results of smoothing a cube with all of its edges set to a rounded level of 1 and 2. The bottom two rounded cylinders are from a cube with only the top 4 and bottom 4 edges set to a rounding level of 1 and 2.

Face Editing
You use face edit mode [image] to select and manipulate the faces of a mesh. You can delete selected faces with the scissors button, but points and edges remain unchanged. You cannot move, rotate or scale selected faces. You can only make these changes to selected points (and lines). This is because it is somewhat ambiguous as to what you intend to do when several adjacent faces are selected. There are, however, some alternate ways of manipulating faces that are described below.
Selected faces are shown as filled even in wire frame mode. The front side is shaded YELLOW and the backside BLUE to help you see what faces are selected. This is also the case in filled mode, but you usually only see the yellow front sides.

Applying Multiple Materials
You can also apply different material properties to individual faces. Simply select the faces that you want to change, display the material toolbar (use options->materials if it isn't already visible), select the material to apply, and click the apply button [image] in the toolbar.

You can use as many materials on a mesh as you want. With a little more imaginations you can make objects like these:

The UV texture tool is also available in the Point Editor. You first select the faces that you want to texture, and then use the UV tool to interactively apply the coordinates. It helps if you already have a textured material applied to those faces.

A Note on Selecting Faces
It can sometimes be rather tedious to select the exact faces that you want, especially in a complex model. But there are several tricks that can help out.
The select mode [image] selects faces that are facing the viewer over those facing the other way. So changing views of an object, or temporarily switching to Object/Edit mode and rotating the object so that different faces are in front, can help. This is one reason that selected faces are shown in YELLOW even in normal views where you can't really do anything to individual faces.
The drag select mode [image] only selects faces that are entirely within the selection rectangle. So you can often add faces one-by-one until you've selected what you need.

Adding Points and Edges
You can add new points and edges to a model with the Add Points [image] button in the toolbar. To add things to an existing object, click on one of it's points and drag the mouse out. A new edge and point will be added where you release the mouse. If you move it over another existing point, then the end of the edge will snap to the existing point, and an edge will be added between the two points. You can build complex meshes quickly using this method:

If you want to add a point that is close to another one but not make it the same point, hold down the Shift key after you click the mouse button down and hold it until you release the mouse.
If you want to start a new mesh, press the Shift key before you press the mouse button. A new mesh will be created with a single edge and 2 points.
Note: This command only adds Points and Edges, not Faces. You can use the Edit->FillHoles command described next to add new faces.
If you enable grid snap [image] when you add points you can make objects with exact measurements more easily.

Adding Faces
Once you have added new edges to a mesh, you will be able to fill in the gaps with new faces. You do this by first selecting all of the edges that surround where your new face or faces will go. Then you use the Edit->FillHoles command to fill them.

There are a few things to note before you start adding faces:
  • Faces can only be added to complete connected loops of edges. If there are any gaps, no face will be added.
  • All edges in the loop must not already be part of two (or more) faces. Only edges that are part of at most one face will be considered. You can tell how many edges an edge participates in by its color when selected.
  • You can select a lot of edges and do a fill of the whole batch at once. Anim8or will start by filling any selected edge loops of length 3. Then it will fill those of length 4, etc. until no more faces can be added. This will sometimes create undesirable results and you will have to try again in smaller batches.
  • You may have to apply the Edit->FlipNormals and the Edit->FixNormals commands to orient new faces properly after they are added.

Color of Edge | Number of Edges
RED | None
GREEN | One
WHITE | Two
VIOLET | Three or More
So you may have to delete some faces in your mesh before you can add the new ones you need to add.

Connecting Meshes
You can attach two separate meshes to create a single, connected mesh using the JoinSolids, Add Points/Edges and Add Faces commands.
  • First position the two meshes with the parts that you want to attach near each other. Leave a small gap for a row of new faces that will be used to connect them.
  • In the Object Editor, select both meshes and apply the Build->JoinSolids command. This doesn't add any new connecting faces but combines them into a single Mesh allowing you to do so.
  • Next in the Point Editor, add new edges between the pairs of points that you want to attach.
  • Select all of the edges that you just added, and those on the new boundary.
  • Use the Edit->FillHoles command to add the connecting faces.

Merging Points
You can merge separate points into a single point with the Edit->MergePoints command. First select the points that you want merged. It is best if they are very close to each other to begin with. Then apply the Edit->MergePoints command. A dialog appears where you can enter the maximum distance allowed between pairs of points. Click OK and all eligible pairs will be merged.
Connecting Meshes (2)
You can also use this technique to connect two meshes. It works best if the connecting point sets are similar in size and number. For example connecting half of a Sphere that has 12 longitude lines with a cylinder with 12 sections around is a snap.
Connecting Meshes (3)
You can often build one half of a symmetrical object, then mirror it with Build->Mirror, and join the two halves into a single mesh with Build->JoinSolids. Then position the two halves close together, select the adjacent points and use Edit->MergePoints in the Point Editor to make a seamless connection. This merged object was then smoothed one time to round off the corners.

Point and Line Parameters
When you are in Point [image] mode you can double click on a point to bring up a dialog box that let's you assign it's position numerically.

When you and in Edge [image] mode you can similarly double click on an edge to edit it's properties.

Face Extrusion and Manipulation Tools
You can manipulate selected faces in a variety of ways using the lower group of buttons in the toolbar. They can be used to build very complex models from a small number of cubeish shapes using the box modeling method.

You use this button to extrude all of the selected faces. Each face is translated in the direction that it faces, either out or in, and new edge polygons are added to connect the face to its original edges.

Similar to the extrude tool, the extrude-connected tool extrudes selected faces in a Mesh. However adjacent selected faces remain connected. New faces are only added to the edges between a selected and an unselected face.

The 6 faces on the solid on the left are shown extruded and extrude connected above.

This button rotates each selected face around its center. It's most useful when the selected faces aren't adjacent.

You can scale selected faces using this button.

This one will replace faces with a peak.

The bevel tool is useful for adding faced corners to surfaces. You can bevel both faces and edges of any mesh. Selected edges are turned into new faces, cutting toe corner off of the original model as shown below:

Selected faces are handled as a group. Edges between a selected face and an unselected face are beveled but edges between two adjacent selected faces are left alone.

The inset tool is also useful for adding faces to surfaces. Each selected face is replaced by a smaller version of itself and new faces that connect it to the original edges. This is an easy way to add more detail to a particular part of a model, or to make a hole for a door, window, or eyes.

You use the shell tool to add thickness to the walls of a Mesh. To make a shell simply click on a Mesh or a Subdivision Object and drag the mouse. The basic Mesh cannot be completely closed. It must have at least one "missing" face.

The bump tool raises all the selected faces up on a bump.

If you want to cut a slice through a model you'll find the cut faces tool quite handy. It slices through edges and faces when you click-drag the mouse across an object. If you slice all the way across an object as shown below you can then use the Edit->LoopCut command.

You can divide a face into two by clicking on one vertex and dragging to another. The connecting line will snap to a vertex when you click nearby. Or you can disable the snapping if you press and hold the Shift key when applying a cut. You may want to disable the back facing edges from being cut as well by turning off the [image] key.

The slide tool lets you slide a point along an edge, or extend the edge. Just click on a point and drag the mouse in the direction of one of the edges that enters it. This will select the active edge and shorten it. If you want to lengthen it instead just keep dragging but in the opposite direction.

The edge extrude tool extends your object for all selected edges that have only one face with another face.

When you use these face manipulation operations you often follow with one or more applications of the subdivide operator to build more complex shapes. For example, start with an extruded pentagon, select all 5 outer faces, extrude them, and smooth to make a starfish:

Face Editing Commands
Anim8or has several other useful face editing commands. You will find them under the Edit menu in the Point Editor.
The bridge commands allow you to do several useful operations. To use it you first select two different faces. They have to have the same number of edges but can belong to different Meshes if you want. The Edit->Bridge command then will connect the two selected faces with new faces connecting each edge of one face with the corresponding edge on the other face. You can poke holes through a Mesh:

You can connect two parts of a Mesh to form a bridge:

And you can join two different Meshes into a single mesh:

The flatten command does just what it's name suggests: it flattens groups of selected faces. All the vertices of each group are projected onto a flat plain. You can choose the group's average face direction or the X, Y, or Z-axis. Flattening is quite useful when you need a level base for a model, and can be use with the merge face command to help simplify your models.

The merge faces command combines groups of selected faces into a single face. You can simplify areas of your models that are too detailed this way.

You have to be careful to keep the faces convex and relatively flat or they may not render properly. Convex faces are those that don't have any points inside their outer boundary. Faces with interior points are called concave and can cause rendering errors:

In the example shown above three pentagonal faces are merged into one big face with 9 sides. It is concave and doesn't draw properly as a result. It's easy to see in this example because of the stray back facing part is blue when it is selected. Other times it may not be as obvious what is wrong.
If you are working with a Subdivision object this is not as important. The faces that you are editing aren't drawn in your final object. Subdivision will smooth the mesh making it much better formed along the way.

Misc. Commands
There are several miscellaneous commands in the Point Editor that you will find useful. One group helps you make certain useful of selections that could otherwise be quite tedious. The other group modifies objects in various ways.
Selection Commands
A Quad Loop is a chain of adjacent quads, or 4 sided faces, that are attached across opposite sides. The Quad Loop Select command extends selected edges along quad loops as long as there are exactly four faces joined together at each vertex. For models like the sphere below this results in a closed ring around a latitude line. For vertical edges it only extends to the poles since there are more that four faces sharing the pole points.

The Quad Ring Select commands work on chains of adjacent quads, or 4 side faces. When a quad has a selected edge, the opposite edge is also selected. This is repeated until all quads in a "ring" are selected, or until a face without 4 faces is encountered. (Selections are shown in red here to make them better visible against a white background.)

You will find these commands under the Edit->Select menu.
Editing Commands
These four commands are useful for adding detail to part of a Mesh. Connect Edges adds new edges between the centers of any selected edges that share a face. Cut Edges splits each selected edge into two in the middle. Subdivide Faces divides those faces into several smaller faces. It does this by adding a new point in the center of each selected face and connecting it to the points of that face.
Loop Cut splits a mesh into multiple parts along closed loops of selected edges.
These commands are under the Edit menu.

This page was last updated on Novenber 6, 2004
 Copyright 2004 R. Steven Glanville


Anim8or Manual, Chapter 5 Figure Editor

5 Figure Editor

The figure editor is where you design animated characters to put into Anim8or's scenes. The main difference between a figure and an ordinary object is that a figure contains a bone structure, or skeleton, that you use to bend and shape it in different poses. By setting the pose of a character in a few key frames of an animation, you can bring it to life. Anim8or will smoothly fill in all the in-between poses by bending the joints of the skeleton just the right amount. You can enter the figure editor at any time by selecting Mode->Figure in the menu.
The basic screen is similar to the Object Editor and is shown below. You can also view multiple viewpoints simultaneously, as with the other editors.

Notice the bones that are faintly visible inside of the character's body and legs. You can control the visibility of bones, your character's body parts, and other aspects to help with the design. This character doesn't have any particularly interesting bones in his body, but does have animatable legs and feet.

The figure editor has two modes: edit and viewpoint. You click on one of the icons to switch between these two modes.
 | Figure/Edit mode button. This is the initial mode that the figure editor starts in. You use it to do all of your character design.
 | Figure/Viewpoint mode allows you to pan, scale, rotate, and size-to-fit any or all of your views of your workspace.

Figure Basics
There are two different parts of that you make when building a figure: the body, which is all of the visible parts of your character that will appear in the final images, and the bones or skeleton which you use to pose and animate your character.
You will usually design all of your character's body parts in the Object Editor as different objects. When you add them to your character, you are only making a reference to the original object. This way you can add an object several times without increasing the size of your working files, and you can make changes to all the instances by editing a single object.

There are also a couple of "built in" shapes in the figure editor to help with preliminary design and motion tests. The "ball and stick" legs shown here are made from build in cylinders and balls.

Once you have made your character's parts, you switch into the Figure Editor and build a skeleton. Starting at the initial root bone, you add bones one at a time to make the movable structure of your character. For example, if you want human like legs, you need to add a bone for each of the thigh, lower leg, and foot. You can give each joint its own range of motion which makes animation a lot easier.
Once the skeleton is designed you can add the character's visible parts. You link each part to a specific bone, and when that bone moves, so does the body part. You can also move, scale and rotate each part individually within the coordinate space of its bone.

Figure/Edit Operations
You use the first group of buttons to select various parts of your character, and to place the visible parts on the bones in a similar manner to the same ones in the Object Editor.

You use this mode to select both your character's bones and body parts. As usual, you can use the right mouse to select additional things while keeping the original ones selected.

This button sets drag-select mode. You drag a rectangle on the screen and select all objects that fall within the final area. Again, using the right mouse button adds selections without deselecting any.

The next three buttons apply to the objects that you have attached to the skeleton, not to the bones themselves. You use this one to move an object around relative to the bone that it's attached to.

You can rotate objects with this button, and

scale objects with this one. You have to select an object before you can modify it.

You use the next set of buttons to edit the bones of your character's skeleton once it has been built.
 | This mode allows you to rotate your characters joints into their nominal position. This position defines the zero value for all rotations that this joint can perform. It is not the same as the default position of the joint, which is where the joint is when it's "relaxed", but is used to define the bone's coordinate system.
 | You use this button to change the length of a bone. When it is pushed, you can click on the end of a selected bone and stretch or shorten it with the mouse. You have to be sure that you click directly on the end of the bone or it will not change. You can also double click on a bone and set the length directly with a dialog box.
 | You use this mode to add new bones to a skeleton. To add a new connecting bone, you click on the end of a bone and drag to set the bone's length. It will always align in the same direction of its parent. So if you want it oriented in another direction, you must use the rotate button shown above.
 | Note: You have to click on the tip of the bone or nothing will happen. If you want to attach a new bone to the end of an unselected bone, click on the tip and it will become selected. Then click a second time on the tip, and drag until your new bone is the right length. You can also double click on a bone to bring up its parameter dialog and set the length manually.
 | This button allows you to skin part or all of a skeleton with a single Object. Then when the joints of a bone bend the object deforms and bends seamlessly along with the skeleton. There is more detail on how to use this skinning tool later on.

You use the final group of buttons to control what is visible in the edit window. You may find it easier to manipulate your character's skeleton without its body getting in the way, or want to see the final, solid look without the bones showing. These controls will do just that.
 | You use these two buttons to toggle the visibility of bones and body parts. If both of them are enabled then your character's body will be shown in a sort of transparent view with the bones visible inside. You will find this indispensable when arranging your character's parts. If only one is enabled, the corresponding items are shown as solid objects.
 | This shows a character with a simple skeleton. Only the legs have bones, so you could only animate the legs. The face would be frozen in that silly look unless you added additional bones to animate the eyes, wings, beak, etc.
 | This button toggles a visible axis for any selected bones. It also shows you the range of movement for their joints.

Building a Skeleton
Each figure's skeleton starts with a root [image] bone. By adding child bones the root, and then to successive bones, you construct a skeleton one bone at a time. Each bone is owned by its parent, and any movement that the parent makes also moves all of its children.
When you add a bone it is aligned in the same direction as its parent. So you will normally have to rotate it to its proper orientation.
If you want to delete a bone, first select it and then choose Edit->Cut from the menu bar. This will delete the bone and all objects attached to it. Any lower bones will be moved up and attached to the deleted bone's parent.
If you want to insert a bone into your figure as well. First select a bone and then use the Build->InsertBone command. You can insert the new bone either as the parent or as the child of the selected bone.
This is a simple skeleton. It is made out of 9 bones plus the root. This skeleton is built with two symmetrical hips and legs. The lower two bones in the right leg are selected and shown is white.

The foot has an extra diamond [image] visible on the end. This gives you an easier target to grab onto when you are manipulating the bone. The lower leg has one as well, but it is hidden inside the foot bone and isn't visible.

Flexible Joints
In Anim8or you decide which joints are flexible and which ones are frozen in a fixed position. By default they are all fixed. You add flexibility in the bone editor dialog that appears when you double click on a bone.

You control the rotation of a joint around each axis independently. Clicking on the "free" check box for an axis allows it to rotate around that axis. You can set the minimum, default, and maximum allowable angles as well.

Angle values are limited to values between -359 and 359 degrees with a maximum difference of 359 degrees.
You use the X and Z-axes to control the bending of a joint, and the Y-axis to twist around. Clicking the single "Locked" check box will prevent any changes to a bone's length or position in the basic skeleton. It's a good idea to lock your bones once you've got things set up. This prevents their accidental alteration. You can still change all the joint parameters, but since this is done in a dialog instead of with the mouse, it is less likely that you will do something accidentally. The "Lckd" check box for each axis is used when you are animating a character and doesn't apply to the figure editor.
If you check the "No Limits" box then you will be able to rotate the bone freely in that axis. This kind of joint is called a free or unconstrained joint because there are no restrictions on its position.
Working with a lot of small bones, such as in a hand, can create a confusing jumble of overlapping bones. You can change the diameter use to show each bone in the Bone Editor by changing the value in the Dia. field to help clear up the view.

This is a side view of a skeleton. The show axis [image] button is set so you can see the joint rotation limits of any selected bones. The x-axis is shown in green the y-axis in blue and the z-axis in violet.

The bone selected here is the lower part of the right leg and forms the right knee. It can only bend in the x-axis and like a human knee can only bend backwards in this case a maximum of 135 degrees backwards.

Adding Body Parts
Once you have built a skeleton, you need to add the visible body parts that will appear in your final images. Each body part is an object that you add to a specific bone's local coordinate system. First select the bone that you want to add your object to, then use the Build->AddObject menu command to add it. Your object then behaves like that bone. When the bone rotates, so does the object.

You can also add simple cylinders and spheres. They aren't very sophisticated, they just look like sticks and balls, but they do allow you to do quick tests to see how your skeleton behaves. You add them using the Build->AddCylinder and Build->AddSphere menus.

You can change a few of the properties for these simple shapes as well. Double click on one to bring up it's property dialog, and use the Settings->Component->Material menu entry to set their color. These basic shapes are not as flexible as Objects that you build yourself. They have some fairly restrictive limits and aren't meant for any kind of final rendering. For finer control than this you need to build things in the Object Editor.

Skinning
In the previous section you've learned how to add an Object as the offspring of a specific bone. It follows all of its parent bone's movements, but remains a rigid, inflexible Object. This is what you want when making a robot. It's not exactly what a living human or animal does. You want them to be flexible, to change shape and bend along with their skeleton, but still retain a smooth surface. This is exactly what skinning does.
Once you've built an Object and a skeleton, you can attach your object to several bones at the same time with the Skinning tool. Here you set how strongly each bone controls each point on your Object. The stronger the influence the closer it will follow that bone's movement.
There are two ways you can set the level of influence. The first is to use the influence volume that surrounds each bone. Any point in an skinned Object that lies within this volume is bound to that bone to a certain degree depending on how close it is to the bone. You can use this influence to animate your object so that it bends along with a Figure's skeleton. Alternately you can paint your own skinning weights to bind your Object to a Figure.

Influence Volumes
The two bones at the right show their influence volumes or ranges. The inner yellow area is where the bone exerts maximum control. This does not mean that other bones can't also control points that fall within this region, just that the bone is a strong influence. The outer orange area is the limit of the bone's control. That bone does not affect points that lie beyond this boundary at all. The only exception is that if a point lies outside all bones' area of influence, it is simply controlled by its base bone, the one that it is initially attached to.

To skin an object you first attach it to a bone called its base bone. You should pick it carefully since only the base bone's descendants will be able to bend your object. Then enter Skinning mode by pressing the skinning button on the toolbar [image] . Now select your object by clicking on it. This will enable skinning for your object and add it's base bone to its influence set those bones which can alter its shape. To add other bones simply click on them and confirm that you want to add them in the dialog that appears.
You can adjust the size of a bone's influence in two ways. You can double click on it and enter numeric values, or you can edit the influence regions directly on the screen.

You can set the size if the inner and outer range for each end of the bone. You can also set the position along the bone where they start and end as a percentage of the bone's length.

Changing sizes directly on the screen is often more effective but it can sometimes be tricky to do because things are often cluttered with several overlapping regions.

There are six control points on each bone, three at each end. If you turn off the visibility of both bones and objects by clicking on the buttons at the bottom of the toolbar you will get a clearer picture of what's there. You use the one at the tip of the orange area adjust the size of the outer region, and the one at the tip of the yellow area for the inner one. The inner yellow point adjusts the offset.

One final note: Don't attempt to adjust your bone's positions in the Figure Editor and expect to see your mesh bend! It doesn't work that way. You will only be adjusting the bone's position, and area of influence, relative to your object. You must go to the Sequence editor to start animating your character.

Now you're ready to go to the Sequence Editor to make some animated sequences. Then on to the Scene Editor for your final movie!

Skinning Weights
For more control you can also paint skinning weights directly on your objects. It's best to start with a basic influence volume weighting and then convert to using weights. You do this by double clicking on an object and selecting the Weights button in the Skinning area of the parameter dialog.

To paint weights enable skinning [image] and select an object. The display will show the object's bones in contrasting colors. You then right-click on a bone to paint its weight on the object. The brush is a green circle with a cross in the center. Hold the left mouse button down and drag the brush across your object and the influence of the bone will be increased for the points that you paint. The color of the object will change to show the new weights.
The center of the brush has the most "paint" and will make the biggest change in weights where it passes. It decreases to the edge where the change stops. You can change to size and strength of the brush with the Build->WeightBrush command.

This page was last updated on May 21, 2006


Anim8or Manual, Chapter 6 Sequence Editor

6 Sequence Editor

The Sequence Editor is where you create most of the movement that gives personality and style to your characters. A sequence is a short block of key frame poses, such as one cycle of a walk. The easiest way you can animate a figure is by placing it in a scene and adding one or more sequences.
Longer animations can be built from several short sequences, such a building a long walk out of multiple applications of a walk cycle. Anim8or automatically joins the adjacent sequences into a single, smooth movement, using the key frame positions as guides. Here is a screen shot of the Sequence Editor in action:

Time Track
The time track at the base of the Sequence Editor indicates the current frame shown in the viewports. The frames that have one or more joints set in key positions are marked with small black squares [image] in them. The numbers :01 show the time in seconds since the start of the Sequence of a position on the track. The current frame is highlighted with a dark gray background.

You can expand the track to see a tree view showing details of individual joint's keys by clicking on the plus symbol [image] next to the title.

Key positions are shown for each joint/angle with a small black square in the frame. You can also select a joint by clicking on it in the expanded track. Resize the expanded track view by clicking and dragging the vertical resize bar [image] at the bottom of the toolbar up or down.
The track will automatically scroll to keep the current frame visible when a sequence is too long to show all at once. If you want to see a frame that is off the window, you can either use the Settings->Sequence command to set the frame numerically, or you can use the Left or Right Arrow keys to play the sequence forwards or backwards until you reach your frame.

You can move to a particular frame in a sequence by clicking on that frame in the track. If you click and drag the mouse it will select a range of frames. Clicking on the name of a bone selects that bone and highlights it in the track window. Clicking on the title of the sequence selects all bones. Mouse buttons have their usual meaning on the bone names: the right button adds to the selection, and the middle button subtracts. Use Shift-Click to select a new frame range while still keeping the same current frame.

Sequence Basics
You can't animate a character before you have one! So it isn't surprising that you must first design a character in the Figure Editor before you can give it any movement. Once you have one, you switch into the Sequence Editor and a new, blank sequence is created. Select the Settings->Sequence menu item to show the Sequence's settings dialog:

Click on the [image] button and select your figure from the list. You can also set the number of frames in the sequence in this dialog. Now your figure will appear in the viewports and you can begin to animate it. You can also set the Sequence's length and set the current view to a particular frame with this dialog.
The sequence editor has two modes: edit and viewpoint. You click on one of the icons to switch between these two modes.

Sequence/Edit mode is the initial mode that the sequence editor starts in. You use it to set all of your poses and to view the motion of you've created.

Sequence/Viewpoint mode allows you to do the usual pan, scale, rotate, and size-to-fit any or all of your views of your workspace.

Edit Operations

You use this button to select bones in your characters. The right mouse button allows you to select multiple bones.

This mode allows you to adjust the angle of your character's joints to new positions and for new key frames.

(This is the button for Inverse Kinematics, a neat way to pose and animate your characters. Unfortunately it's grayed out and disabled because it isn't quite ready for prime time. Sorry! It should be in a later release...)

Visibility Options
These controls allow you to show different aspects of your character on the screen when you are working.

This button toggles the visibility of the axis and the range of motion of any selected joints.

These buttons control the visibility of the bones and body parts of your character, like in the Figure Editor.

Use this ghost view button to show multiple frames of a sequence simultaneously. You can compare previous key poses and in-betweens that Anim8or creates with another frame's to help see how they fit.

Animate Button

This is the animate button. It is your magic wand for making things move. You use it to add and change key positions. When you change the angle of a bone you sometimes want to do it for all frames in a sequence, and sometimes just in the current frame. The key button gives you this choice. If it is not pressed changes apply to the entire sequence. If it is pressed only the current frame is changed. The next sections explain this in more detail.

What is a Key?
If you had to set the position of each joint of your figures in each frame of an animation, that's about all you'd ever do! Fortunately there is an easier way to animate called key frames. With it you pose your character in a few frames that represent what it should be doing in that particular frame, and the computer smoothly fills in the in-between frames. You get the best results, naturally, if the frames you choose represent the significant points in your character's movement. That's why they're called "key".
There is no reason that all the joints have to be key in the same frame. If your character is walking forward an slowly turning his head you may want dozens of key positions in the legs but only a couple in the head turn.

Making a Key Pose
When you first create a Sequence, your character is shown in its default position. You can change its position by bending its joints. But you can only bend the ones that you made flexible in the Figure Editor, and only in the ways that you said they could bend.
To make a key pose you must first select the joint or joints that you want to bend. Showing the axis and even hiding the body parts can be helpful. Enter rotate Angle mode [image] , then enable Animation [image] . Click on the tip [image] of the joint and drag the mouse to rotate it. You have to pick a joint that can be rotated, and you have to use the correct mouse button for the axis that you want to rotate.

To rotate around the X-axis, which is shown in green, use the left mouse button. The joint will try to follow the mouse.

To rotate around the Y axis shown in blue use the right button. Since the Y-axis rolls the joint around the bone's length, and doesn't change the direction it's pointing, you have to move the mouse to the left or right to move the joint.

To rotate around the Z-axis shown in violet, you have two choices. You can use the middle mouse button if you have a 3-button mouse, or you can use the left button. If the joint can rotate around both the X and Z-axis, then you have to disable the X-axis first. Double click on the bone and Lock the X-axis by checking the "Lckd" box in the X row, as shown below:

That's all there is to it! You've created a key position for a joint. To make your character move, go to another frame (click on it in the track window) and make a second key position. Click on the play button [image] to see it move.
Continue setting the positions of any joints that need changing until you are satisfied with your pose.

Editing Key Frames
You can edit key frame values for individual joints. Double click on the joint's track in the expanded view of the track and the key frame editor dialog will appear:

The current value of this joint angle is shown next the value, and the current frame next to Frame No. If this is a key frame for this joint you will be able to enter a new value for the key, and you can delete the key with the Delete Key button. If it isn't, you can make it a key with the Add Key button. The plus + and minus - buttons advance the current frame by one in either direction.

A Circle Has 720 Degrees
Sometimes rotation is not quite a simple as giving the first and last positions and letting the computer figure out what to do in between. For constrained joints (those with limits on how they can be rotated) like the one at the right, things are simple. Moving from position A to position B simply rotates to the right.
However for a free or unconstrained rotation this doesn't quite work. There are two directions that the joint can move: clockwise or counter clockwise.

Anim8or resolves this dilemma by expanding the range of angles that you can use to be from -360 degrees to +360 degrees. There are then two values that represent the same position. One-quarter turn to the right is either +90 or -270. If the difference between the angles of less than 360 degrees, the joint simply moves between the two. If it's greater than 360 degrees then the joint moves the opposite way. It's not really as confusing as it seems once you've tried it out a time or two.

Making a Sequence
A Sequence can be thought of as a bunch of Key Poses played back in order. Each joint's position from one key frame is linked to the prior and following positions. Anim8or fills in joint positions for frames in-between key poses. When viewed this way, your character appears to the eye as if it is making one continuous motion. The smoothness and speed of the motion depends on how fast and in what ways the poses change. A large part of the work in animation concerns getting the motion just right.
After you finish the first key pose, set the sequence to a later frame by clicking on the appropriate spot in the track, or by using the left and right arrow keys. Then make a second key pose. You don't have to set the positions of all the joints, just the ones that need it. If one part of your character is moving at a slow pace, or needs less detailed control, save yourself some work. You can always go back and add more keys if you find you need them.

If you enable Ghost Views [image] you can see the relative positions of other frames. Then it's easier to adjust things relative to one another. This view can sometimes get rather confusing. It can help to hide body parts and just animate the skeleton.

You can change which frames are ghosted with the Options->GhostSettings command. They can be limited to just key frames, or to those a fixed number of frames apart. You can also adjust the number of ghosts shown.

This page was last updated on May 21, 2006


Anim8or Manual, Chapter 7 Scene Editor

7 Scene Editor

The scene editor is where you build sets, adding objects and figures, cameras and lights, and construct your final scenes. Everything can be animated; cameras, lights, and characters. And you can save the output as a sequence of still images, or as an .avi movie file. You can even generate stereo views! You enter the Scene Editor from the Mode->Scene menu item.
The basic scene editor is shown below. You can configure it to show either 4 views (front, top, side, and perspective), a single view from either of these views, and orthographic view, or from the camera's view. The usual menu, toolbar, and status bar are there, and a track bar that shows the current frame.

In addition to the normal select, move, rotate, and scale buttons in the toolbar, there are several more that perform functions specific to the scene editor.
 | You use the VCR style block of buttons to control the playback of your scenes. They work in the usual fashion.
 | The axis button makes a joint's rotational limits and axis visible when you are animating joint positions
 | You can show or hide your figures' bodies with the figure objects button. This can make editing joints much easier.
 | The camera button controls the visibility of your camera and lights. They aren't shown in the camera's view, the one that you normally use to render scenes.
 | The path button sets the visibility of object's paths. Any object that you select will display its path as an editable spline.
 | The key or animate button enables animation. When it's pressed, the changes you make to the location, orientation, size and other aspects of objects in your scene will be animated when you play the scene.

Elements of a Scene
An element is a part of a scene. A new scene contains two default elements, the world and the camera. The world is the global coordinate system. The location and orientation of everything in a scene is, ultimately, relative to the world. The camera is the viewpoint for the movies you make. You cannot delete either the world or the camera.
Everything that you can add to a scene, including lights, objects, figures, and targets, are also called elements.

Adding Objects
You add objects to a scene by selecting the Build->AddObject menu item. This brings up a dialog showing all of the objects in your project. Select the one that you want and click OK. It will be added to the center of the scene. This is not the actual object; you cannot edit it from within the scene editor. Instead it is a link to the object. But you can scale the view of it within the scene, and add multiple copies of it. The screen shot of the scene above has three instances of the seaweed object in it.
You will often find it more useful to select world coordinates [image] when adding objects to a scene. They are "dropped" into the scene at the center, at coordinates <0,0,0>, and are selected. Make sure that the move button [image] is set, and then you can use the left mouse button to drag the new object around on the ground plane from within any viewpoint. The right mouse button will raised and lower it. You can also scale [image] and rotate [image] an objects size and orientation, and animate them by specifying a series of key frames.

Adding Figures
You add figures in the same manner with the Build->AddFigure menu item. They are dropped at the center of the scene. You must move them to their proper place. You can animate the position of figures with key frames, and you can also attach predefined sequences of motion, as described below.

The Camera
The camera [image] is the reference point for the final animation. It's fully animatable. You can change its position, field of view, direction, etc. You can also animate it for any variety of pans, tilts, or dollies. You can attach a camera to another moving object for fluid tracking shots, lock a camera's direction on a moving target, and even move right through "solid" objects. To see what the camera sees, select the View->Camera menu item or type <Num-1> (the 1 key on the numeric pad).
You can add additional cameras to a scene with the Build->AddCamera command. The camera's Active controller sets which camera is currently active. Double click on a Camera to show it's properties dialog to set the Active value or use the animation track. Don't forget to enable animation with the animate key [image] if you want your scene to use multiple cameras!

Lights
When you first create a scene, there are two default lights in it. They give the scene an overall level of illumination so that you can see what you are doing. You can't move them about or change their properties. In general you should add your own user lights for better results. When you do the default lights are automatically deleted.
You add lights to a scene with the Build->AddLight menu item. This adds a light directly overhead with default properties. Double click on the light to change its color or other attribute, and drag it around the scene to change its position or direction.
Like other kinds of objects, lights are fully animatable, including their color.
There are three kinds of lights that you can use in Anim8or:

Infinite or directional lights cast an even light on all objects in a scene, with all of the rays parallel, like the sun. Close and far things are illuminated with the same level of light.

Local lights emit light that radiates out in all direction from a particular point in the scene, like the bulb in a lamp. Objects between the camera and the light are backlit, while those behind the light are front lit. The further an object is from a local light, the less illumination it receives from that light.

Spotlights are similar to local lights, but they only illuminate objects that lie within a particular cone. Things in the center are fully illuminated, while things near to the edge of the code are gradually lit with less light.
Lights do not appear in the final scene, or rather in any perspective or camera view. If you want an object to appear to emit light, then you must add a light in the same location as the object. You can also toggle the visibility of lights in the other views with the show camera [image] button.

Targets
A target [image] is a dummy point of reference. You use them as points of interest for the camera to follow, or as a parent of a group of objects that you want to move. They are fully animatable, and do not appear in the final scene. You add a target with the Build->AddTarget menu item.

Object Properties Dialog
You can edit various properties of any kind of element by double clicking on it. This brings up a dialog similar to the Object Element Editor shown to the right.

You can animate any value that has a controller button [image] next to it, changing its value throughout a scene. Values with white backgrounds are fixed for the scene. You can edit them directly in this dialog. Values that are grayed out are animated. You edit their values by clicking on the adjacent [image] button.

If you want to animate a fixed value, click on the button to add a controller. Controllers are explained in more detail later in this chapter.

There are several common fields to all element types:
Name | The element's name within this scene. Remember, an object element in a scene is only a reference to the actual object. There can be more than one occurrence of the same actual object in the same scene. If you change the original object in the Object editor then all of the references to it in your scenes will change as well.
Object | The actual element's name. You can select any object in your current project with the drop down dialog.
Location | The location of an object in <x,y,z> coordinates is shown here. This is the location relative to its parent's location and in it's parent's coordinate system. You can animate the location.
Parent | Any element can have another element for its parent. Then when the parent's position changes the element's position will change as well. With a parent, the location is a relative position. To specify a parent for an element, enter the parent's name in this box. To remove an element's parent entirely, clear the box or use the default world parent.
Orientation | This value shows you element's orientation in degrees of pitch, yaw, and roll. Pitch is a rotation around the X-axis, yaw the Y-axis, and roll the Z-axis. The values shown are a relative orientation to one of several coordinate systems. It can be either relative to its parent, to its path or direction of movement, to the orientation of another element's, or it can always facing a particular element. You can animate the relative orientation.
Enable Roll | You can disable an element's roll, keeping it "upright". You normally what to keep your camera upright so by default the camera cannot roll, but everything else can. Enable Roll can be animated.
Visible | You can animate the visibility of elements too so that they appear or disappear during your scene.
Shadows | Shadows add realism to your scenes but are very expensive to compute. You can decide which elements cause shadows and which ones show shadows on them. If you want an element to cast a shadow you must enable it with the casts checkbox. If you want it to show shadows check the receives checkbox.
Editing Properties | The Editing Properties values are useful when editing you scene. You can hide an element by checking the "hide" box. This is useful to allow you to see what's behind something, or to simplify a scene for faster drawing. To show a hidden element, either uncheck the "hide" box, or select the Edit->ShowAll menu item.
 | You can lock an element by checking the "locked" box. This prevents any changes to any of its properties within the scene, such as location or orientation. This does not mean that it cannot move. If it is initially animated, it will stay that way. Locking only prevents you from accidentally changing that animation.
 | Note: This does not mean that the element cannot be changed in any way. For example, if it has a parent, then when the parent's location changes, so will the element's position, since it's definition of location is relative to the parents.

These values are only present for certain kinds of elements:
Scale | An element's size can be animated. However you do not use a dialog to do it. Instead you simply select scaling [image] , enable animation [image] , and change the size.
FOV | You can set and animate the camera's fov or field of view, the angle of the width of the image the camera shows on the screen. This value is in degrees.
Color | You can also animate the color or brightness of a light.

Light Properties Dialog
Lights have some unique settings that you can use. You access these from the Light Editor dialog by double clicking on a light.

You change the color of a light by entering the numeric value directly, or by clicking on the [image] next to the color sample. You can animate its color with the [image] next to the numeric color values.

You can change your light into an infinite, local, or spot light in the Fixed Properties area. To access more advanced settings click on the [image] button.

Advanced Light Properties Dialog
You can set several important lighting properties in the Advanced Light Parameters dialog. For local and spotlights you can set limit the light's range. These lights have a steady brightness out to a certain distance called the inner radius. Beyond that distance the light's strength gradually diminishes until at the outer radius and beyond the light has no effect at all.

Spotlights are basically cones of light projecting from a point. You can set the angle of this cone as well as how sharply it falls off to the edge. Within the inner angle the spotlight has full brightness. Outside that angle the light's illumination gradually weakens until the outer angle where it had no further effect.

Shadow Properties of Light
By default lights do not cast shadows. You enable shadow casting by checking a light's casts shadows checkbox.

Shadows in the real world are not totally dark. Some light is scattered off of nearby objects into these areas. You can illuminate the shadows in Anim8or as well with the percent dark parameter. This only allows diffuse light into shadows so that there are no shiny highlights, which would appear unrealistic.

There are two main kinds of shadows, volume and ray traced. You select which
kind you want you light to cast in this dialog. Ray traced shadows can cast soft
edges. You control how soft the shadow is with the size parameter. For infinite lights this is the angle that the shadow spreads from the edge of an object. For local and spotlights this is the physical size of the light. Objects closer to these
lights will cast softer shadows than those further away.

You can set the minimum and maximum number of samples used to calculate soft shadows in this dialog as well.

The section on Shadows has more information on using shadows.

Shadows
Shadows are a very important part of an image. They can also consume an enormous amount of computer time. It's important that you understand how they work or you may waste a lot of time waiting for your images to render.
Shadows are only visible in rendered images made from the Scene editor. They are only cast from light that you add yourself. And they are only cast by object that you choose. To enable shadows you need to:
  • Use the Scene Editor,
  • Add your own light and enable the casts shadows in the advanced properties dialog,
  • Enable casts shadows and receives shadows on the element of your scene that you want to show shadows, and
  • Render an image or a movie.
            •

    Volume Shadows
    Volume shadows are usually much faster to render than ray traced shadows but they have some limitations. They have hard edges and you cannot use them to cast soft shadows. This tends to make your images look unrealistic.
    A bigger limitation is that you cannot use volume shadows to cast shadows from within an enclosed object such as a jack-o-lantern. While this is not a problem in most scenes it can cause you some unwanted "surprises" if one of your lights moves into an area enclosed by a single object. You can work around this problem by splitting the object into two or more pieces, or by using a ray-traced shadow for the offending light.

    Ray Traced Shadows
    Ray traced shadows are the most versatile. They can also consume a very substantial amount of time to render.
    Ray traced shadows can be either hard or soft. Hard shadows have a very distinct boundary between what is inside the shadow and what is outside. Your shadow form the sun on the ground is an example of a hard shadow.
    Soft shadows don't have a distinct boundary. Instead the amount of light gradually lessens until the shadow reaches its maximum darkness. The shadow cast by a florescent light is an example of a soft shadow. Such shadows are soft because the apparent size of the light casting them is large. As you can see below soft shadows can be much more realistic.

    Soft shadows are costly to computer. Many individual shadow samples are used to make a soft shadow. Anim8or therefore limits soft shadows to anti-aliased images where multiple image samples are used for each pixel. High quality soft shadows often require even more samples than Anim8or uses for anti-aliasing. To limit the total cost of these computations, Anim8or adapts the number of samples to the image as it is being rendered. If there is nothing "interesting" in an area then only a few samples are taken. If a shadow edge is detected, however, more samples are taken to improve the image. You can set the minimum and maximum number of samples used for each light in the Advanced Light Properties dialog.
    In general, you will need to set the number of samples higher for larger sized lights that cast soft shadows. You will also have to increase the number when a light is very close to an object since this will magnify it's shadow's soft part.

    Environment Settings
    You can use the Environment Settings dialog to control several things in your scenes. You can add a background image. It can be either a fixed image or a panorama that moves with the camera pans. You can also add fog effects. You open this with the Settings->Environment command.
    In the background area you can set the background for your scene several ways. By default it is a solid color. You can change the color with the [image] button next to the color sample.

    You can also use a fixed image for the background. To do this select the "image" button and load a background image from a file with the [image] button.

    You can also use an image as a panorama. The image is wrapped around your scene in a big arc. When the camera moves it will pan across the background. The diagram below shows how this works.

    You set the area that your background fills in the Panorama Angle area. You have to be careful not to aim the camera past the edge of the panorama or the background color will show.

    Note: backgrounds only appear in the Camera view.
    You can remove the default ground grid from your scene by un-checking the Ground Grid box.
    Distant fog can add realism to your scenes. It is useful for underwater shots as well as distant outdoor views. You enable for by checking the box at the top of the fog section of the Environment dialog. You can set the color, the distance from the camera at which fog begins to appear, and the distance beyond which it has maximum saturation. You can also limit the maximum effect it has so that things don't disappear entirely in the distance.
    Shadow bias is an advanced technique used to hide ugly rendering artifacts that can appear when shadows are used. These artifacts are caused because the lighting computations assume that your models have smoothly curved surfaces. In reality they are made of flat faces. Shadow computations are based on these flat faces and don't always get along with the lighting computations.
    To overcome this discrepancy, a shadow bias is used to push shadows slightly back away from the viewer. Then everything looks fine.
    You normally shouldn't have to change the shadow bias.

    The Time Track
    At the bottom of the window is the scene's time track. If it isn't visible on the screen, select the Options->TrackWindow menu item:

    on the left is the scene's title. It is the top of a tree description of the elements that make up your scene. If you click on the "open" box [image] you can expand the window to show the objects contained in the scene. You can change height of the expanded track window by dragging the vertical resize bar [image] up or down, and the width of the name field by dragging the horizontal resize bar [image] to the right or left.
    The right part of the track is a time line for the scene. If you click on it, the display will switch to the time you selected. Each tick mark represents one frame. Seconds are marked with full vertical lines. Normally there are 24 frames/second but you can change this to other frame rates with the View->Preferences dialog. The current frame is highlighted in dark gray.
    You can click and drag the mouse it will select a range of frames. Use Shift-Click to select a new frame range while still keeping the same current frame.

    When expanded, the left part of the track shows the objects in your scene. There is a lot of useful information here. You can see what an object's parent is, what properties have been animated, which bones can be rotated, and such. In the view above the highlighted object shark1spot's parent is the world. Its location is animated and it has a child object called cookie. If you see an "open" box [image] by an item then it has more information that you can display by clicking on the box.
    You can select and edit items shown in the name section of the track by clicking and double clicking on them. Mouse buttons have their normal meanings with the right one adding to the selection and the middle one subtracting. Double clicking is how you can edit the numeric value of animated properties like an element scale that does not appear in a dialog.

    Previewing and Saving Images
    You can preview a software rendered image of any view with the Render->RenderImage command. You can set the size and background color used to make the image, and can choose to make it anti-aliased.

    You can also use the Render->    RenderImage command to do this in the Scene Editor.

    The Alpha Channel
    When you render an image, you can isolate the elements in your scene from the background. You can save both the images of your elements and a mask showing where they are. This mask is called an alpha channel. It's really nothing more that a black-and-white image in the shape of your elements. It has a value of 0 where your elements are drawn, and 1 where they aren't Transparent parts and edged in anti-aliased images will have a value in-between representing how much of the pixel your elements "own". You can use the alpha channel to combine images made in Anim8or with other images in a paint program, as you will see below.
    You make an alpha channel by selecting the "Alpha Channel" button in the preview dialog.
    You can also make two very useful images with one rendering by selecting the "Image + Alpha Channel" button. One is an ordinary alpha channel and the other is a special element image that has been pre-multiplied by the alpha channel. It shows your elements normally but is black where your elements are not. Partially transparent parts of your elements are dimmed to the degree that they are transparent. You can then use these two images for a variety of special effects, such as image compositing which is described next.

    Image Compositing
    With image compositing you can insert a computer generated model into an ordinary photograph or movie, or computer generated ones. You first render an "Image + Alpha Channel" image and then use a paint program such as Adobe Photoshop to add Anim8or's output to the photo. The steps in this process are shown below. It's best to enable anti-aliasing to prevent annoying jaggies in the result.
    Step 1: Render an "Image + Alpha Channel" of your model in Anim8or. The result is two images as shown:

            =>
            ,
    Camera view in Anim8or
            Pre-multiplied by Alpha
            Alpha Channel
    Step 2: In a paint program, multiply the photographic image by the alpha channel image. This will mask out a hole in the photo for your model:

            X
            =
    Photograph
            Alpha Channel
            Masked Photograph
    Step 3: Still in the paint program, add the Anim8or image to previous result:

            +
            =
    Masked Photograph
            Pre-multiplied by Alpha
            Final Composite
    It's important to try and match the lighting on your model to that in the photo. Otherwise the computer generated part won't blend in very well. In this example the bobcat is lit by the sun from behind and to the right but the bird has some front lighting as well which makes it look artificial. (You would think it was a real bird otherwise, right?)

    Rendering an .AVI Movie
    To render an .avi movie, display the camera's view on the screen with View->Camera, and then select Render->RenderMovie. Select AVI and any other settings you prefer, and Anim8or will render your movie.

    Alternate Renderers
    If your graphics card supports advanced shaders you may choose to use an alternate OpenGL renderer that uses the graphics accelerator in your computer to make images and movies. This renderer is much faster than the default Scanline renderer but it does not support all of Anim8or's options. Most notably, shadows and advanced user lights are not supported.

    You choose the renderer in the Render->Renderer dialog. If the "OpenGL" entry is not present Anim8or cannot render using your computer's graphics hardware.

    This page was last updated on May 23, 2006


Anim8or Manual, Chapter 8 Animation

8 Animation

You animate the elements of your scene by setting their location, color and size etc. for a few key frames. The computer supplies the remaining values between these keys. You can take more control of how things animate by adding more keys. Besides their basic value some keys have additional properties that you can edit for further control.
A segment is the values for the range of frames between two successive keys. You can change how fast things move between key values by editing the properties of segments.
You can also use a script or expression to animate elements. A script is a simple program that computes the a particular value from the frame number or time in seconds.

Animation with Key Frames
You can animate your elements by simply moving them on the screen. First enable animation by clicking on the animate [image] button. Its background turns green [image] indicating that you are now animating. Change to a new frame by clicking on the frame in the time track. Then select an element and move it to a new location. Anim8or will add key frames for your element's location for these two frames and will smoothly fill in the locations for all of the frames between the keys. When you press the play button [image] your element will now move!
You will also notice that a spline path has been added to the scene. This is the element's path through space. You can add more points at different frames to build complex motion. You can also edit the shape of the splines by clicking on the edit spline [image] button on the toolbar.
Editing objects positions is described in more detail in the chapter on Animation. But there are a few things to note:
  • When the animate button is off [image] any change that you make will apply to the entire scene. If you move the camera, for example, it will be moved the same amount it each frame. When the animate button is on [image] changes that you make will only add or change keys for the current frame. Nearby frames will be smoothly changed to reflect these changes.
  • When you move or rotate an element that is a child of another element, then the change will be relative to its parent. The same is true when you rotate an element that is facing its path of movement. The change is relative.
You can edit individual key's values by double clicking on the key in the time track. See the section Editing Keys later in this chapter for more details.

Animating Figures with Sequences
You can also animate a figure by adding an entire sequence of key positions from a sequence. If you make a sequence that is one cycle of a walk you can then add to a scene several times in succession to make a longer walk. Sequences appear are shown in the track bar by <---->. In the track below there is a 31-frame sequence shown for three joints.

Sequences in a scene are linked to the sequence editor. Any changes that you make to a sequence will automatically appear in your scenes. For this reason you cannot modify keys that are part of a sequence in the scene editor. If you try Anim8or will ask if you want to convert that particular reference to the sequence into individual keys and continue. Converting a sequence here will not alter the original sequence, but the link between the sequence and the scene will be lost so that further editing of the sequence will not change these keys in your scene.

Animating with Expressions
Some things can be tedious to animate an action using keys. For example, if you want a light to blink on for a short time every second you could add two keys for every second in your scene. One would set the light's color to it's normal "on" value and the other would set it to black so that it would appear off. This is not only time consuming but if you make the Scene longer you must add more keys to the light or it would stop blinking before the end. If you decided that the light should be on for a longer time each flash you would need to move half of the keys.

Anim8or supports a the third way to animate elements, expressions, which makes tasks like this very simple. An expression is basically a small computer program written in Anim8or's scripting language. Each time you change frames Anim8or evaluates these programs with the time or frame number updated to their current value. The expressions then choose a value that's appropriate for that time.
This is a sample controller expression:
$color = (0.8, 0.1, 0.1)*(fract(time) < 0.2);

Used for the color of a light it would cause it to blinks red one a second. Chapter 11 Scripts describes the rules for writing your own expressions.

Controllers
Controllers manage key values and expressions for animation in the scene editor. When you move, rotate, or animate any aspect of an object that uses a key, a controller is created that holds that key. Each one manages only one aspect of the scene. For example one might control the location of an object, and another the color of a light. They contain all the keys regarding that value and any related data.
If an aspect of an object is constant for the scene and not animated then it will not have a controller. The one exception is for bones. They always have a controller for each axis in each joint that can bend. This makes it easier for you to find which bones can move when you are posing a figure.

Kinds of Controllers
There are several kinds of controllers. Each uses a different kind of data, or computes in-between values in a different manner, depending on the needs of the property that is animating.
Float
 This is a ordinary number like 10.5 or -150. Like most controllers, in-between values are smoothly interpreted.
Point3
 Point3s return 3 numbers per frame. Each value is smoothly interpreted without regards to the others. You use these for positions and RGB colors.
Orientation
 An orientation controller returns a rotation per frame. They can set the orientation of an object or can be used for a rotational direction. When you edit these values in a dialog you see the PYR (pitch, yaw, roll) equivalent to the orientation.

Orientation is more complex that it may seem. Interpreting angles smoothly will not result in smooth rotation of your models. The order in which pitch, yaw and roll are applied is also important. Anim8or uses PYR because by applying roll last you can set it to 0 and you elements will stay "upright".

It's often easier for you to just ignore the numeric values for orientation. Simply orient things on the screen and leave the rest to the computer.
Boolean
 Boolean controllers return a "yes" or "no" value. You would use one for and object's visibility if you wanted it to suddenly disappear. There is no "maybe" value for a Boolean.

Editing Keys
You edit a key by double clicking on its key indicator [image] in the track, by clicking on the [image] button for its controller in an element's properties dialog, or using the Graph Editor described below.
You can edit a location key's x, y and z values in a key location dialog, and add or delete keys. There are similar dialogs for the other kinds of keys. Entering a frame number lets you move to any frame in your scene, and clicking on the + and - buttons move to the next and previous frames. You can see but not change non-key frame values. The computer supplies them.

The Edit Seg button allows you to edit the segment next to the current frame.
There are three kinds of keys: corner, smooth and step. Smooth matches the direction and speed that the value chnages as it passes through the key. It is what you usually want when you are animating and is the default. orner keys can have different incoming and outgoing speeds and directions. You would use this where a bouncing ball strikes the ground. Step keys are like corner keys but allows the value to change abruptly. You would use this to make a character suddenly change positions.
To use expressions for a controler instead of keys, click the "on" button in the Expression area.

Editing Expressions
You edit a controller expression by first opening it's Key editor dialog and then clicking the [image] button in the expression area. This displays a window in which you can enter and edit the expression.

See Chapter 11 Scripts for more details on writing expressions.

Graph Editor
You can also edit the controller's for a scene's elements with the Graph Editor. It's displayed in a separate window that you open with the Options->GraphEditor command. The left panel shows a selected element's name and the names of its controllers. The right panel shows a graph of the controllers' values.
Click on the name of a controller in the left panel to select it. As usual the left mouse button selects a single value, the right button adds to the current selection, and the middle button deselects. Double clicking on a controler's name will display it's key editor dialog described above.
Once selected you can edit a controller's keys in the right panel graph view. Click on a key and manipulator handles [image] will appear. Click and drag your mouse up or down on the center handle or the lines connecting the handles to adjust a key's value. Click-drag on the end handles to change the rate that a key's value changes. The scene will be updated as you adjust the graph so you can see how much you want to adjust a value.
Handles for step keys [image] are shown in two colors. The incoming value is in yellow and the outgoing value in white.
If the graph is too cluttered to see a particular controller you can hide deselected controller's values by clicking the All button [image] off. You can lock the vertical scale to it's current values with the Lock Scale button [image], and toggle the labels on the horizontal axis between frames and seconds with the Sec button [image].
Orientation controller's may not behave as you'd first expect for several reasons. They wrap at +180 and -180 degrees so the graph can look strange as it crosses from the top to the botton. Also changing one axis's value can affect the other axis' values. Don't worry, that's just how orientations look when show using the familiar pitch, yaw, roll of Euler angles.

Editing Segments
Oops! Segment properties didn't quite make it into this release. These values won't do anything for you ... yet. If I get them working soon I'll make a new release but in the mean time you'll just have to be patient. Sorry!
By default values vary at a consistent rate between keys. But this is not always what you want. How quickly a character reaches full speed when starting to move, or how long it takes to slow down when stopping, are important elements in animation. We normally think of small, lightweight objects as accelerating rapidly to full speed, but large or heavy ones as taking a long time to build up steam. In animation terms something is said to ease out and ease in if it is slow to start and stop.

By editing the segment's properties you can change the speed a value changes in several ways. You can set the number of frames that it takes an object to change speeds, size, color, etc. at the start or end of a segment with the ease in and ease out settings. You can also select the opposite: hard out and hard in where you might want an object to accelerate at the end just before it splats into a wall to increase the visual effect.

This page was last updated on May 24, 2006


Anim8or Manual, Chapter 8 Browser

9 Browser

Coming soon!

This page was last updated on March 13, 2003
 Copyright 2003 R. Steven Glanville


Anim8or Manual, Chapter 10 Materials

10 Materials

Every visible surface has a material. By changing their various properties, you set the look of your figures and objects. Materials provide a richness and detail that adds considerably to the realism of a scene. You can make them shiny, dull, transparent, and opaque. You can texture a surface with an image used as its material's color, or to lighten or darken its basic color. You can also use a texture to control the transparency.
You can't really design the look of a scene with materials alone. Its ultimate appearance also depends heavily on the lighting you choose.

Material Editor
You use the basic material editor is whenever you need to design the color, texture, transparency, and other visual properties of an object's appearance. You open the material editor either by double clicking on a material in the material toolbar, or from a specific object's editor dialog. An example is shown below.

Some of the entries should be fairly obvious to most of you. Others can probably use a bit of explanation, so there's a short description of them in the following table. You can see how each property affects the look of the sample material shown in the ball below. Its parameters are all set to the defaults shown above with just a single value changed for each one. Ambient and diffuse are not locked together. The base colors of the material shown to the right are:
Ambient: R=0, G=92, B=224:

Diffuse: R=0, G=255, B=128:
Specular: R=255, G=255, B=255:

Emissive: R=255, G=0, B=0:

Name | The name of the material. This field can be left as the default "material00", but it is a good idea to give each material a useful name.
Ambient | The ambient component is the color of a material in a shadow. Normally you want it to be the same as the diffuse component. In fact this is so common that there is a button that will lock all ambient and diffuse values together so you don't have update them both to make changes. The number to the left is how much ambient component adds to the final color. The normal range for the ambient weight is from 0.0 to 1.0. The row of materials below have an ambient value ranging from 0 on the left to 1 on the right:
Diffuse | The diffuse component is what you would normally call the “color” of a material. It is combined with the amount and color of light illuminating your model and added to the final color. The normal range for the diffuse weight is from 0.0 to 1.0. These samples vary the diffuse value from 0 to 1:
Specular | The specular component is part of the “shininess” contribution. You normally set this color to white to reflect the light's color. For metallic surfaces you should change the color to something closer to the diffuse color. The normal range for the specular weight is 0.0 to 1.0. These samples vary the specular value from 0 to 1:
Emissive | The emissive component represents light generated by a material. It is not affected by lighting. You use this for things like lava and eyes that glow in the dark. The normal range for the emissive weight is 0.0 to 1.0. The default value is 0.0 to prevent glowing. These samples vary the emissive value from 0 to 1:
Rough | The roughness of the material. A higher value makes the surface look shinier. It is tempered by the value of the Specular component. Values range from 1.0 (not at all shiny) to 100. These samples vary the value from 2 to 64 by multiples of 2, and have the specular weight increased from 0.2 to 0.6 to show the changes better:
Trans* | The transparency of the material. Actually, it's the opaqueness of the material. 1.0 is fully visible, while 0.0 is completely transparent.
Brilliance* | The brilliance factor. This setting changes the appearance of the diffuse component. Normal objects have a value of 1.0. If you increase it by a small amount to 1.5 or 2.0, the material takes on a sort of metallic sheen, or for brighter colors, a deeper, richer appearance. A value less that one flattens the look of the material. Here the value of brilliance changes from 0 to 2.5 in steps of 0.5:
 | The texture button opens the general texture dialog for this material. You may use several textures on a single material, changing the diffuse color, transparency, emissive color, and more. You can also apply a bump map texture. See the Texture Dialog section for more details.
Two Sided | You can select this item, to give the material a different material for it front and back sized. The front and back buttons will show which side's properties are currently showing.
 | This button deletes a material. You will be notified if it is currently in use and given a chance to cancel the delete.
 | These four color patches show the current value for the ambient, diffuse, specular, and emissive colors. The currently active one is outlined and the lower part of the window shows its numeric value. You can change the active color to a different patch by clicking on it.
 | These buttons show you if a particular component uses a texture. If the button has a “T” on it then it uses a texture. If not then it doesn't. You can click on a button to set a particular texture.
*Note: Transparency and some more advanced texture modes may only affects rendered images. Its final effect can only be partially shown in interactive sessions. Some graphics cards can show more than others, depending on which features they support. You should render a test image to see the final look of your models.

A few simple material images and their settings are shown in the table below. Notice the values for Pearl are out of the normal range. The ambient weight is more than 1, the diffuse is negative (which means lights actually darken a surface), and the specular value is way more than 1. Don't be afraid to experiment!

Sample | Material | Ambient | Diffuse | Specular | Rough. | Brill. | R | G | B
 | Copper | 0.3 | 0.7 | 0.6 | 6 | 1.8 | 228 | 123 | 87
 | Rubber | 0.3 | 0.7 | 0.0 | N/A | 1 | 3 | 139 | 251
 | Brass | 0.3 | 0.7 | 0.7 | 8 | 2 | 228 | 187 | 34
 | Glass | 0.3 | 0.7 | 0.7 | 32 | 1 | 199 | 227 | 208
 | Plastic | 0.3 | 0.9 | 0.9 | 32 | 1 | 0 | 19 | 252
 | Pearl | 1.5 | -0.5 | 2.0 | 99 | 1 | 255 | 138 | 138

Texture Selector
The texture selector allows you to load, view, and manage the textures that you use in your animations. You open this dialog from within the material editor with one of the 4 buttons: and [image] . An example is shown below:

You can change the name of the texture in the Name field of the Texture Map area and can view the size of the image Anim8or uses to store it.
You can also invert the image in the texture by checking the Invert Image(s) check box.
The File Image area gives information about the file containing the texture. The Type field can be either RGB for normal images, or RGBA for .gif files with a transparent color. If your texture is type RGBA then you have more flexibility in what you can do with it.

Advanced Textures
You can use textures for more than simple diffuse color maps. For example, you can map the transparency or shininess of a material to a texture. You can also use multiple textures on a material. The most basic textures can be selected directly from the material editor but you need the more advanced Surface Texture Editor for more exotic uses. You invoke this dialog using the [image] button in the material editor dialog:

The example shows a normal diffuse texture named “spots” and a bump map texture named “noise”. The net effect is a bump mapped, spotty material. The following image shows some of the surfaces that you can make with a simple gray color and a single spotted texture:

The top row shows the basic gray color and simple spotted texture used for all the spheres. The first sphere on the middle row simply uses the texture as the diffuse color. The next sphere uses it as the specular map. Notice the faint spots where the surface isn't shiny. The last has an emissive texture. Note that the emissive weight must be set to something other than 0.0.
The bottom row shows the same texture used as a transparency map, and a bump map. In the final sphere as both the diffuse color and bump map. You can often use the same texture in this was to create a bump map. It doesn't always work, especially when there are strong shadows on the image. Here are some more examples where it works:

Environment Map textures are described next.

Environment Maps
An Environment Map texture is a representation of the surrounding world. You use them to simulate shiny materials like chrome, and to show general reflections on an objects like the square shape of a window reflecting on a cue ball. Environment maps are not actual reflections of the rest of a scene. Instead they are intended to give the illusion that they are reflecting the scene.

For example, the image to the left uses an environment map of a view of mountains. The sphere appears to be made of chrome and reflects a view of the mountains and a chrome sphere would. It does not reflect either the checkerboard ground or the nearby 3D letters. These features are not present in the environment map so they aren't visible in the apparent "reflection".
The best way for you to create an environment map material is to use a cube map texture. These textures are composed of six different images that form the sides of a cube. Each one represents the view of the environment around your scene in a different direction. Think of it as if you are inside of a large cube. The six images used in the example above are shown below.

The directions are relative to the an object within the scene when the viewer looking into the front modeling view. So behind (-Z) means behind the object, in the -Z direction.
You add cube map textures by clicking on the [image] button on the Env. Map row of the Surface Textures dialog. This brings up the Texture Selector dialog in Environment Map mode. There you click on the usual Load Texture [image] button but instead of prompting you for a single file you are asked for six files:

There are a few things that you need to know about cube maps:
  • The standard cube map format has the images flipped top-to-bottom. So if you find a set of cube map images that appear upside down don't worry. They will work just fine. However you can use a right side up set as well. Just check the "Invert Image(s)" box in the Texture Selector dialog and they will be flipped for you.
  • Cube map images should be square. Rectangular images will not work properly, particularly in the working views.
  • All six faces should be the same size. If any of the faces are a different size the texture won't draw properly.
  • Cube maps require a lot of memory. Use smaller images if you can get away with it.
  • As with all textures, you will get the best results if your images are a power of two in width and height. So make your maps 256 by 256, 128 by 128, etc. if you can.
Environment Map textures are always added to any the base material color. Thus you would normally set the color of a simple Chrome material to black if you are using an environment map. Of course you can experiment with other settings too, to see what they will make. Here are some other environment map textures:

You can also use a single image as an environment map. In this form the image is used as a latitude-longitude map of the environment. You can often paint a simple image to use for such a map. The one at the right makes a reasonable chrome reflection for an illustration.

Note: longitude-latitude environment maps are not rendered in the working views.

Texture Mode
You can blend textures with the base color of a material in several ways. Textures with an alpha channel are even more versatile. You set the way textures behave in the texture mode dialog, which is reached with the [image] mode button in the material editor.

You use the blend mode to control how the color of the texture changes the base material color. Decal simply replaces the color with the texture. Darken multiplies the value of each color component which tends to darken the image. Lighten adds the two values which can only make the image brighter
If the texture has an alpha channel (such as a transparent .gif has) they you can use it in three different ways by setting the alpha mode. None simply ignores the alpha. Layer uses the alpha channel to blend between the texture's color and the material's color. Final uses the alpha channel as the material's final transparency value.
This is an example of what can be done with one texture and one surface color. The cyan (light blue) color of the texture is the transparent color in a .gif file:

Note: These types of materials will not always look like this in your interactive viewports. Different graphics cards have different capabilities. If you want to be sure what your model will look like it's best to occasionally make a preview image.
Some aspects of a texture mode are only meaningful for certain texture uses. For example bump-maps donut use an alpha channel so the Alpha Mode settings don't have any effect on them.

This page was last updated on January 17, 2005
 Copyright 2005 R. Steven Glanville


Anim8or Manual, Chapter 3 Object Editor

11 Scripts

You can extend Anim8or's basic functionality and automate repeated tasks with scripts written in a programming language built into Anim8or. It is designed to make animation easier with features unique to Anim8or's operation.
There are several places that you can use scripts and they are all written in the same basic way. However certain aspects are only allowed for specific kinds of scripts. For example you can't refer to a Figure in the Object Editor, and the time() function is not meaningful outside of a Scene.
Scripts may be used in the following places:
  • Object text file export plug-ins,
  • Parameteric Shape plug-ins,
  • General Object construction, editing and rendering in the Object editor,
  • Controller expressions in a Scene.
There are many more useful places for scripts that will be added in future releases.
This chapter provides an overview of scripts and the basics of using them in Anim8or. A more detailed language definition is provided in the Anim8or Scripting Language Manual.

Creating a Script
A script is a text file that has either a .txt or .a8s extension. You may use any text editor to create and modify them, or you may create the within Anim8or. Normally a script will have a .txt extension. If it has a .a8s extension and you place it in the "Scripts" directory set in the File->Configure dialog Anim8or will attempt to preload it when it begins execution. If the script is appropriately defined it will become a plug-in. Alternately it can be added as a command in the appropriate Scripts menu for easy execution when you are modeling or animating.

The Script Directory
You may configure Anim8or to preload scripts from a directory called the scripts directory when it begins execution. This is where you put any plug-ins that you want to use and common modeling scripts. You set the directory in the File->Configuration dialog and need to make sure that the Preload Scripts box is checked.

When preload is enabled Anim8or will read any files in this directory that have the extension .a8s and parse them as scripts. If a file has no errors it will be added to the Anim8or interface. Parametric shape plug-ins will go in the left hand toolbar. Object export scripts will be added as additional choices in the Object->Export dialog and Object command scripts will be added to the Scripts menu. All other files with the .a8s extension will be parsed for correctness but not saved in the computer's memory. You can run them with the Scripts->Run_Script_File command at any time.

Installing a Script
All you need to do to install a script is to copy it into the scripts directory that you have chosen. Anim8or will load is when it starts running. It will also list the scripts read in the command window and any errors that it finds.
You may also store other scripts in this directory for convenient access but not have them preloaded by changing the file extension to .txt. You can edit and run then from with in Anim8or with the Scripts->Edit_Script_File and Scripts->Run_Script_File commands. You can also load modeling scripts with the Scripts->Load_Script_File command. It's not possible to load additional plug-ins while Anim8or is running.

Plug-in Scripts
Plug-in scripts work exactly like commands that are built into Anim8or. The only difference is that they are written in the Anim8or scripting language and can be added or removed as you wish.
A plug-in script must be written to perform a specific task. Early in the script it will have a directive declaring what kind of plug-in it is and other related details. This is how Anim8or knows where to "plug it in". Additionally each kind has specific rules that it must follow or it would not work correctly.
It's important to understand that when you save a .an8 project that uses a parametric shape plug-in you will need to have that plug-in installed when to properly view your model at a later time. You can load and edit a project with a missing shape plug-in but you won't be able to see or alter those shapes during that session. This is not the case for modeling or export plug-ins. Once you run of these they will make a change to your project or write an output file just like you used other similar commands.

Running a Modeling Script
A modeling script is simply a script that is not a plug-in. They contain commands like you would use to build a model or make a material. When you run a modeling script it will change your project it some way and exit so that you can continue working. Normally this will happen very fast but it is possible to write a script that will take a long time to complete. Once you've become familiar with a particular script you will know what to expect from it.
You run modeling scripts from the Scripts menu. Those with .an8 extensions from the scripts directory will be listed in the menu. You can run other from anywhere on your computer with the Scripts->Run_Script_File command.

Using Controller Scripts
You can also use scripts instead of key-frame splines in controllers. To change a particular controller to use them select the "On" button in the Expression area in the key frame dialog. Anim8or will supply a very simple script to set the value of the controller, normally to 0. You may edit the script with the Edit button.

Script Errors
If Anim8or detects an error while running a script it will print a message to the command window. If you are able to write scripts this may help you find and fix the problem. If you are running a plug-in then you should contact the author for a fix.

Writing Scripts
Script writing is simply writing a program in the Anim8or script language. You can learn to write simple scripts fairly easily, particularly controller expressions. Complex scripts can require advanced programming skills. This manual does not explain how to write scripts. However if you know how to program in C or Java you should have no problem writing scripts.
A simple summary of the major aspects of Anim8or's scripting language is described in the following sections. The full syntax for scripts is described in "The Anim8or Scripting Language".

Data Types
There are quite a few predefined types in scripts. You will recognize some of them but many are specific to Anim8or. Some common types are:
int       - 32 bit signed integer
float     - single precision floating point number
point3    - a vector of 3 floats
object    - an Object
figure    - a Figure
material  - a Material
shape     - a component of an Object such as a Mesh or Sphere

Variables
Scripts use typed variables. You must declare a variable and give it a type before you can use it. Built-in variables and functions use normal C rules for their names. That is they must begin with a letter or an underscore "_" which can be followed by letters, underscores and digits. Examples are:
scale     cos     AddPoint    face2     FIRST_KEY_FRAME     _exit
User variables begin with a $ character followed by a C name:
$counter     $NewIndex     $face2    $_first_selected_index
Variable declares are like those in C. Variables can single valus or arrays. You cannot initialize a variable in a definition however.
float $size, $width;
int $i, $counter;
shape $mySHape;
int $index[10];   /* An array that initially has 10 integers. */
Arrays are much more flexible than those found in most languages. You can change the number of elements they hold in a running script, add and delete elements, and do other operations. There is more about arrays later on in this chapter and in the reference manual.

Expressions
There are quite a few predefined types in scripts. You will recognize some of them but many are specific to Anim8or. Some common types are:
int       - 32 bit signed integer
float     - single precision floating point number
point3    - a vector of 3 floats
object    - an Object
figure    - a Figure
material  - a Material
shape     - a component of an Object such as a Mesh or Sphere

Statements
Scripts support several kinds of run time statements. Many are similar to C but not all. Statements can be nested to any depth. There are no user defined functions or goto.
The basic statement is an assignment. It is like C's except you cannot cascade multiple assignments in the same statement. The value of the expression is computer and saved in the variable at the left:
<variable> = <expression>;
Compound statements group several statements together into a single statement. When encountered each statement within a compound statement is executed in order. They are useful when you need to use more than one statement as part of a structured statement.
{
    <statement>
    <statement>
    ...
    <statement>
}
An if statement allows you to conditionally execute one or more commands. There are two forms one with and else and one without it. The expression is first evaluated. If it is not equal to zero then the <then-statement> is executed. If there is an <else-statement> it is skipped. If the value of the expression is zero then the <else-statement> is executed if one is present. The full statement is:
if ( <expression> )
    <then-statement>
else
    <else-statement>
and the form without an <else-statement> is:
if ( <expression> )
    <then-statement>
A while statement repeatedly evaluates an expression and executes a statement until the value of the expression is zero:
while ( <expression> )
    <statement>
A for statement executes it's sub-statement multiple times. For statements are not like those in C. In a script the incriment and limit used with the control variable are computed prior to executing the sub-statement and saved. These values are used each time the body of the for statement has been executed to update the control variable and to test to see if the loop should be executed again. The syntax of a for statement is different from C to help remind you that it does not follow C's rules. There are two forms. The one without the <step-expr> uses a step value of 1:
for <variable> = <init-expr> to <limit-expr> step <step-expr> do
    <statement>
for <variable> = <init-expr> to <limit-expr> do
    <statement>
The <variable> must be declared prior to the for statement and must be an int or a float. Initially the <init-expr> is evaluated and assigned to the <variable>. Then the <limit-expr> and <step-expr> are evaluated. If there is no <step-expr> a value of 1 is used. The value of <init-expr> is compared with that of <limit-expr>. If it is greater and the value of <step-expr> is greater than zero, or if it is less than and the value of <step-expr> is negative, or if the value of <step-expr> is zero then the execution of the for statement is complete. Otherwise the <statement> is executed, the saved value of <step-expr> is added to <variable> and they are tested in the same manner to see if the <statement> should be executed again.

This page was last updated on May 30, 2006


Anim8or Manual, Chapter 3 Object Editor

A. Keyboard Shortcuts

There are numerous keyboard shoutcuts that you can use to facillitate your modeling. They do not add new functionality. For every shortcut there is an equivalent toolbar button or menu command that you may use instead.
Commands that are available in more that one editing mode use the same shortcut. The control-style and most lower case shortcuts fall into this category. Some shortcuts perform different command in each editor. These are generally the uppercase ones.
You can also use shortcuts for most menu commands. The name of each shortcut is shown in the menu to the right of the command name.

Viewpoint Shortcuts
You can use the numeric keypad to switch the working view to any of the standard viewpoints.
7
Back view
 8 Top view
         9 Ortho view
4
Left view
 5 Front view 6 Right view
1 Camera view 2 Bottom view 3 Perspective view
0 Previous view

. Toggle 1/4 views

Top Toolbar Shortcuts
These shortcuts are for the top toolbar:

^Z ^Y ^X ^W ^F ^S ^M ^R ^G ^L
Undo Redo Cut Wire
Frame
         Flat
Shaded
         Smooth
Shaded
         Material
Toolbal
         Arc
Rotate
         Grid
Snap
         List
Items

Object Editor Toolbar Shortcuts

A Edit mode
         V Viewpoint mode

O Axis mode P Point edit mode

x | X Axis | y | Y Axis | z | Z Axis
w | World coordinates | o | Object coordinates | k | Screen coordinates

a | Select | d | Drag select
m | Move | r | Rotate
n | Non-uniform scale | s | Scale
l | Line | p | Path
v | UV editor |  |

S | Sphere | C | Cube
Y | Cylinder | M | Primitive mesh
G | N-gon | T | Text
W | Warp modifier |  |

Point Editor Toolbar Shortcuts

A Edit mode
         V Viewpoint mode

O Axis mode P Point edit mode

x | X Axis | y | Y Axis | z | Z Axis
w | World coordinates | o | Object coordinates | k | Screen coordinates
p | Point | e | Edge | g | Face
[ Front
         ] Back

a | Select | d | Drag select
m | Move | r | Rotate
n | Non-uniform scale | s | Scale
 | Add edge | v | UV editor

X | Extrude faces | Y | Extrude faces connected
R | Rotate faces | K | Scale faces
P | Peak faces | b | Bevel
I | Inset | u | Shell
B | Bump | C | Cut faces
S | Slide | E | Extrude edges

Figure Editor Toolbar Shortcuts

A Edit mode
         V Viewpoint mode

x | X Axis | y | Y Axis | z | Z Axis
w | World coordinates | o | Object coordinates | k | Screen coordinates

a | Select | d | Drag select
m | Move | r | Rotate
s | Scale |  |

R | Rotate bone | L | Bone length
N | New bone | S | Skin object

X | Show axis | B | Show bones
O | Show objects |  |

Sequence Editor Toolbar Shortcuts

A Edit mode
         V Viewpoint mode

x | X Axis | y | Y Axis | z | Z Axis
w | World coordinates | o | Object coordinates | k | Screen coordinates

a | Select | R | Rotate bone
I | Inverse kinemetics |  |

Ret Play
         Space Pause/ continue
         Escape Stop

X | Show axis | B | Show bones
O | Show objects | G | Show ghosts
K | Animate |  |

Scene Editor Toolbar Shortcuts

A Edit mode
         V Viewpoint mode

x | X Axis | y | Y Axis | z | Z Axis
w | World coordinates | o | Object coordinates | k | Screen coordinates

a | Select | d | Drag select
m | Move | r | Rotate
s | Scale | p | Edit path
R | Rotate bone |  |

Ret Play
         Space Pause/ continue
         Escape Stop

X | Show axis | O | Show objects
C | Show camera | P | Show path
K | Animate |  |

This page was last updated on Januaryr 17, 2005
 Copyright 2005 R. Steven Glanville