Anim8or Scripts

Scripting Language Specification

As of v0.95 Anim8or supports a scripting language currently called ASL for "Anim8or Scripting Language". ASL allows more flexible controllers, scripted object modeling, and notably plugins. You can add new formats for file export and define new parametric shapes with ASL scripts.

The basics of using scripts is described in the Manual. If you want to write scripts, the specification for ASL is here:

http://www.anim8or.com/scripts/spec/index.html

There is also a forum for script discussions. If you find any problems with the spec or in Anim8or when running scripts please let me know. If you have questions about how to write or use scripts, please post them in the Anim8or Scripts forum.

Note: This is an updated spec with new functions introduced by the v0.97b preview on June 1, 2008.

Installing Plug-Ins

To install an Anim8or plugin script:

  • Define the Scripts directory in the File→Configuration dialog,
  • Check the "Preload Scripts" box, and
  • Copy the script into the Scripts directory. Make sure it has the file extension .a8s or it won't install.

Parameteric Shape Plug-Ins

This plug-in makes a spring. You can scale the size, and the number of cycles and thickness of the wire with the non-uniform scaling tool. Other properties you can set in the shape's dialog include the number of sides used in the polygon and the spread between turns.

This example shows how to define a new button for parameteric shape plug-ins in the left toolbar.

You can make a nice looking chrome spring if you convert one into a Subdivision shape and apply an environment map

Object Export Plug-Ins

.obj

This plug-in exports an Object to the .obj format. It behaves very much like the one built in to Anim8or except that it also creates a .mtl file.

.c

This plug-in exports the same C language data structures that the built in exporter does. You can easily modify it for your own uses.

Other Sample Scripts

Here are some random script examples for you to examine and experiment with. They are sort of a mish-mash of things that the scripting language can do but I thought you might find them interesting until I finish the language spec and write some better ones. They are not plug-ins. However if you store them in the Scripts directory they will be easily accessible from the Scripts menu for you to run and edit.

Note: if you give them the ".a8s" extension and store them in the Scripts directory Anim8or will parse them when it starts running. They won't be installed as plug-ins but yo will be able to see if they contain any errors by examining the command window output.

array_2.a8s

This script adds Spheres of various sizes and locations.

material_1.a8s

This script defines some new materials. You have to open the Material toolbar in order to see what it does.

for_3.a8s

Here's an example of how to render form a script. You can't save the results. They just flash by and disappear. Don't worry, saving images is coming.

cube.txt

Define some Cubes and edit their parameters with this one.

cylinder_2.txt

Do the same for some Cylinders but also convert one into a Mesh and another into a Subdivision Mesh.

mesh_1.txt

Build a Mesh point by point, and face by face

sphere.txt

Adds a couple of Spheres, refreshes the screen, changes the view, and renders an image.

Scripts from Users

Here are some scripts from users:

Here's a web site with a lot of useful plug-in scripts from various authors. You can check them out yourself here:
http://homepage.ntlworld.com/w.watson3/main/parameteric.html

Tyson Collins made several useful scripts plus a program to make icons for plug-in buttons. His web site is http://tysonc.net/plugins/ so check it for updates. I've mirrored his scripts here as well.

plugicon.zip

A program to make script icons.

export_gm6_plugin.a8s

This popular script exports models to Game Maker 6 format. Don't forget to copy it to your "scripts" directory to use it (like you have to do for all plug-in scripts).

export_cmod_plugin.a8s

Here's an export plug-in script that writes the cmod files for use with Celestia, a 3D astronomical visulation program. Written by selden. Here's a screen capture of Celestia with a model exported from Anim8or.

cone_plugin.a8s

Here's a cone parameteric shape.

torus_plugin.a8s

Here's a torus (also called a donut by all you Homer Simpons fans out there).

plane_plugin.a8s

Here is a simple horizontal plane. If you want to study a simple plug-in script this is a good one to look at.

sphereinder.zip

llyr made a parameteric shape script called sphereinder based on an idea by Syzpih that can make a wide variety of shapes. Click here for some of the shapes it can build.

K_Hair.a8s

Kevaniz made this parameteric shape script to help make hair. You'll also need to put this texture: K_Hair_Texture.gif into your texture directory. Here's a link to both of these files zipped together with a tutorial video on how to use it (Right-click on the link and choose "Save Target As" to get the file):
http://www.freewebs.com/kevinaz/K%5FHair.zip

teapot.a8s

Kubajzz wrote this parameteric shape script that models the iconic Utah Teapot. A real classic for computer graphics history enthusiasts!

diamond.zip

Another great parameteric shape script by Kubajzz models 7 different cuts of diamonds. Render them using Anim8or's ART ray tracer for a realistic gem of an image! (Don't forget to read the ReadMe file and the Explaination.jpg to get the most out of these little jewels.)

snailshell.a8s

Here's a great parameteric shape scripts for making sea shells and snails. Courtesy of NickE.

spline.txt

chain_maker.txt

chain_maker.a8s

The v0.97b preview has some new functions that evaluate positions along a spline. You can use them make shapes that follow a spline like the one shown at the right.

NickE has modified the spline.txt script to make chains. There are two versions:

chain_make.txt is a command script. To use it you define a spline and select it. Then you run the script with the Scripts→RunScript command.

chain_maker.an8 is a parameteric parameter script. Make a spline and name it "chainpath". Then click the chain icon in the left hand toolbar and click in the modeling window. (The .a8s file needs to be in your scripts directory.) Parameteric scripts aren't really supposed to work this way so you need to be careful and not rename the spline.