Ani2Pov
Ani2Pov | Index | Contact

Ani2Pov
Manual



I. Introduction



Anim8or is a great and easy to use free 3D Modelling program. Anim8or save your projects in .an8 files. These files stores the description of your models and scenes. Other programs can't read .an8 files. Ani2Pov was originaly just an Anim8or to PovRay file converter. PovRay is a famous free RayTracing Renderer. The RayTracing is an algorithm used to produce realistic pictures. PovRay use also other algorithmes and features which are not supported by Anim8or.

Know Ani2Pov can convert several file formats.
Ani2Pov can only export animations in the MilkShape3d and SMD file formats (and only from sequences). The PovRay export can convert one or more static scene with objects and materials. It supports .an8 files from Anim8or v0.85 to v0.97 only. Anim8or and PovRay do not always work in the same way. Some additionnal features are available to reduce some limitations.

Anim8or
(.an8)

ASSIMP
(.*)

Pov
(.pov;.inc)

Collada
(.dae)

ASE
(.ase)

AC3D
(.a3d)

Ogre
(.xml)

Irrlicht
(.irrmesh)

MilkShape
(.ms3d;.txt)

Half-Life
(.smd)

VideoScape
(.obj)

Anim8or
ASSIMP
VideoScape


In order to understand how Ani2Pov works, you should read this manual, but you should also read the Anim8or manual and the PovRay manual (For the .an8 to PovRay conversion).


II. Installation



Windows:
Execute "Ani2pov.exe" in the "Ani2Pov.zip" file.
The installer should create several files and folders:
  • Ani2Pov.exe : The file converter
  • example.an8 : A .an8 file to test Ani2Pov.
  • manual.htm : The manual.
  • 3 folders : "material", "objects", "scenes" : Store your files used for the special features. These folders already have some example files.
  • Some pictures and textures.

    Ani2Pov recquires the MicroSoft .NET runtime and the MicroSoft Visual C++ runtime (links can be found on the readme.txt file)

    Linux: (no longer supported for the time beeing)
    Unzip "Ani2Pov.zip".
    The extraction should create several files and folders:
  • Ani2Pov.exe : The file converter with a Graphic User Interface (GUI).
  • example.an8 : A .an8 file to test Ani2Pov.
  • manual.htm : The manual.
  • 3 folders : "material", "objects", "scenes" : Store your files used for the special features. These folders already have some example files.
  • Some pictures and textures.

    Ani2Pov recquires Gtk+ under Linux


    III. Features



     Ani2Pov can convert:


  • Several Meshes in an object with textures and Colors.
  • Spheres, cubes, cylinders (using PovRay functions. It will look very smooth)
  • Several Objects in one scene.
  • Basic material settings (Diffuse color or texture. Ambient, diffuse and specular factor. Bumpmap, Alpha).
  • One Camera (position and orientation).
  • Infinite, local and spot Lights (position, directions, color, In/Out Radius, In/Out Angle).
  • Background color.
  • Fog (but not very well).

     Ani2Pov cannot convert:


  • Animations, sequences and figures (and will not for a long time).
  • Subdivided (the original meshes will be exported)(use "Build->Convert to mesh" in the Anim8or's menu to keep the good number of polygons)
  • 2D shapes (such as lines).
  • Groups. Ani2Pov Ungroups all groups.
  • Some material settings.
  • Positions and orientations of objects, lights and camera must be relative to "Parent" (Check this radio button in the Anim8or dialog box). Roll is also always enable for these elements.

     Special features:


  • The name of the scenes can be used to add extra scene descrition from an external file.
  • The name of the objects can be used to add extra object descrition from an external file.
  • Materials can be replaced using the materials file names.
    Read part IV for more details.

     Subdivisions:


    Ani2Pov can export subdivided meshes. This option is not activated by default because PovRay do not support subdivisions. But you can find an unofficial version of PovRay which support subdivision at the link:
    PovRay with Subdivision

     Warning:


    Warning:
  • You have to check the "Output normals" option in Anim8or if you don't want Ani2Pov to be very slow (Menu "Options->Debug->Output normals"). By doing this, Ani2Pov can read and convert vertex normals created by Anim8or.
  • If you do not check this option before saving your file in Anim8or, Ani2Pov will have to create vertex normals by itself, and it's very very slow (several minutes, or hours for big scene). I have some optimizations to do :).

    Warning:
  • Anim8or and PovRay do not work in the same way. You will probably have to change the material, light and fog settings. (Note: The materials are declared in the beginning of all .inc files).
  • Use only english characters for the names of your objects, materials,lights,... Do not use special characters (such as german umlauts: ä)
  • if you use spaces in the names of your objects, materials,lights,... (example: "My Name") the space characters will be replaced by a string by Ani2Pov (Because PovRay do not support spaces in the names). You can change this string in the Ani2Pov GUI.



    IV. How to convert a file



     In Anim8or:


    1) Launch Anim8or.
    2) Create one or more Objects (use "Mode->Object" in the Anim8or's menu).
    3) Convert subdivided, spheres, cubes and cylinders into meshes (use "Build->Convert to mesh" in the Anim8or's menu) if you want to keep the same polygons as in Anim8or.
    4) Add these objects in your scene (use "Mode->Scene" in the Anim8or's menu) with your camera and lights.
    5) Change the color of the background and add fog (not necessary).
    6) Check the Output normals option in Anim8or (Menu "Options->Debug->Output normals")
    7) Save your Anim8or scene in an .an8 file.

  • Roll will be enable for all elements (objects, lights, camera) even if it's not the case in Anim8or.
  • Elements must be relative to "Parent" (Check this radio button in the Anim8or dialog box of your element).

     Conversion:


    1) Give your .an8 file to the converter. Use the ani2povGUI.exe or use the MS-DOS console ("ani2pov file_name.an8" with console. Drag-and-drop is also possible).
    Warning: The file name directories (of the .an8 file and of the destination directory) must not have spaces: "c:\My folder\file.an8" is bad. "c:\MyFolder\file.an8" is good.
    2) Several files will be generated. The scene description is stored in a .pov file (the name of the file is the name of the scene). The objects descriptions are stored in one or more .inc files (one per object)(the name of these files are the names of the objects).
    3) Launch PovRay with the .pov file.

    You don't need to create a scene in Anim8or. But you will have to create it by yourself in PovRay.

    If you have a problem, open you .an8 file with Anim8or and try to delete all not supported features (like lines, animations ...). And try again.

    About the GUI: Ani2Pov can be launch without GUI. You must use the terminal:
    "ani2pov file_name.an8"
    To enable subdivision:
    "ani2pov file_name.an8 -s"


  •  Corrections:


  • PovRay do not support names (of meshes,materials,...) with spaces (Example: "Material 01" should be "Material01"). Ani2Pov can replace space characteres with an another character or string. Materials terminated by ".out" or ".mtl" will not be corrected.
  • Ani2Pov can add a prefix to the names of materials in order to avoid the use of "Reserved" names of PovRay's materials already present in the .an8 file to convert.


    V. Special features



    All this features can be combined.

     Scene description additions


    If the name of your scene finishes with ".snc", Ani2Pov will understand that the name of your scene is the name of a file ("YourSceneName.snc"). Ani2pov will try to open a file named "YourSceneName.snc" in a folder named "scenes" which must be in the same directory as your .an8 file. It will load this file and put its text in the .pov file of your scene. The name of your scene will be converted to "YourSceneName".

     YourSceneName.pov file
     Anim8or Includes (objects)
    Addition from YourSceneName.snc
    Anim8or Lights
    Anim8or environment
    Anim8or objects' positions

    This features can by used to add new objects, new environment settings, radiosity...
    The last character of your .snc file will not be written in your scene. Add an empty line at the end of your .snc file.

     Object description additions


    If the name of your object finishes with ".obj", Ani2Pov will understand that the name of your object is the name of a file ("YourObjectName.obj"). Ani2pov will try to open a file named "YourObjectName.snc" in a folder named "objects" which must be in the same directory as your .an8 file. It will load this file and put its text in the .inc file of your object. The name of your object will be converted to "YourObjectName".

     YourObjectName.inc file
    Addition from YourObjectName.obj
    Anim8or materials
    Anim8or objects

    This features can by used to add new meshes, new materials...
    The last character of your .obj file will not be written in your .inc file. Add an empty line at the end of your .obj file.


     Special PovRay materials


    If the name of your material finishes with ".mtl", Ani2Pov will understand that the name of your material is the name of a file ("YourMaterialName.mtl"). Ani2pov will try to open a file named "YourMaterialName.snc" in a folder named "materials" which must be in the same directory as your .an8 file. It will load this file and put its text in the .inc file of your object. The name of your material will be converted to "YourMaterialName".
    The material description from Anim8or will not be exported. Your .mtl file must have a material named "YourMaterialName" if you want to be able to render the scene. This material will be used by the meshes which originaly call "YourMaterialName.mtl".

     YourObjectName.inc file
    Special PovRay material from "YourMaterialName.mtl"
    Anim8or materials
    Anim8or objects

    This features can by used for povray materials not supported by Anim8or.
    The last character of your .mlt file will not be written in your .inc file. Add an empty line at the end of your .mlt file.


     Disable Anim8or materials


    If the name of your material finishes with ".out", the material description from Anim8or will not be exported.
    The description of your material must be added by a .obj file from the object name ( which inserts the material or which include a .inc file with your material ) or by yourself.

    This features can by used for povray materials not supported by Anim8or.


     Example


    In this example, a .snc file has been used to add the sky. A .mtl file and a .obj file have been used to add the water reflection.

     CSG


    You can export CSG if you add this keywords in the names of your groups of spheres, cubes, cylinders:
    csg:intersection#
    csg:difference#
    csg:merge#

    The groups will be converted to Intersection, Difference or merge.
    If you use a CSG Difference, you must add this keyword in the name of the element (sphere, cube or cylinder) which will be affected by the operation:
    csg:target#

    Exemple for CSG intersection:
    Warning:
    CSG do not work with meshes. It's a limitation of PovRay. But you can use some modifiers such as clipped_by (not exported by Ani2Pov). Please read the PovRay manual for more information.


    Milkshape 3d Export



    Ani2Pov can export sequences animations from Anim8or to Milkshape 3D. Milkshape 3D is a low-polygon modelere used to create new models for games (Half Life, Quake, ...). It can also be used as a file converters, because it support a lot of file formats. Milkshape 3D has two natives file formats. The first one is written in ASCII (.txt) and the second one in binary (.ms3d). You should better use the binary version.

     ASCII (.txt)


    The ASCII file format of MilkShape 3D is limited and it only support one weight per vertex. A limitation of ASCII conversion is that Ani2Pov will duplicate vertices in order to have each vertices used by only one face. NbrVertices = NbrFaces * 3.
    Why ? Because Anim8or can affect different UV or normal to the same vertex when a vertex is used by different faces (one UV and one normal per faces for a given vertex).

    Ani2Pov can export to .txt skinned meshes from anim8or defined by influences and/or painted weights. The use of painted weights is recommanded because the computaion of weights from Influences in Ani2Pov is not as accurate as in Anim8or. Some vertices very close to the border of influence area could not be "catched" by the influence area. But Influences should work in most cases.
    If you have a model where a vertex is not close to an influence border and which is or which is not "catched" as it should be, it could be a bug in Ani2Pov (send me your .an8 file by e-mail in order to help me to solve the problem).

     Binary file format (.ms3d)


    The binary file format of Milkshape 3D supports up to 4 weights per vertex. So Ani2Pov is able to convert animated skinned meshes from Anim8or to .ms3d. The 2 other big advantages of the binary file format are: _ It is more closed the the Anim8or file format. Vertices will not be duplicated. Data will be more optimized. _ .ms3D files are supported by a lot of 3D Engine (such as Irrlicht,...), modelers, and files converters.

    Ani2Pov can export to .ms3d skinned meshes from anim8or defined by influences and/or painted weights. The use of painted weights is recommanded because the computaion of weights from Influences in Ani2Pov is not as accurate as in Anim8or. Some vertices very close to the border of influence area could not be "catched" by the influence area. But Influences should work in most cases.
    If you have a model where a vertex is not close to an influence border and which is or which is not "catched" as it should be, it could be a bug in Ani2Pov (send me your .an8 file by e-mail in order to help me to solve the problem).

    SMD Export



    Ani2Pov can export sequences animations from Anim8or to .SMD files which are used by the game "Half-Life" and also several other games.

    Ani2Pov can export to .smd skinned meshes from anim8or defined by influences and/or painted weights. The use of painted weights is recommanded because the computaion of weights from Influences in Ani2Pov is not as accurate as in Anim8or. Some vertices very close to the border of influence area could not be "catched" by the influence area. But Influences should work in most cases.
    If you have a model where a vertex is not close to an influence border and which is or which is not "catched" as it should be, it could be a bug in Ani2Pov (send me your .an8 file by e-mail in order to help me to solve the problem).

    Irrlicht 3D Export



    Ani2Pov can export static objects and scenes to the .irrmesh file format. Animation are not supported.


    Ogre 3D Export



    Ani2Pov can export static objects and scenes to the .mesh and .material XML file format used by Ogre. Animation are not supported.
    You can find a converter to convert Ogre xml files to Ogre Binary file in the official Ogre 3D web site.

    Collada Export



    Ani2Pov can export static objects and scenes to the .ase file format. Animation are not supported.
    If the .an8 file do not have any scene, only the first object of the file will be converted.
    Some features of Anim8or are not exported yet (such as CubeMap, skybox,...).


    ASE Export



    Ani2Pov can export static objects to the .ase file format. Animation are not supported.


    AC3D Export



    Ani2Pov can export static objects to the AC3D .ac file format. Animation are not supported.


    Videoscape Export



    Ani2Pov can export static objects to the Videoscape .obj file format. Animation are not supported. This file format is very simple and but very limited and can be loaded by Blender.


    Import to Anim8or



    Ani2Pov can convert static objects from several file formats to Anim8or (.an8) using the ASSIMP library. Animation are not supported (bind pose will be exporter for skinned meshes).

    Formats supported by ASSIMP

  • Collada ( *.dae )
  • 3D Studio Max 3DS ( *.3ds )
  • 3D Studio Max ASE ( *.ase )
  • Wavefront Object ( *.obj )
  • Stanford Polygon Library ( *.ply )
  • AutoCAD DXF ( *.dxf )
  • LightWave ( *.lwo )
  • Stereolithography ( *.stl )
  • AC3D ( *.ac )

    Game file formats:

  • Valve Model ( *.smd,*.vta )
  • Quake I ( *.mdl )
  • Quake II ( *.md2 )
  • Quake III ( *.md3 )
  • Return to Castle Wolfenstein ( *.mdc )
  • Doom 3 ( *.md5 )

    Other file formats:

  • DirectX X ( *.x ).
  • Quick3D ( *.q3d ).
  • Irrlicht Mesh ( *.irrmesh ).
  • Irrlicht Scene ( *.irr ).
  • Neutral File Format ( *.nff )
  • Sense8 WorldToolKit ( *.nff )
  • Object File Format ( *.off )
  • PovRAY Raw ( *.raw )
  • Terragen Terrain ( *.ter )
  • 3D GameStudio ( *.mdl )
  • 3D GameStudio Terrain ( *.hmp )

    Licence



    Ani2Pov is under the GPL v3 license.


    Links



    Anim8or
    PovRay
    PovRay with Subdivision
    Povcomp (competitions)



    Last Update: December 2009
    By Grégory Smialek
  • texel3d.free.fr