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.

Messages - 2020 Hindsight

Pages: [1] 2 3 ... 6
Finished Works and Works in Progress / Re: sketch-based modeling and Anim8or
« on: September 22, 2022, 04:05:21 pm »
Can you use Monster Mash to convert text in to a party balloon like title sequence?

Finished Works and Works in Progress / Re: sketch-based modeling and Anim8or
« on: September 22, 2022, 03:46:53 pm »
Clever! But I think you should be threatening that firedrake with a toasting fork loaded with a crumpet!

All joking apart, great results!

General Anim8or Forum / Re: Boolean modifier like in blender
« on: March 10, 2022, 07:35:23 pm »
There is a script for boolean operations.

I have used it to create a roller by subtracting one cylinder from another. My first attempts at using the script didn't work because I had both cylinders the same length, and the script gave odd results in the situation where the ends of both cylinders were on the same plane. When I made the cylinder being subtracted longer than the cylinder being punched, it worked as expected.

Here are the scripts:,2507.0.html

I commented on it in this thread:,6146.msg45354.html#msg45354

Here is a picture of what happened before making the cylinders different lengths.

Hi jbskaggs,

For the next couple of weeks I'm not going to get chance to look at the game engines. For one thing I need to find a replacement car in the next two weeks - the corroded sub-frame isn't economically repairable. So first thing I need to do is decide what type of car I want next. And I suppose I should buy some Christmas presents for the relatives too.

But at least I have installed a new 1TB SSD in my laptop today, so I actually have space to install new packages for the first time in months!

I've never played with a game engine. But back in the 80's I wanted to becoming a games programmer. Would Joust be easy to write using one of these game engines?

I have done some programming in Python, so possibly Godot would be an easy route? I'll have to have a look and see how steep the learning curve is.


BTW this is Andy Weir very breifly talking about Lua (time: 1:05:41)- sounds like he has just used it for board games, not for the orbit calculation:

I look forward to seeing your 3D graphics.

I see you have programmed in Lua. I was ignorant of that language until I was listened to an interview with Andrew Weir talking about his book Hail Mary (highly recommended). He is a big fan of it, and I think he said he used it when calculating the orbit for the Martian. I take it that Lua is used a lot by games developers.

Hi JB,

Just had a play on the HTML5 version. Very cute, and love the choice of background music. I feel that you could drop some actions by the user to make it more intuitive to pick up - or perhaps the player can do more than I realise. E.g. after placing a rabbit - you have to press the play button for the action to begin, why not have the action start as soon as you place the rabbit? It actually took me a while to figure out how to start the game - after selecting easy/normal/hard, you could launch straight into the game.
I didn't seem to be able to move the rabbits once placed.

I go a "You have completed all levels" message even though all rabbits were dead but I had +11 hearts (which I guess means lives). Since that game, I notice that if the rabbit icon turns red while a game is in progress you can place another rabbit on the field - perhaps I could have place more rabbits.

I take it you have only defined the first level, I completed the first level, but can only select "1" on the "TV". I presume the locks at some point unlock other things you can place.

I think there is a bug. After completing a level and getting the "You have completed all levels" message. If I start a new game, the first round, the rabbit icon stays gray, and the only action you seem to be able to take is "play" which lets the marbles go round the track and decrement the lives counter. Then the next round the rabbit icon turns red, allowing you to place a rabbit.

Still not figured out what the "200" on the rabbit icon is about. And not had opportunity to try the rocket carrot icon.

Have you used Anim8or for any of the graphics?

I've not tried PlayOnLinux. But have run Anim8or on Linux Mint using wine. Looking at the desktop icon I created for it, it launches Anim8or using this command:
sh -c "cd /home/john/Downloads/3D\ CAD/Anim8or1402; wine ./Anim8or_1402.exe"

i.e. it changes directory to where I installed anim8or, and then launches anim8or using Wine.

The icon on the desktop is created by a text file called "Anim8or.desktop", which contains the following text:
[Desktop Entry]
Comment=Run Anim8or using Wine
Exec=sh -c "cd /home/john/Downloads/3D\ CAD/Anim8or1402; wine ./Anim8or_1402.exe"

ASL Scripts / Re: Animated Textures Using Controller Scripts
« on: October 07, 2021, 11:24:20 am »
Tiger carasel

General Anim8or Forum / Re: "Simplifying" A Model
« on: October 02, 2021, 12:53:19 pm »
In Anim8or you can export your model to an .stl file. (I guess that is how you are printing anyway.)

.stl files describe the shape as a mesh of triangles. Just give Meshmixer your .stl file.

ASL Scripts / Re: Animated Textures Using Controller Scripts
« on: October 01, 2021, 05:58:10 pm »
I suppose I can try uploading the two new files without putting them in a zip file.
Basically the 7z file Raxx uploaded is the directory structure I was using. The flame texture files can be found in that archive.

I have attached my example project:
"Example 1 - Two flames.a8"

And my simplified animated texture script template:

General Anim8or Forum / Re: "Simplifying" A Model
« on: October 01, 2021, 03:10:09 pm »
Meshmixer allows you to do this:

ASL Scripts / Re: Animated Textures Using Controller Scripts
« on: October 01, 2021, 01:17:09 pm »

How the values in the script were derived:

In the directory:
C:\Simple Animated Textures\Sprites\fire
There are a number of texture files, each with a number suffix.
The first one is called: fire1_0055.png
The last one is called: fire1_0106.png

Previously you will have done the following:
In Object view, a mesh was created, double clicking on a mesh face will bring up the "Mesh Editor" dialogue. On the "Material" drop down box, select new and click the "..." button next to it to bring up the "Material Editor" dialogue. Press the "." button next to "Ambient" brings up the Texture dialogue box, and you can create a new texture by clicking the "Load Texture" button. Select a texture file from the sequence, e.g. "fire1_0055.png". At this point the "Name:" field will say "fire1_0055", change this to "fire1", this is the name of the texture that the script will use to identify the texture!

So back to the script file:

Identify the texture to animate by giving its name in quotes in the following line:
$t = project.LookupTexture("fire1");

Tell the script where to find the texture files. On our machine they are in the directory: C:\Simple Animated Textures\Sprites\fire
So put that full path in quotes on the following line (note that you have to swap the '\' characters to '/' otherwise you will get an error. You also add one at the end.)
$texPath = "C:/Simple Animated Textures/Sprites/fire/";

Our texture files all start with a name, and end with a number followed by the file extension. e.g. "fire1_0055.png"
Tell the script what the first part of the file name is with the following line:
$texPrefix = "fire1_";

Next tell the script how many digits there are in the file name. In our case "0055" is four digits.
$texDigits = 4;

Then tell the script what file extension our texture files have.
$texType = "png";

Next we tell the script the number of the first file in the texture sequence. In our case this is file "fire1_0055.png", so this is 55:
$texStartingFrame = 55;

Then we tell the script the number of the last file in the texture sequence. In our case this is file "fire1_0106.png", so this is 106:
$texEndingFrame = 106;

And that is all you have to change!

There is one more variable you can change if you want. This is at the top of the file, and normally is just set to 0:
$firstFrameNum = 0;
But if you want two flames burning, and not have both animations in step, you can define a second flame texture, and the script for the second flame will be identical except for the value of this variable. In the second texture script you could set:
$firstFrameNum = 20;
This defines which animation frame corresponds to the first texture file.

ASL Scripts / Re: Animated Textures Using Controller Scripts
« on: October 01, 2021, 12:24:46 pm »
I still cannot post the zip file! I also tried posting it as a 7z file. That failed too!
I also tried posting with notification turned off, etc.

Here is the contents of "sprite_controller.txt" which is what makes it work. This example uses the texture files from Raxx's original post:

texture $t;
string $texPrefix, $texType, $texPath, $texFileName;
int $i, $k, $texStartingFrame, $texEndingFrame, $texDigits;
int $texFrame, $numFrames;
int $firstFrameNum; // This is an animation frame number to correspond to $texStartingFrame image. E.g, two torches can burn out of sync by setting $firstFrameNum to different frames.
$firstFrameNum = 0;

// What's the name of the texture? This is NOT the file name, it's the Name field in the Texture Map panel in the Texture Selector dialog box of the material editor.
$t = project.LookupTexture("fire1");

// Texture File Path - Must be the exact location, does not look through subfolders
// Leave blank only if the files are located in the textures path in File->Configure (not in a subfolder!)
// Absolute Path Example: "D:/MyProject/Sprites/"
// Local Path (of .an8 file) Example: "./Sprites/"  Note that rendering movies doesn't work with relative paths - just use absolute paths.
$texPath = "C:/3D CAD/Anim8orScripts/Simple Animated Textures/Sprites/fire/";

// Texture Prefix - Enter the name (without numbers) of the image sequence's file name, right up until the numbering.
// For example, "filename_00001.png" has the prefix, "filename_"
$texPrefix = "fire1_";

// Number of digits in the texture name
// For example, if it's filename_00001, the value would be 5
$texDigits = 4;

// Texture File Type - "png", "bmp", "gif", or "jpg"
$texType = "png";

// What's the starting number?
// For example, if the texture is named "filename_00001.png", the value is 1
// For this and the ending number, configure any additional textures you added earlier as well
$texStartingFrame = 55;

// What's the ending number?
$texEndingFrame = 106;

// /////////////////////////////////
// /////////////////////////////////

// Determine number of frames
$numFrames = $texEndingFrame - $texStartingFrame + 1;

// Note: frame is a built in variable, as is time
// Mod results in frames looping over the available texture files.
//  $firstFrameNum allows you to choose which frame the texture file sequence loop starts on.
//  Adding $numFrames allows animation even when frame < $firstFrameNum
$texFrame = (frame + $numFrames - $firstFrameNum) % $numFrames;

// Belts and Braces: clamp should be redundent, but do need to add  $texStartingFrame
$texFrame = clamp($texFrame + $texStartingFrame, $texStartingFrame, $texEndingFrame);

// Determine how many zeroes to pad
$texFileName = PrintToString("%d", $texFrame);
$k = $texDigits - $texFileName.length();
$texFileName = "";
while($k > 0)
   $k = $k - 1;
   $texFileName = PrintToString("%s%s", $texFileName, "0");

// At this point  $texFileName contains just the padding zeros of the file number (if any)
$texFileName = PrintToString("%s%s%s%d.%s", $texPath, $texPrefix, $texFileName, $texFrame, $texType);

if ($t.GetFileName != $texFileName)

Pages: [1] 2 3 ... 6