Art of Illusion

From Wikipedia, the free encyclopedia
Jump to navigation Jump to search
Art of Illusion (software)
Aoi icon64.png
A screen capture image of Art of Illusion UI
A screen capture image of Art of Illusion UI
Developer(s)Peter Eastman and others
Initial releaseOctober 29, 1999; 19 years ago (1999-10-29)
Stable release
3.0.3 / December 12, 2016; 22 months ago (2016-12-12)
Written inJava
Operating systemWindows, macOS, Linux
Type3D computer graphics software
LicenseGNU General Public License
Websiteartofillusion.org

Art of Illusion is a free, open source software package[1] for creating 3D-graphics.[2]

It provides tools for 3D-modeling, creating and mapping textures and rendering both, still images and animations. Models, that are created in Art of Illusion, can also be exported for 3D-printing in .stl format.[3][4]

Overview[edit]

Art of Illusion is a 3D-graphics software[2], with similar intent of use as for example 3DS-Max or Maya of the commercial software packages or Blender or Wings 3D on the freeware side. Though some sources seem to confuse 3D-modeling with CAD[5], Art of Illusion does not provide any CAD-features.[4][6]

Some user reviews describe Art of Illusion as 'intuitive' [3] 'straight forward to learn'[7] and 'good candidate for the first 3D modelling tool'[7], while some characterize it as 'software for experienced CAD users'[5] or taking plenty of time to figure out[8]. For its capabilities it has been described 'powerful, comprehensive and extensible'[8].

Art of Illusion has been entirely written in Java[9].

History[edit]

The development of the software was started in 1999 by Peter Eastman[10]. Peter was the lead developer until the year 2016, when at Peter's request, Lucas Stanek started to host the development, while Peter assumed a more supervisory role. Lucas took the development from SourceForge to GitHub and the SourceForge-site serves as the software's discussion forum and delivery channel.[11]

Since 1999 there have been over 40 releases of the software. The latest stable version, 3.0.3, was released in December 2016 and the latest 'nightly' version in late August 2017. [10][12]

Features[edit]

General buildup and the core software[edit]

Art of Illusion consists of the core software and various feature extensions, which come as plugins and scripts.

The core software package contains basic modelling, texturing, animation and rendering tools. Scripts are used either to create and edit objects or to modify behavior of the software. Plugins can add features, like tools and object types to the software or alter the user interface. Some of the core features like the renderers are implemented as plugins as well to facilitate maintenance.

Object types and modeling[edit]

Art of Illusion provides several types of objects with their specific editing tools for modeling: Primitives (cube, sphere, cylinder), Curve, Tube, Spline mesh, Triangle mesh, Polygon mesh (plugin), Implicit object (plugin), Hologram (plugin). [13][14][15][16]

Animation[edit]

All 3D-objects can be animated by changing their position and orientation. In addition to that, properties of each object can be animated and procedural textures and materials can have animated features. Mesh objects can be rigged with a skeleton, that can be used to control shape changes. With skeletons it is possible to save predefined gestures that can be combined as poses, to generate complex repeatable movements. Animation data of each object is stored into animation tracks as key frames. [17]

A glass bowl modeled in Art of Illusion and rendered with photon mapping caustics.

Rendering[edit]

Art or Illusion uses multi threading for rendering images and it provides several options for lighting.[13] The core software package comes with two built in renderers:

The Ray Tracer renderer provides anti aliasing, soft shadows, depth of field, transparent background, photon mapping caustics and sub surface scattering.
The Raster renderer provides a few options for shading methods and super sampling [18]

Feature-extensions[edit]

Scripting[edit]

Art of Illusion supports two scripting languages, BeanShell and Groovy and it comes with a basic level text editor for writing, editing and running scripts. There are three different types of scripts each for their specific purpose: Tool scripts, Scripted objects and Start-up scripts. [19]

Tool scripts operate at the same level as the commandSelected() function of a modeling tool. This means that with only minor changes the code from a script could be placed into a more permanent plugin, or the code from a plugin could be pulled out into a script to allow for changing the code within the environment.[20]

Plugins[edit]

Art of Illusion provides a programming interface for plugins. The code for the plugins are written in Java like the core software. This code is combined with an extensions.xml file that describes what the plugin does and most importantly, which class implements it. In some cases the XML file specifies methods that are exported for use by other plugins or specifies plugins that are imported for use by the plugin. Tags used in the extensions.xml file are Author, Date, Plugin, Export, Import, Description, Comments, History, and Resource.[21] The compiled .jar-files are added to the Plugins folder in Art of Illusion root directory and they are effective immediately at the next start up.

A large number of plugins have been developed for Art of Illusion that are available on the scripts and plugin repository. These include object types and their accompanying editors, user interface enhancements and various tools.[22] These include the Scripts and Plugins Manager[23], that is used to download and update the extension parts.

The types of plugins that can be created for Art of Illusion are, Plugin, Renderer, Translator, ModellingTool, Texture, Material, TextureMapping, MaterialMapping, ImageFilter, Module.[24]

Plugin — A general plugin type used for all plugins that don't fit one of the other categories.

Renderer — Methods used to render a scene, such as a special ray tracer.

Translator — Used for importing or exporting a scene to another file format.

ModellingTool — For tools that appear on the tools menu. They usually manipulate objects in the scene.

Texture — Defines a texture that is applied to an object.

Material — Defines a material that is applied to an object.

TextureMapping — Describes how a texture is mapped to an object.

MaterialMapping — Describes how a material is mapped to an object.

ImageFilter — Used for post-processing of a rendered image.

Module — Used for user defined 2D and 3D textures.


Procedural editor UI for 2D-textures.

Procedural editor[edit]

There are procedurally controlled options available of textures, materials, movements, lights and even some objects. Procedural editors provide a graphic interface, where you can combine input values, library patterns and mathematical expressions to create the desired output values.

Audio[edit]

Art of Illusion does not have any sound/audio processing capabilities. Audio is not mentioned in the documentation.

File formats and interoperability[edit]

Art of Illusion scene files are saved in their specific format, marked by the extension ".aoi". The core package contains a built-in import function for Wavefront (.obj) and export functions for Wavefront (.obj), Povray 3.5 (.pov) and VRML (.wrl).[25] Additional translators are available as plugins.[13][22]

Language support[edit]

The user interface of the core software has been translated to 14 languages.[26] Plugins may not have complete sets of translations available.[27][16]

System requirements[edit]

Art of Illusion 3.0.3 runs on Java Virtual Machine (JVM) versions 6 to 8. The current release has not been updated to function with JVM 9 [28]. Assembly packages are available for Mac_OS, Windows and Linux and there is a generic zip package available for other systems or for cases, where a self-extracting package can not be used.[29] OpenGL acceleration is available for interactive rendering.[30]

Absolute minimum requirements or recommendations for the hardware have not been informed. By default Art of Illusion allocates 1024 MB of memory for the JVM. This can be changed by launching Java by a command-line.[29] Art of Illusion is capable of multithreading and therefore utilizing multicore processors, when rendering images.[13]

Art of Illusion is designed to have full functionality either with a single button mouse or a 3-button mouse with a scroll wheel. A keyboard with a numberpad is recommended as some of the keyboard shortcuts are assigned to the number keys.

An interface for a 3D-controller, such as one of 3Dconnexion devices is available as a plugin.

References[edit]

  1. ^ "Home - Art of Illusion". www.artofillusion.org.
  2. ^ a b "3D Graphics Software". CCM.
  3. ^ a b "Art of Illusion Review". 29 January 2014.
  4. ^ a b "Art of illusion - RepRap". reprap.org.
  5. ^ a b "Find the Best Free CAD Software".
  6. ^ "Art of Illusion Manual, Contents".
  7. ^ a b "Art of Illusion, tool for modelling in 3D - Guidance Blog". saisa.eu.
  8. ^ a b Williams, Mike. "Art of Illusion 3.0.3 - Audio, Video & Photo - Downloads".
  9. ^ "Art of Illusion / Wiki / Home". sourceforge.net.
  10. ^ a b "History - Art of Illusion". www.artofillusion.org.
  11. ^ "Art of Illusion / Discussion / Open Discussion:The future of the Art of Illusion Project". sourceforge.net.
  12. ^ "ArtOfIllusion/ArtOfIllusion". GitHub.
  13. ^ Guillet, Francois. "AoI scripts and plugins". aoisp.sourceforge.net.
  14. ^ "Art of Illusion Manual, Layout".
  15. ^ a b "ArtOfIllusion". GitHub.
  16. ^ "Art of Illusion Manual, Animation".
  17. ^ "Art of Illusion Manual, Rendering".
  18. ^ "Art of Illusion Manual, Scripting".
  19. ^ Fish, Timothy (2011). Extending Art of Illusion (1 ed.). p. 215. ISBN 978-1-61295-002-0.
  20. ^ Fish, Timothy (2011). Extending Art of Illusion (1 ed.). pp. 5–7. ISBN 978-1-61295-002-0.
  21. ^ a b Guillet, Francois. "AoI scripts and plugins". aoisp.sourceforge.net.
  22. ^ "Art of Illusion Manual, SPManager".
  23. ^ Fish, Timothy (2011). Extending Art of Illusion (1 ed.). p. 10. ISBN 978-1-61295-002-0.
  24. ^ "Art of Illusion". sourceforge.net.
  25. ^ "ArtOfIllusion/ArtOfIllusion". GitHub.
  26. ^ "ArtOfIllusion/SPManager". GitHub.
  27. ^ "Art of Illusion/Discussion/Open Discussion:Art of Illusion don't install under Java 9". sourceforge.net.
  28. ^ a b "Downloads - Art of Illusion". www.artofillusion.org.
  29. ^ "Art of Illusion Manual, OpenGL".

Further reading[edit]

External links[edit]