Anim8or Community

Please login or register.

Login with username, password and session length
Advanced search  


Ian Ross has just released a book on Anim8or. It's perect for a beginner and a good reference for experienced users. It contains detailed chapters on every aspect, with many examples. Get your own copy here: "Anim8or Tutorial Book"

Show Posts

This section allows you to view all posts made by this member. Note that you can only see posts made in areas you currently have access to.

Topics - NickE

Pages: 1 [2]
ASL Scripts / Attribute Type in Object Type
« on: July 21, 2008, 06:25:07 pm »
With the 0.97b preview, you added the Attribute type to the Object Type.  What do you have planned for the Attribute type?  I have been using it in my scripts as a user input ability for command scripts, but I am hesitant to continue this practice if you have something else in mind.

If the attributes for objects is destined to become a user input ability, then would it be possible to add a "SetAttribute" method?  That way a script could preload the attributes and not require manual input, where typos are all too probable.

Are you also planning to add the Attribute type to Materials too? 

ASL Scripts / Anim8ing a Tank Tread
« on: July 13, 2008, 09:57:12 pm »
I have posted a tutorial on how to animate tank treads using morph targets.  The concepts and scripts used can be applied to other projects as well.

The tutorial can be found at:

Please let me know your feedback.

ASL Scripts / Object Script that Generates Scene Controller Scripts
« on: July 10, 2008, 04:39:11 pm »
In response to a request from Kreator:

This script outputs to the console two controller scripts - one for position and the other for orientation - generated from reading the position and orientation components of a path.
This script requires Anim8or 0.97b or later.
The generated controller scripts must be cut and pasted from the console window (debug window) into the "Expression" areas of the controller of the scene element you wish to control.  NOTE:  this is necessary because Anim8or 0.97b broke the file export abilities.  Normally one would export these generated scripts to a text file, but the console is the only output currently available.  It is recommended that the properties of the console window be altered to allow more lines to be buffered.  Do do this:
1) Right-click on the title bar of the "Anim8or Debug Output" window, select "Properties"
2) On the "Layout" tab, increase the "Screen Buffer Size" to some large value (like 1000)
The number of frames that it should take to traverse the path must be placed into an integer attribute called "framesperpath" created in the object that contains the path.  If you want the path repeated continuously during the entire length of the the scene, an integer attribute called "repeat" must be created and set to 1 (set to 0 for no repeating).
Detailed instructions on usage:
1) Draw the path in a new object that you want followed
2) Go to Object->Attributes...
3) Select "New"
4) Type the name "framesperpath"
5) Select "Int" type
6) Type the number of frames for the path traversal
7) Select "New" again
8) Type the name "repeat"
9) Select "Int" type
10) Type either "1" for repeat or "0" for no repeat
11) Be sure the path is selected
12) Scripts->Run Scripts->path_to_controller.txt

The two scripts will be shown in the console window ready to be cut-and-pasted into the controller expression areas of the element you wish to follow the path.

Please let me know your feedback.

ASL Scripts / ASL's Future?
« on: June 26, 2008, 10:57:43 am »
Steve and us other grateful Anim8or users:

In my opinion, ASL promises to be the next great leap forward in functionality and usability for Anim8or.  I know I am (and I assume everyone else is) eager for the next updates in ASL.

I know I have been abusing the parametric scripting abilities by referencing other shapes within an object.  I did this in full knowledge that this was bad practice (and why I always do the command script version first).  Parametric versions of these scripts are desirable for one main reason: the ability to use the GUI to enter parameters and immediately see the results.  To me, this highlights the need for GUI interaction like dialog and message boxes with non-parametric scripts.

I was thinking this topic might be good place for everyone to post their wish list for ASL.  I am going to list my wish list in order of preference:

1) Object editor:  Dialog boxes for input
2) Object editor:  Ability to create and/or access other objects (including morph targets).  This would give the ability to simulate physics (cloth movement, fluid dynamics, endless other math based morphing) by creating a series of morph targets.
3) User defined functions and calling other scripts from current scripts passing variables
4) Object editor:  Message boxes (although being able to write to console in version 0.97b is awesome!)
5) ASL for scene mode, then sequence mode, then figure mode.

If you would be so kind, Steve, could you please give an update on the status of ASL?

ASL Scripts / Script: Copy "Source" mesh to "Target" mesh
« on: June 25, 2008, 01:35:42 pm »
Attached below are parametric and non-parametric versions of a script that maps copies a "source" mesh to a "target" mesh's points.  It is similar in capability to the Mongoose's awesome GrassGen application.

The parametric and command versions of the script are different in the following ways:
1)  The command version creates a separate mesh for each copy, while the parametric version is all one shape.
2)  The command version has one more parameter because parametric scripts are apparently limited to 10 parameters.

To use, you must have an object that contains a mesh named "source" and another mesh named "target".  If you are using the command (non-parametric) version, you must edit the script to adjust the parameters, then Scripts->Run Script File.  If you are using the parametric version, just click on the "Mesh Source to Target" icon, then click (or click-drag).

The parameters that can be changed are:

1) The fraction of target mesh points to use: 0 to 1
   Anything less than 1 uses a random distribution of points
2) Min and Max Copies per mesh point: 0 to 100
   In the parametric version, there is only the max parameter.  If max is greater than 1, it will produce a random number from 1 to max for each target mesh point.  In the command version, you can set the minimum.
3) Min and Max Scale: 0 to 100.
   If the min and max are not equal, it will produce a random distribution of scales between min and max.
4) Fixed rotation x,y,z:
   Rotates the copies a fixed amount
5) Variable rotation x,y,z
   This will produce a random rotation plus or minus half the amount entered added to the fixed rotation amount in (4).

The lowest y-point on the copy of "source" will correspond to the "target" mesh point.

Open up the scripts in a text editor to see further documentation.

If you are creating many copies, it may appear to be locked up.  The Debug Output console shows some stats during execution as well as dots showing progress.  You can look here to see if it is locked up or just bogged down with zillions of points and faces.

*** Remember to convert the parametric shape to a mesh before using it in any other objects, in figures, or scenes.  It is totally dependent on the original "source" and "target" objects while it remains a parametric shape.  As Steve stated: parametric scripts were never intended to work this way. ***

Attached are examples of the script in use.

Please let me know your feedback.

ASL Scripts / ASL Parametric Script Questions
« on: June 12, 2008, 03:58:13 pm »
In writing the chain_maker parametric plugin, I ran across a couple of issues. I wonder if they can be addressed though some sort of work-around.

Issue 1:  I wanted to write the script such that it followed the selected path like in Steve's "spline.txt", but I discovered that the only way I could "activate" the script after the icon was pressed was to click in the editor window.  Clicking (or actually running the script - I cannot tell which) effectively de-selects the previous selected shape and automatically selects the shape created by the script.

Issue 2:  When a parametric plug-in script is run by clicking the icon, then clicking (or click-dragging) in the editor window, the parametric shape is created at the editor click coordinates and the origin is assigned at the new shape's "centroid".

Question 1:  Is there some way to store what was previously selected?  I've tried numerous things, but outside of having a separate non-parametric non-plugin script write it somewhere (like a material name or some attribute, etc.), then reading it with the actual parametric plugin script, nothing works.

Question 2:  Are the coordinates of the initial click in the editor window (after selecting the script's icon) stored someplace accessible?  I cannot find it in the documentation.  The availability of these coordinates has multiple applications.

Steve:  I love the scripting abilities of Anim8or!  If there is anything I can do to help with development of the ASL for all of Anim8or, please let me know.  I have been a programmer for a long time in multiple languages, and have written similar scripting languages for other applications.

ASL Scripts / Script to Generate Snail Shells
« on: June 11, 2008, 06:56:57 pm »
Back when I was going to enter the "Need for Speed" competition over on Animanon, I adapted Steve's spring script to produce pretty realistic snail shells.  Unfortunately, I ran out of time for the competition.  Here is a short clip starring a shell.[/youtube]]http://www.

Attached is the script, a sample render of two types of shells, and the parameters needed to reproduce those shells.  To produce the renders, I converted the parametric shape to a mesh, deleted the cap face, used the shell function to add thickness, and textured.

Pages: 1 [2]