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 - Raxx

Pages: 1 2 [3] 4 5 6
ASL Scripts / LIA - Links In Anim8or
« on: January 30, 2014, 11:15:22 pm »
Links In Anim8or

Pseudo Hierarchy System

A while back I started this hierarchy thing, but never finished it. I restarted it and it's now in a releasable state. As mentioned in the previous topic, I don't expect this scriptset to be very useful to many. I wrote it only for the XSI export script. I expect this toolset to become redundant, assuming Steve implements native hierarchy support into Anim8or in the future.

What is LIA?
Anim8or doesn't have a hierarchy system in the object editor. This means that you can't set one object as the child or parent of another object. Yes, you can fake this using groups, but if you do it this way then any changes you make to an item deep in the hierarchy would require you to ungroup everything, change it, and then regroup it again, which is a lot of work ripe with the opportunity for error.

LIA is a simple naming system that appends ".ChildOf." to the name of a shape, which then tells whatever script that uses LIA that that shape is a child of whatever is named afterwards. If cube01 were a child of sphere01, cube01's name would be "cube01.ChildOf.sphere01".

With just this, a hierarchy system is born.

What is LIA good for?
Scripts that require hierarchy as a fundamental part of their features. For example, export scripts for formats used in game engines that require a certain parent/child relationship between various nodes. If you need to implement hierarchy in your script, pack the LIA scriptset with it and implement the preprocessor in your own script.

How do I use the LIA tools?
LIA currently comes with 5 tools, available in the Scripts menu in the Object Editor when installed correctly:
  • List Hierarchy - Prints out the current Hierarchy in the console
  • Set Parent - Marks the selected shape as the parent
  • Set Child - If a parent has been set, any selected shapes are then assigned as children of that parent
  • Unlink All - Clears all hierarchy information from all shapes in the current object, restoring their old names
  • Unlink Selected - Same as Unlink All, except only for those shapes that are selected

Warning: This is a system that relies on naming. If you get funny results, double check what you're doing. The console may print out some errors to help with troubleshooting, but the best way to use these tools successfully is to know exactly what you want, what these scripts do, and what the results should be.

How do I use LIA in my own scripts?
Doing so isn't quite as straightforward as I'd like. It's a naming convention, and all you have to do is follow the logic of how it works, as described earlier.

I mentioned the preprocessor. This is just what I call a block of code in the "LIA - List Hierarchy.a8s" file. In this block of code, it sorts it all for you into two arrays. If you loop through these from 0 to its size - 1, you get:
  • $LIA_sorted_index[index]: Returns the index number of the shape in presorted order. Use this number in the shape array that's returned when you use the [object].GetShapes() function.
  • $LIA_sorted_level[index]: Returns the level, to help you determine if the shape in $LIA_sorted_index is a child, sibling, or parent of the previous or next shape in the array.

Another useful array is $LIA_realNames. Using the same index number as the GetShapes() array, it'll return its real name without all the .ChildOf. mess.

Also included $LIA_locOffsets and $LIA_rotOffsets arrays, should someone need transform data relative to its parent rather than relative to the world.

Take a look at the List Hierarchy script for an example of its use. You'll find that the actual listing function is incredibly simple, and that all of the work is done in the preprocessor which you don't have to touch. Just copy the preprocessor block of code and the LIA-specific variable declarations, and you can use it in any custom script.

ASL Scripts / Mesh2A8s Export Script
« on: November 26, 2013, 02:36:11 am »

I needed a distraction, so I figured I'd polish a script I had written to ease the development of PHUR and RIBRobin. Basically, this script allows an ASL enthusiast to easily generate parametric shape versions of meshes in the object editor.

How to use:
  • Install the Mesh2A8s.A8s script into your scripts directory
  • Create a mesh in Anim8or
  • Go to Object->Export
  • Select the Mesh2A8s file type (.a8s)
  • Export to your scripts directory
  • Reload Anim8or and you should have a new parametric shape in your main toolbar

From there you can modify the newly generated script as you see fit.

General Anim8or Forum / Notice: Forum Upgraded
« on: August 11, 2013, 11:40:45 pm »

As you guys may have guessed, the site got hacked a couple of days ago. I am fairly sure that the database was not compromised, but to be safe please change your password at your earliest convenience.

The forum has just been upgraded, so you may notice some changes both subtle and obvious. If you run into any problems, let us know.


Anim8or Challenges / CCC #1: Creatures Cycling
« on: June 09, 2013, 10:22:48 am »
Creatures Cycling
Working Title

Welcome to the first of hopefully more than one Community Collaboration Challenge! The goal of these challenges is to spread the Anim8or name by completing polished art and then posting it on sites like DeviantArt, Youtube, CGSociety, or other channels and saying, "This was made entirely in Anim8or".

These are challenges where the entire Anim8or community collaborates to make a still render or animation based on a theme or idea. This first challenge will have a preset theme, but future themes can be decided on by the members who participated in the last one.

  • ALL modeling, animating, and rendering will be done in Anim8or
  • UVMapping, Texturing, and Post-Production (touch-ups and composition) can be done in other software.
  • Third-party tools revolving around Anim8or (such as Terranim8or or MorphIt) are allowed

Current Theme: Creatures Cycling
  • Multiple (2+) creatures (non-human, either animals or fictional organisms) are riding a single bicycle.
  • This is a still render
  • Try to convey both motion and emotion

Development Cycle (Current, Completed, Upcoming)
  • Concept: Make a rough sketch of what you think the scene should look like. Add comments to explain your ideas. Vote on your favorite concept in 2 weeks (June 23rd)
  • Modeling and texturing: A list of all the needed models and such will be made, and anyone can pick anything to work on. First come, first serve. Post your progress and receive critiques. You can work on only one item at a time.
  • Rigging: Rigging of models is first come first serve. Any user may take another's "finished" rig and improve it.
  • Scene Composition: This is a competition, where any user may pose and set up their version of the concept using the pre-made content. No final renders and only basic lighting. Vote on the best composition
  • Final Lighting and Rendering: This is an independent collaboration, where any user may setup their own lighting and touch-up the textures where needed, and perform post-production. Users share their files and receive critiques, and can pick up someone else's work to try and improve it. Best final render is voted on.

So that's it! We're now in the Modeling and texturing development cycle. First come, first serve! If a task isn't taken, post here to let us know that you're working on it. Then post your WIPs here. If you have any questions, ask away!

Modeling-Only Task List (Taken, Complete)
  • Frog: A young-ish looking frog. Probably similar to this. Make sure it's rig-able for maximum effectiveness. ( Raxx )
  • Lizard: Young-ish as well. Could look like this. Can probably model it in its natural pose. ( kreator )
  • Sailor suit: Like this. Modeled over the lizard and frog. Can only be started after the lizard and frog is finished.
  • Classic tandem bicycle: Something like this. A basket would probably be a nice addition. Make sure the seats can be adjusted, and that the pedals and wheels can be rotated. ( kreator )[/s]
  • Background
    • Classic 1950s house: Does not need to be heavily detailed. Exterior only. ( CrashDrive )
    • Paved street with curb, driveway, and plot of land for house with lawn and sidewalk
    • Telephone poles: With power lines ( captaindrewi )
    • Classic lawn ornaments: Birdbath, pink flamingos, etc. Three lawn ornaments max
    • Individual grass strands: PHUR will be used to to generate the lawn(s) using the strands. Make 3 of them, all standing straight up.
    • Foliage: 2 Large Trees, 2 small trees, 2 bushes. Try avoiding transmaps if possible.
    • Classic 1950s car: Does not need to be heavily detailed. ( $imon )

Note that modeling and texturing are two separate stages. Do not unwrap or texture anything, that's for later! Also, this list may be subject to change.

The Idea
The idea is to mimmick miniature photography using the diorama effect. The subject will be a lizard and frog riding a tandem bicycle in a classic setting. There will be a 1950s-style house in the background with a 1950s car in the driveway. The lawn will have a few lawn ornaments in it. The lizard and frog will be riding by on their tandem bike, and will be the primary objects in focus.

Anim8or Challenges / [ COMPLETE ] Challenge #32: Pre-'E'
« on: June 09, 2013, 09:40:45 am »
Challenge #32: Pre-'E'

What this is...
Less a challenge, more a chance to let your old unfinished works see the light. Post up to three of your favorite unfinished WIPs (for challenges or otherwise) that you never completed! These can be renders or animations. It is marked as "unfinished" if you never submitted it as a final entry for a challenge (it was not voted on), assignment, or posted a final render of it to any gallery, or to finish off your WIP thread.

  • Anim8or Only: It has to have been at least partly modeled, animated, or rendered in Anim8or.
  • No touching!: You can't "touch" it before submitting it. No touching up or finishing it, submit it in its inglorious form. The most you are allowed to do is set up an empty scene with lighting to render it, if applicable.
  • You can use old renders: Don't have the original file? You can use an old render or screenshot instead.
  • Coated with dust: It has to be more than a month since you last worked on it.

Feel free to share your entries' histories, and the date it was last worked on.

Deadline: August 1st, 2013

This challenge will have a public poll. Vote for your favorite entry.

ASL Scripts / MorphIt v1.0
« on: May 30, 2013, 04:46:40 am »
MorphIt v1.0

This program creates morph targets by comparing other objects to the reference object in a .an8 file. If the meshes in the other objects have the same name and point number, it'll create new morph targets based on their offsets compared to the reference object.

I made this primarily so that you can animate PHUR, but there are other applications for this tool. It'll work on any mesh.

How To Use:
  • Load the file (large files will take a while--it'll seem to freeze but give it a minute)
  • Select the reference object
  • If any of the other objects qualify as a new morph target, it'll be listed in the top left listbox.
  • The bottom left listbox will be populated with pre-existing morph targets for that reference object.
  • The morph targets in the bottom-left listbox will be exported when you click Export Morphs and save to a new file.

Playing the selected morph:
  • You can play a morph by pressing the clock button. Change the animation speed with the arrow buttons
  • The code to animate the morphs is extremely inefficient -- medium to large animations will have a lot of lag
  • Stop an animation by pressing the clock button again

A few notes...
  • It won't run without the .NET 4.0 Framework (or later) installed
  • The 3D viewport will only show meshes. Any other types such as parametric shapes, spheres, cubes, splines, etc., are ignored. However, everything ignored will still be exported.
  • The parser is very "fresh". It's possible that I missed something while writing it. I recommend you don't overwrite your original .an8 file until you're absolutely sure nothing's missing. If you discover that something didn't make the transfer, please report it so that I can fix it.
  • Developed using the v0.97e Pre-Beta files as a reference. Files from v0.97d will probably be ok, but no guarantees
  • This program is not "smart". It merely checks the distance between, say, point #1 in mesh 1 and point #1 in mesh 2. If you create two totally different meshes, or generate them from different software, then point #1 could refer to two totally different points between the two meshes. If you use a program like Sculptris, export the .obj unchanged from Sculptris first and use that as the base. That way the meshes will likely have the same order of points.

If you want to use it with PHUR...
  • Do not change the spacing or distribution quality
  • Do not change the X or Y Divisions
  • Do not change the random seed
  • Do not change the base mesh
  • Lock the Y Divisions

Known Bugs

It's my first experience with C#, terribly coded, etc. So I won't be surprised if it doesn't work right on other systems. However, if you have a Vista+ operating system and the latest .NET framework, and it doesn't load or work properly, please report it!

Post your:
  • Operating System (And x86 or x64?)
  • Processor
  • Graphics Card

If you can email me the crashdump files (and if you get far enough--the .an8 file that doesn't load), that'd be even better.

Anim8or v0.98 Discussion Forum / Feature Request Thread
« on: May 23, 2013, 01:57:30 pm »
Alright, it's time to put together a nice, long list of features we'd like to see implemented in Anim8or. I will categorize the requests under three different types:

  • Tier 1: Enhancements to tools and features already implemented
  • Tier 2: Additional tools and features that enhance the Anim8or experience
  • Tier 3: Additional tools and features that change or add to the Anim8or experience

I am also implementing a kind of "vote" system, where you can +1 a request if you feel it really should be implemented! You will get four votes per tier. Just reply to this topic saying "+1 to so-and-so's request for such-and-such".

You can also down-vote a request. You receive 1 down-vote per tier. Just say "-1 to so-and-so's request for such-and-such". The only stipulation is that you should explain your reasoning behind down-voting.

\\ Top Requests
  • Inverse Kinematics +8

\\ Tier 1
-- Object Editor
  • Proportional Editing: With proportional editing turned on, manipulations affect geometry in a radius (that can be changed numerically and usually adjusted with the mouse wheel or pgup/pgdwn, arrow keys, whatever) around the point, edge, or face that's being moved, scaled, or rotated. The sphere of influence typically has a falloff curve. +1 (Raxx) (captaindrewi)
  • Normal Map support: for materials. +1 (TomsWorkshopAnimation) (Smirkyguy)
  • Uniform Bevel: Bevels the same amount on each edge rather than proportional to the edge's length. [link+2 ($imon) (dwsel ronaldefarmer)
  • ASL - Texture Weights - They aren't accessible via ASL (Raxx)
  • Selective Edit: Option where editing points, faces etc. only affects selected objects.  +1 (CrashDrive) (dwsel)
  • Add Modifier length parameter: To the modifier dialog (MvGulik)
  • Bridge faces of different polycounts:Allow bridging between faces of differeing polycount sizes, rather than just equal numbered sides. (Modeler_in_the_Myst)
  • More advanced slide tool:Ability to select multiple points or edges and slide them. (rellik420)
  • Universal Mirror Tool:Currently restricted to just right-side modifications. Make transformations on either side mirror appropriately (rellik420)
  • Uniform Extrude Faces Connected:Extruding offsets all faces equally without distorting said faces(ronaldefarmer)
-- Figure Editor
  • Painted Weights Color Sorting: Allow user to arrange/change/set the painted weights colors on a skinned figure.  +1 (kreator) (johnar)
-- Sequence Editor
-- Scene Editor
  • Copy and Paste: Ability to copy and paste scene elements instead of being forced to manually add new ones. +3 (kreator) (TomsWorkshopAnimation Miatpi CrashDrive)
  • Manipulate Bones with ASL: Ability to use ASL to rotate bones in the Scene Editor.  +1 (Raxx) (dwsel)
  • ART: Fog (TomsWorkshopAnimation)
  • Rendering Speed: Improve +2 (TomsWorkshopAnimation) (CrashDrive henrib736)
  • Parent to bones: Allow bones to be parents for scene elements. +1 (Miatpi) (Water Music)
  • Keyframe Parenting: Allow scene element parenting to be keyframed, to toggle the same or multiple parents at different frames, with "blending" or partial parenting influence similar to morph targets. [link] (Miatpi)
  • Key All Morphs: Key all morph targets in the scene at the selected frame. (Miatpi) (johnar)
  • Re-arrange Listed Items in TimeLine: By clicking and dragging them around. (johnar)
  • Key All Bones and Key Selected Bones: Same as in the Sequence editor (johnar)
  • Remap Arrow Keys: So that they are used to tweak position/orientation/scale like in the other editors. Use the Function Keys or some other set like , and . or [ and ] to move along the timeline. (kreator)
-- Miscellaneous
  • 32-Bit Image Export: For rendered files, such as tif/exr ($imon)
  • ASL - Vector and quaternion comparison operators: Something like if($vector != (0,0,0)) (Raxx)
  • ASL - Undo Command Scripts: Add undo implementation for command scripts so that it reverts to what was there before the script was executed (polyGon_tError)
  • Ability to re-size viewports. (CrashDrive)
  • Better access for scripts: Such as pressing a hotkey and then selecting a script from a list (polyGon_tError)
  • Options/Debug/Output Normals: Remember this selection between sessions. (Claude)
  • Relative Paths: When opening or saving anything, and no path is set in the configuration, set the default path relative to where the .an8 file is located. (Deepthought)
  • More Shortcuts: Add more shortcuts to commonly used tools and features +2 ($imon) (Miatpi Raxx)
    • Such as Ctrl+S to save, Ctrl+Shift+S to save as (Miatpi)
    • And a shortcut for the Add Edge tool +1 (Raxx) (rellik420)
  • Single Axis Keying: Be able to key a single axis without the other axes showing up as well. (Miatpi)
  • Group Arrow Key Adjustments for Undo: When holding down an arrow key to make adjustments to translation, rotation, or scale, set that entire interval in that direction as a single undo/redo event, rather than each tiny iota. (captaindrewi)
  • Undo after Rendering: Undo history is retained after rendering. (captaindrewi)
  • ASL - Combined Assignment Operators: +=, -=, *=, /=, %= Just like with other programming languages. (Raxx)
  • ASL - Case/Switch: As in C++ and other languages. (Raxx)
  • Make View | Frame Selected work for subobject selections (nemyax)
\\ Tier 2
-- Object Editor
  • Topographic Knife Tool: Refer to Softimage XSI's knife tool. Knife tool snaps to visible points and edges, you click and it starts the cut on that point or on that location on the edge, and then you click again on another point or edge location to make the cut. It is continuous, allowing you to make a chain of cuts. Stop the chain by right-clicking. It cuts only what you click on, and ignores unrelated geometry underneath. (Raxx)
  • Bridge Edges: Similar to bridging polygons. In most cases when point modeling it's necessary to make a poly between two/three/four other polygons. Currently you have to complete the square by drawing the edges between them, and then select all the edges and fill holes. It would be easier to select the two opposite edges and bridge to create the poly. +1 ($imon) (polyGon_tError)
  • ASL - Splines: Ability to create splines (Raxx)
  • ASL - Morph Targets: Read, create, and edit Morph Targets +1 (Raxx) (Miatpi)
  • Object Editor: Ability to Hide points and faces in edit mode +2 (kreator Deepthought dwsel)
  • ASL - Shape.Get/SetParameterValue - Accessible by all script types (including other parametric mesh scripts). (Raxx)
  • ASL - Shape update mechanism: A way to keep shapes "live" if needed, or a way to update the shape via another script. (Raxx)
  • Selection Set: Set a point/face/edge selection as a group or mask so that they will be either excluded or exclusive to manipulation, and can be hidden. +1 (polyGon_tError) (kakachiex)
  • Vertex Painting: Assign materials on a per-vertex level. +1 (polyGon_tError) (Trevor)
  • Sculpt push/pull tool: Pushes/pulls mesh geometry similar to sculpting tools in other programs (polyGon_tError)
  • Materials - Toon Lines: Add toon line support with the ability to set the line width and color. +2 (ianross) (captaindrewi ClassicTyler)
  • ASL - More Diverse Shape Parameters: Don't limit to just 10. Allow for checkboxes, radio buttons, checklists, sliders, strings. Allow categorizing via expandable labels. Scrolling enabled in dialog box if too many parameters. (Raxx)
  • Modifiers on groups: Be able to use and apply modifiers on groups of objects rather than just single meshes. (Miatpi)
  • Customizable Marking/Radial Menu: For fast selection of commonly used actions (kakachiex)
  • More pivot options: Transform around origin, shape pivot, center of selection, etc +1 (DeepThought) (MvGulik)
  • Branching splines: More than two splines per knot (Modeler_in_the_Myst)
  • Better accessibility for shape scripts: Need a better organization solution for shape scripts, especially when having dozens loaded. Categorization, menus, etc. +1 (captaindrewi) (kreator)
-- Figure Editor
  • Free Node System: Upgrade the rigid bone system into flexible nodes and constraints like in other animation systems, where they are easily movable, scale-able, etc. +1 (Raxx) (nemyax)
-- Sequence Editor
  • Reference Images: Just like with the object editor, the ability to add reference images in the sequence editor. (ianross)
  • Morph Targets: Same functionality as in the scene editor. +1 (Miatpi) (johnar)
-- Scene Editor
  • ART: Focal Blur +1 (TomsWorkshopAnimation) (ronaldefarmer)
  • ART: Motion Blur. Refer to Blender's Motion Blur (TomsWorkshopAnimation)
  • ART: Add ART material attributes that have procedurally generated effects (TomsWorkshopAnimation)
  • ART: Caustics (TomsWorkshopAnimation)
  • ART: SSS (Sub-surface scattering)(davdud101)
  • ASL: Allow adding and destroying of objects (mayim84)
  • ASL Export: Allow ASL to export scene data  +1 (Raxx) (dwsel)
  • Time Track/Slider Pops Out: Option to pop the time track into a new window, like with the graph editor (ronaldefarmer)
-- Miscellaneous
  • Import/Export of rigged models and animations +2 (Water Music) (Miatpi lppena)
  • Inverse Kinematics +8 (Water Music) ($imon Raxx captaindrewi ianross dwsel rellik420 Kyle nemyax)
  • ASL - Modularity: Implement modularity (functions, structures, classes, etc) +1 (mayim84) (Raxx)
  • Manipulation Widgets: Scale, Rotate, Translate widgets/helpers in the workspace +1 (polyGon_tError) (kakachiex)
  • Alpha Maps Cast Shadows: The shadows from objects with alpha maps reflect the alpha channel rather than just the geometry +3 (TomsWorkshopAnimation) (Miatpi ClassicTyler ronaldefarmer)
  • ASL - UI Access: ASL can create and access dialog options or other user interface elements (polyGon_tError)
  • Animated Texture Maps: Using video files, tilesets, and/or gifs. +3 (polyGon_tError) (ianross dwsel Miatpi)
    • Animated backgrounds as well (Miatpi)
    • If possible, allow chroma keying (ianross)
  • ASL - allow for the reading of files (to include official file import capability). +1 (NickE) (johnar)
  • ASL - script.execute: allow one script to terminate and execute scripts. +1 (NickE) (johnar)
  • Custom Shortcut Keys: Allow users to define their own keyboard shortcuts. (avenidagez)
  • Area Rendering Tool: Ability to select an area to render (with say, a rectangle tool) so only that area will be rendered. +1 ($imon) (captaindrewi)
  • More texture handling options: Such as ability to customize UV repeating option on a per-texture basis, clamp and mirror +1 (MvGulik) (SubDrag)
  • Custom GUI: XML-based user-customization ability for all user interface elements in Anim8or. +1 (Raxx) (Modeler_in_the_Myst)
  • SVG import: Import svg vector files as geometric shapes. (ronaldefarmer)
  • Linking data: Instead of just loading 3rd-party data into the project, enable linking of other files instead (Water Music)

Anim8or v0.98 Discussion Forum / v0.97e Pre-Beta
« on: May 22, 2013, 11:05:14 am »
v0.97e Pre-Beta Release Thread

This is a PRE-BETA! Use at your own risk! Files saved from this Pre-Beta may not be backwards compatible!

\\ Introduction

Hello everyone! Thanks to Steve, we have a sneak peek into the next release! Steve has been incredibly busy lately, and wanted you guys to have something to play with before he got caught up in some other commitments. Rest assured, in a couple of months he will have loads of free time to work on Anim8or, and you can expect the official release of v0.97 at that time.

In the meantime, you can help by reporting all the bugs that you find, including old ones! Do this by replying to this topic. The ones that can be replicated will be listed in the bottom of this post.

\\ New Features

Spin Quads Tool: Located in the Edit Menu (Hotkey: /), this tool spins an edge between two 4-sided polygons.

Spinning a quad by pressing the / key

Move Points Along Normal: With point(s) selected and the Move tool (Hotkey m) active, middle-clicking and dragging will move points along the mesh normals.

Moving two points along the normals

Select Orphans: Located in Edit->Select->Select Orphans, this tool helps with cleaning up a mesh by selecting all points and edges that are not assigned to a face.

Orphans Selected

Point Bevel: You can now use the Bevel tool to bevel points.

Select a point and bevel

Mirror Bones: Mirror selected bones across their parent's X-axis by going to Build->Mirror Bones in the Figure Editor. Envelope weights, bone limits, and diameters get mirrored (painted weights are excluded).

Only the selected bones will get mirrored

Mirrored Mesh Object: Convert meshes to Mirrored meshes that lets you build a symmetrical object a lot easier, by selecting the mesh and then going to Build->Mirrors->Convert to Mirrored. Any changes to one side is reflected on the other side as well. Works with subdivision objects. Apply the final mirrored result by going to Build->Mirrors->Stop Mirroring.

Mirroring half a sphere

Other New Features:
  • Home and End keys supported in Text Object Editing
  • All bones can be used for skinning. Regardless of which bone you assign an object to, all other bones that are not children of that object's bones can now influence the object as well. For example, if you have bones "Bone01" and "Bone02" and assign the object to "Bone02", then "Bone01" can be used to skin the object as well.
  • When clicking and dragging in the timeline, the active frame snaps to the first frame of the selection
  • Bone/Joint orientations added to the Figure/Sequence bone properties dialogs
  • ASL: Faster PYR to Quaternion conversion
  • The Space hot key swaps between point, edge, and face select while in Point Edit mode
  • Allow new morph targets to start as a copy of existing ones. This is a drop-down menu item when creating a new Morph Target
  • Decal textures appear too bright.  Set MaterialColor to (Kd, Kd, Kd, Alpha) instead of (1.0, 1.0, 1.0, Alpha).
  • Added call to SetErrorMode(SEM_FAILCRITICALERRORS); to prevent system pop-up dialogs when accessing devices without media.

\\ Bug Fixes

  • Fixed Windows 7 Drag-Select streaking.
  • #097-023 - Stereo Rendering Crashes.
  • #097-024 - Selecting "None" for Scene Environment Map Background Crashes.
  • #097-025 - Export file with missing texture to Obj format crashes.
  • #097-026 - Selecting Menu->ViewX Reverts 2 and 3 view mode to 1 view.

\\ Reported Bugs and Issues

This section lists all currently known bugs and issues in this release, to include older bugs that survived from previous releases. New Pre-Beta bugs will be highlighted in blue.

Object Editor
  • Bevel tool: destroys UVs of surrounding faces
  • Select Orphans:  If a mesh is composed of only points and edges then it appears to keep a single point deselected even if it's the only point in the mesh.
  • Add Edge tool: Starting a new mesh with the Add Edge tool (by shift-click-dragging) causes crash.
  • Morph Targets: Do not work with Mirrored Meshes
  • Mirrored Mesh: Knife tool does not cut all the way on the mirrored side, when starting from a point
  • Mirrored Mesh: UVs do not get mirrored when using the Texture UV tool
  • Mirrored Mesh: When manipulating the added mesh data within a subdivided face (Edit->Subdivide Faces), erroneous results occur. [link]
  • Subdivision Mesh: When 0 working divisions, stays non-shaded when in point edit mode, regardless of shading mode.
  • Materials: If the specular and emissive factor isn't change from the default, then it doesn't get saved in the .an8 file even when a texture is applied to that channel
Figure Editor
Sequence Editor
  • UI Vertical Resize Bar: Behaves erratically when click-dragging it
  • Keyframes don't update: When setting a keyframe for a bone rotation, the sequence won't visually reflect the change.
  • Sequence data fails to save: Sequences save as empty keyframes in the file
Scene Editor
  • UI Vertical Resize Bar: Behaves erratically when click-dragging it
  • Background images: Appear dark in the workspace and when using the opengl renderer.
  • MSVCR110.DLL Missing: Needs to be statically linked
  • Windows XP: Does not run [link] [link] [link]
  • About-> OpenGLl Info: Causes crash after viewing. [link]
  • Splash Screen: Needs updating

\\ Error: MSVCR110.DLL Missing

Odds are you may not have it, so download the Visual C++ Redistributable

After clicking "Download", select the appropriate one for your operating system (x86 or x64).

ASL Scripts / Script Request Thread
« on: April 24, 2013, 10:58:19 pm »
If you have some good script ideas but don't have the time or skills to make them yourself, ask and you might receive.

ASL can...
  • Export object editor data to ASCII formats
  • Manipulate mesh data in the object editor
  • Make parametric shapes in the object editor
  • Be used for manipulating animation in the scene editor

ASL can not..
  • Import data
  • Access morph targets
  • Access the figure/sequence editors

ASL Scripts / PHUR v1.4
« on: April 21, 2013, 05:20:25 am »

ASL Scripts / RIBRobin Toolkit
« on: March 16, 2013, 03:38:40 pm »
Welcome to the RIBRobin Toolkit! This series of scripts lets you setup a scene right in the object editor for export to either 3Delight or RenderPixie!

Current Features


  • Implementation: Click on icon in left toolbar, click and drag anywhere in work space. Double click to set values.
  • Width: Width of image that'll be rendered. Represented by the relative width of the camera's viewing rectangles. [640]
  • Height: Height of image that'll be rendered. Represented by the relative height of the camera's viewing rectangles. [480]
  • FOV: Field of Vision. [60]
  • NearClip: Anything closer to the camera than this gets culled. Represented by the rectangle in front of the camera mesh. Non-uniform scale on the y-axis changes this value. [50]
  • FarClip: Anything farther from the camera than this value gets culled. Represented by the rectangle furthest from the camera mesh. [1000]
  • DOF:Enables Depth of Field. DOF does not render when Ambient Occlusion or orthographic is enabled. When activated, the camera receives a series of circle guides in its viewing range that represents the "circle of confusion" at that depth. Basically, the larger the circle, the more blur there will be at that spot. Giving DOF a value of 2 gives it a very dense representation (one circle every 10 units), whereas giving DOF a value of 1 makes it more sparse (one circle every 100 units). A value of 0 disables it. [ 0 ]
  • f-stop: To make it easier to understand, just think of f-stop as a "scale" of sorts. The smaller the number, the larger the circles get. You can use either his or Focal Length or both. They scale the same way except at different values. [ 0.5 ]
  • Focal Length: This also scales the circles of confusion. A higher value equals a larger scale. Combine this with f-stop to get the blur you want. [ 45 ]
  • Focal Distance: The image is sharpest at this distance away from the camera. This is represented by a division located between the near and far clip. You'll notice that the circles of confusion are at its thinnest at this point. The best strategy is to set this value first before messing around with Focal Length and Focal Distance. [ 500 ]
  • Orthographic: Changes the camera from perspective to orthographic. The camera's lines that represent its field of view change form accordingly. Non-uniform scale on the x-axis changes its width/height. [ 0 ]

Ambient Light

  • Description: This object lights the entire world evenly, and is non-directional. You can place it anywhere in the scene and it'll have the same effect.
  • Implementation: Click on icon in left toolbar, click and drag anywhere in work space. Double click to set values. The Emmissive RGB values in its corresponding material determine the light's color.
  • Intensity: Intensity of the light. For ambient lights, it needs to be set fairly low[100]

Distant Light

  • Description: This object lights the entire world evenly, in one direction. You can place it anywhere in the scene and it'll have the same effect. It's the same as Anim8or's infinite light.
  • Implementation: Click on icon in left toolbar, click and drag anywhere in work space. Double click to set values. The Emmissive RGB values in its corresponding material determine the light's color, and the arrow's direction shows the light's direction
  • Intensity: Intensity of the light [ 1 ]
  • Casts Shadows? (Scanline not implemented yet): 0 = disabled, 1 = enabled. [ 0 ]
  • Shadow Samples: Number of samples shadows are rendered at. [16]
  • Shadow Width: The "softness" of the shadow. [1]

Spot Light

  • Implementation: Click on icon in left toolbar, click and drag anywhere in work space. Double click to set values. The Emmissive RGB values in its corresponding material determine the light's color.
  • Intensity: Intensity of the light. For spot lights, it needs to be set fairly high. (Poorly) Represented by the light's cone distance[Uniform Scale]
  • Cone Angle: This is the overall cone angle of the spot light. [ 30 ]
  • Delta Angle: This is the "inner" angle of light. Light will focus harder on this width when given a high beam distribution (maybe)  [ 5 ]
  • Beam Distribution: The higher the number, the more "focus" it has. [ 2 ]
  • Casts Shadows?: 0 = disabled, 1 = enabled. [ 0 ]
  • Shadow Samples: Number of samples shadows are rendered at. [16]
  • Shadow Width: The "softness" of the shadow. [1]

Point Light

  • Implementation: Click on icon in left toolbar, click and drag anywhere in work space. Double click to set values. The Emmissive RGB values in its corresponding material determine the light's color.
  • Intensity: Intensity of the light. For point lights, it needs to be set fairly high. [100]
  • Casts Shadows?: 0 = disabled, 1 = enabled. [ 0 ]
  • Shadow Samples: Number of samples shadows are rendered at. [16]
  • Shadow Width: The "softness" of the shadow. [1]

AO Options

  • Description: This shape carries the ambient occlusion options for you to tweak its settings as needed. Please note that all but the first three settings apply only to point-cloud AO, and most of those are for 3Delight only. Fully raytraced Ambient Occlusion is mostly automatic, except you can set its bias and samples here. All default settings should turn out decent results for most cases.
  • Implementation: Click on icon in left toolbar, click and drag anywhere in the work space to create it. Double click object to set values.
  • Enabled: 0 = disabled, 1 = enabled. [ 0 ]
  • Bias: Offsets the computation points a bit above the original surface. This can be necessary to avoid self-occlusion on highly curved surfaces. In other words, higher numbers can reduce artifacts, but may cause other problems. [ 1 ]
  • Falloff: This shapes the falloff curve based on Falloff Mode. Scanline- and 3Delight-only.[ 0 ]
  • Falloff Mode: 0 is exponential, 1 is polynomial. Scanline- and 3Delight-only.[ 0 ]
  • Max Distance: Can decrease render times in large scenes if you set the max distance to only the range you want to shadows to be calculated, but otherwise changing this value won't give a noticeable bump in speed[ 1e+005 ]
  • Clamp: Point-based AO (scanline) usually computes too much occlusion, so set this to 1 to make it look good. Nearly doubles the render time. Scanline- and 3Delight-only. [ 0 ]
  • Max S. Angle: Max Solid Angle is a straightforward time-vs-quality knob. It determines how small a cluster must be for it to be a reasonable stand-in for all the points in it. Reasonable values seem to be in the range 0.03 - 0.1. Lower numbers = better quality. [ 0.05 ]
  • Sample Base: A number between 0 and 1 that determines the jitter for computation points. Setting to 0.5 or higher may be necessary to avoid thin lines of too low occlusion where two (perpendular) surfaces intersect. Scanline- and 3Delight-only. [ 0 ]
  • GUI Size: This is how big the Scene Options dialog will look in your workspace. You can scale it with the uniform scale tool, so usually you don't have to bother setting the numbers manually.[ 1 ]

Render Passes

  • Description: If you want to save each major channel (diffuse, ambient, alpha, etc) into a separate image file, you can set that option here
  • Implementation: Click on icon in left toolbar, click and drag anywhere in work space to create it. Double click object to set values. 0 is disabled, 1 is enabled
  • Diffuse: Diffuse channel (development still in progress)[ 0 ]
  • Ambient: Ambient channel (development still in progress)[ 0 ]
  • Depth: Depth channel (development still in progress)[ 0 ]
  • Alpha: Alpha channel (development still in progress)[ 0 ]
  • Specular: Specular channel (development still in progress)[ 0 ]
  • GUI Size: This is how big the Render Passes dialog will look in your workspace. You can scale it with the uniform scale tool, so usually you don't have to bother setting this number manually.[ 1 ]

Scene Options

  • Description: This shape carries scene options that will override or dramatically change how your scene normally looks.
  • Implementation: Click on icon in left toolbar, click and drag anywhere in work space to create it. Double click object to set values.
  • Renderer: 0 = 3Delight, 1 = Aqsis, 2 = RenderPixie. There are specific features where the output has to be changed specifically for the renderer you are using. Hence this option so that it will be automated for you. [3Delight]
  • Pixel Samples: This is your anti-aliasing. Higher numbers will reduce the jagged edges more, but also increases render time. [ 4 ]
  • Ambient Occlusion: 0 = disabled, 1 = enabled. Converts your scene render to AO. Lights do not affect the outcome, so it's easy to flip the switch for an AO pass[ 0 ]
  • AO Samples: The higher the number, the more samples and therefore the better it'll look, at the cost of render speed. [ 32 ]
  • Bias: A lower number can introduce more AO artifacts but it'll look sharper. Best to adjust at small doses [ 1 ]
  • GUI Size: This is how big the Scene Options dialog will look in your workspace. You can scale it with the uniform scale tool, so usually you don't have to bother setting the numbers manually.[ 1 ]

Setup, Exporting, and Rendering
Download the Toolkit using the link in the Release log. The .zip file will include multiple .a8s (Anim8or scripts) files, folders, .sl (shader) files, and Convert.exe (converts image files). Delete ALL previous versions of RIBRobin completely! Then extract the entire contents of the folder into your Anim8or Scripts directory.

Current structure of the .zip file contents:
  • /archives - directory that holds all associated .rib files that are called by your main .rib file
  • /shaders - directory that holds all source shaders that the shader compilers look in and compile to.
  • /textures - directory where convert.exe and the renderer's texture optimizer place converted textures for use by the .rib file
  • convert.exe - ImageMagick program that the .bat file uses to convert all textures to the .tif format
  • IMGMAGICK_LICENSE - ImageMagick's license. Read it if you feel like it.
  • readme.txt - Readme file that gives some trivial info and points to this forum topic
  • RIBRobin_Camera.a8s - Anim8or script that contains the Camera shape
  • RIBRobin_Export.a8s - The brunt of the RIBRobin work is done by this file
  • RIBRobin_Light_Ambient.a8s - Ambient light shape
  • RIBRobin_Light_Distant.a8s - Distant light shape
  • RIBRobin_Light_Point.a8s - Point light shape
  • RIBRobin_Light_Spot.a8s - Spot light shape
  • RIBRobin_Scene_AO.a8s - Ambient Occlusion dialog shape
  • RIBRobin_Scene_Options.a8s - Scene Options dialog shape
  • RIBROBIN_Scene_RP.a8s - Render Passes dialog shape

Set up your scene with the Toolkit's camera, lights, and other RIBRobin shapes available in the left toolbar. Set your renderer by double clicking the Scene Options object after you created it in the workspace. You can set up other parameters in the Scene Options shape, the Ambient Occlusion shape, the Render Passes shape, and the Camera shape. All other shape objects have parameters pertaining specifically to the Renderman component that it represents.

If you're ready to export, go to Object->Export... and select the Renderman (.rib) file type, specify the file name and directory (it can be any locations), and hit Save.
IMPORTANT: The exporter doesn't just save a .rib file. It also saves .sl (shader language) files that are needed by the .rib file, and a .bat file that compiles the textures and shaders and then renders the .rib for you, via command line. The .bat file gets saved in the same directory as the main .rib file. All other files get saved into the folders mentioned above and don't need immediate attention unless there was an error.

So to render your .rib file, assuming you have your renderman renderer installed and you set the correct one in the Scene Options shape, double click on the .bat file that was generated in the same directory as your .rib file. It'll be called something like x_y_z.bat, where x is the same name as the .rib file, y is the name of the object you exported from, and z is the name of the renderer. It will perform four steps depending on your scene's contents:

  • Associated textures will be converted to .tif using Convert.exe and saved in the textures directory
  • Those converted textures will then be compiled into whatever format the renderer requires, using that renderer's texture optimizer.
  • Any associated Shader Language (.sl) files will be compiled using the renderer's shader compiler and saved in the shaders directory
  • Finally, all associated RIB files will be rendered. The final image will be a .tif file with the same name as the .rib file you saved.

  • Do not rename any of the RIBRobin shapes. The export script relies on their names to recognize what they are and how they should be processed.
  • There can only be one camera, named RibRobinCam01
  • When you download and install the Toolkit, make sure you delete all older RIBRobin Toolkit scripts first. Some file name changes may have occurred resulting in old scripts not being replaced automatically
  • If you update the toolkit and open an Anim8or file that contains shapes made from the older toolkit scripts, they may need to be replaced depending on what was updated.
  • This toolkit uses ImageMagick for its image conversion to tif files.

RIB Rendering Software
The only RIB renderers supported are 3Delight and RenderPixie. I dropped Aqsis because it was too slow, buggy, and lacked features that the other two had. Not to mention RIBRobin's development is a lot faster now with one less renderer to stay compatible with.

  • 3Delight - Commercial quality. One free license per user, restricted to 2 cores. Best one you can get at no cost.
  • RenderPixie - Free, but not actively developed anymore. Fast and can make good images.

Development Milestone Markers
Note: Some features marked as complete may not have been released yet.

[ Complete ] [ Started ]

  • Add emissive attribute to phong shader
  • Per-Poly Materials - As the name suggests, multiple materials per mesh object.
  • Smarter .bat files - To save time, detect whether or not a texture or shader was modified before regenerating it.
  • Smooth Angles - Creases get exported properly
  • Render separate passes - Allows the user to render separate channels as their own images with the option to combine them automagically.
  • Point-Cloud Based Ambient Occlusion - An automatic setting that renders an AO pass separately from the main renderer
  • Render Alpha - Renders only the alpha channel
  • Render RGB - Renders only the RGB channel
  • Render Depth - Renders only a depth map based on near/far distances
  • Shadows - Shadows are treated as separate entities, so they'll take a little bit of work.
  • Focal Blur - Blurs a certain distance/area in the scene for more depth.
  • Special Materials & Effects

  • Global Illumination - Automatically set up GI when given some parameters
  • Limited Animation Support - Camera movement only
  • Motion Blur - Blurs objects based on direction of movement.
  • Special Materials & Effects - Reflection, refraction, caustics, etc. More details later.

General Anim8or Forum / Faster Rendering
« on: December 02, 2012, 11:19:25 pm »
Hey folks. I figured I'd post this for those who haven't discovered it yet. I rarely render animations so I haven't bothered looking into speeding up render times until now, but after observing Anim8or's behavior with multithreaded rendering, I discovered two things:

  • One Anim8or rendering instance takes up a maximum of one cpu core capacity
  • You get the same render speed even if you have as many renders going on the same time as your number of cpu cores

For example, I have an 8-core cpu (technically 4 cores with 2 threads each). One rendering instance takes up 1/8th of my total CPU capacity (or 12.5%). This means I can have 8 Anim8or programs running and rendering at the same time without losing speed for each rendering instance, assuming I don't run out of RAM (nowadays that's not a problem). Doing this on a single animation will decrease my total rendering time by a factor of 8. It still takes hours and hours for a simple scene like the attached image, but it's a good deal better than without.

(I'm rendering at 75% capacity for the sake of multitasking)

Anim8or Challenges / [ COMPLETE ] Challenge #31: Big Brother
« on: October 27, 2012, 03:42:12 pm »
Challenge #31:Big Brother

Lotsa Windows

Deadline: March 1st, 2013 (completed)

This is a free-for-all with a twist. The final entry must be a still render. However, the catch is that you must also capture the entire process via a screen recording program! Use youtube or a similar video sharing website to showcase this.

This challenge will have a public poll. Vote for the best entry. Only still renders coupled with a youtube video of the process qualify.

Before you ask...
  • Use Anim8or for at least a little of your work (has to be in the workflow somewhere).
  • Try making everything from scratch
  • Use recording software like CamStudio.
  • Record the entire process! From Concept to Completion. That's the primary point here! You can narrate if you want, or else pick out some background music.
  • Try to keep the video less than 30 minutes. Fast forward (timelapse) when possible, so long as the viewer can get a gist of what you're doing.

Enjoy the challenge!

Final Entries:

Pages: 1 2 [3] 4 5 6