blender In memory of Not a Number
  TOPIXCLOTH for Blender   A Cloth Simulation Plug-in
2004 2 24 
Presented by Tatsuya Nakamura 
VERSION 2 is now available for download!!
Finally, Todd Koeckeritz has developed this updated version and we have decided to distribute his source code and precompiled binaries from this page. You will see much more of the functionality of the original TOPIXCLOTH plug-in is available for Blender now!
What is TOPIXCLOTH? by Tatsuya Nakamura
TOPIXCLOTH is a free cloth plug-in for Softimage. The plug-in has been written for SGI and now both SGI and NT versions were once available from the TOPIX website. Its source code was included with the plug-in executable. I ported it to Blender as Python plug-in module.

NOTICE: In this page, I don't describe about the original version. And please remember that this Blender version has some limitations and not fully impremented as well as the original.

You can download the source code, pre-compiled binaries (for Windows, IRIX, and Linux) and a sample file:

Please read its usage below on this page and also the readme file included in the above zip file.

Todd's great user interface is available for this release!
click to enlarge.
About the VERSION 2. by Todd Koeckeritz
After looking at the work Tatsuya did on his original port of the Topix cloth simulator to blender, I was impressed by its capabilities and Tatsuya's ability to get it to work with blender. However, I felt it could use a better interface, a way of storing the simulation results and exposure of all of the parameters the original Topix code supported.

Since I was unable to get permission for redistribution from Topix, I asked Tatsuya if he might be interested in redistributing my work and he most graciously decided to do so. The results of both our efforts are contained in this new release.

Features of Blender TOPIXCLOTH plug-in

All of the original features of Tatsuya's port are still available and are marked in the list below with (original). The new features I provided access to are marked as (new).

  • Simulating a variety of cloth animation like flags, curtains, sheets and so on.(original)
  • Cloth model reacts to the force of gravity.(original)
  • Quick and dirty sphere collision models to prevent cloth from intersecting other models.(original)
  • Self collision to prevent cloth from intersecting itself.(original)
  • Iterative calculations for simulation accuracy.(original)
  • A user interface to control the simulation.(new)
  • Tagged/Pinned vertices are supported via a vertex group.(new)
  • A floor was added.(new)
  • Virtual spheres can be generated from selected faces for spherical collision detection.(new)
  • The radius of the speheres is computed by their bounding box.(new)
  • The results of the simulation are stored via absolute vertex keys.(new)

Some of the original limitations were removed, but most remain.

  • You must use a Grid Mesh (ADD->Mesh->Grid) to get correct results.(original)
  • You cannot grab or drag the cloth.(original)
  • Simulation is pre-computed. No real time calculation now.(original)

This software is released without warranty or support of any kind. Hopefully you'll find it useful and can make it work, however, please don't expect support for it nor that it is fit for any particular purpose.

You can also find the past discussions about the usage in the Python & Plugins forum at elysiun.

The usage of the simulator is documented within the cloth2.blend file available in above. We will not be documenting the complete usage of it here. Only an abbreviated version of the usage of it will be outlined to show how its usage has changed.

You will first need to put the compiled module in the proper place. This involves installing the .dll, .so or other file in a place where Blender's python can find it. Which file you use depends on your operating system and CPU.

  • Linux i386 linux/
  • Linux i386 (Athlon) linux/
  • Linux i386 (Pentium 4) linux/
  • Windows 98/ME/2000/XP windows/topix.dll
  • Irix 6.5 mips3 irix/

ex. Windows version, the easist way is putting the 'topix.dll' file on the directory in the default "Python Files" path: C:\Program Files\Blender Foundation\Blender.

Note: If you wish to use the CPU specific linux versions, linux/ or linux/, you will need to rename them to after you've copied them to the appropriate location.

The following instructions for use are taken from the HOWTO.txt which is also available in the cloth2.blend file.

Fig 1 Python user interface

Fig 2 select cloth object (click to enlarge.)

Fig 3 select sphere object

Fig 4 'Run Simulator' button

NOTICE: Above, fig 2 and 3 are the screenshots from the Example 1 screen in the file cloth2.blend. You can select three other examples from the SCREEN browse menu on Blender. (see right) The sample movies for all examples follow after this section.

FOR IRIX ONLY: Before run the in the cloth2.blend file, you need to comment out the line 'import os'. (see right below) Or you will see an error message:

Traceback (most recall call last):
File "", line 37, in ?
ImportError: No module named os

This must be a platform specific problem and have nothing to do with the actual simulation.

Screen browser menu

IRIX ONLY: comment out
  1. Launch Blender and open the 'cloth2.blend'. Run the script To the above left fig 1, you see the python user interface that provides access to the parameters of the simulation. Documentation for these parameters can be found in the PARAMETERS.txt file in the cloth2.blend file.
  2. RightClick on the Grid mesh you just added to make it the active/selected object. In fig 2, you can see the selected cloth on the example 1 scene on the cloth2.blend.
  3. LeftClick on the button initially labled "Select Cloth Obj." You'll find it in the upper left of the UI.(fig 1)
  4. [Optional Step] Select some spheres you wish your cloth to test for collisions. In fig 3, you can see the selected cloth in the example 1 scene on the cloth2.blend.
  5. [Option Step] Click the "Spheres" button to put them into the list menu to the left of the "Spheres" button. (fig 1)
  6. Now a "Run Simulator" button should have appeared in the lower left. (fig 7) LeftClick that and wait. You may wait a long time if you have a slow computer or you modified the default settings. (You can check its status in the DOS prompt window on Windows, or in the console on Linux or Irix.)
  7. Next, follow the instructions on the new panel you see when the simulation stops. These instructions guide you in converting the Relative Vertex Keys into Absolute Vertex Keys. Below, I briefly describe how to do this with sample figs.

Fig 5 Selected cloth object after the simulation. (click to enlarge)

Fig 6 The 'Relative Keys' and the vertex keys on IPO window. (click to enlarge)

Fig 7 Edited speed curve. (click to enlarge)

There is no need in the new cloth simulator to setup a Frame changed script and most users should have no need to write any python scripts at all. I have performed simulations of at least 400 frames and have had no problem creating or using them. However, there may be limitations in blender that make using larger simulations impossible or impratical.

Here's the tips quoted from the document of the original version:

  • It's a good idea to randomize the positions of the points of the initial mesh in a natural way so that the simulation forces have some surface irregularities to work with (a perfectly flat mesh dropped in Y with -10 gravity will have no other effect than a grid falling streight down in the Y axis.)
  • It's always a good idea to give your simulation a 30 to 50 frame pre-roll to let the cloth find itself. It takes a while for the point weight properties to balance themselves with the dynamic settings of the simulation, so a pre-roll will help to reduce the bounce that occurs while this is happening.

  • Sample movies by Todd Koeckeritz
    example1 Example 1 (click to enlarge) example2 Example 2 (click to enlarge) example3 Example 3 (click to enlarge) example4 Example4 (click to enlarge)
    These are the liks for the sample movies that are the results of the example file cloth2.blend.

    Example 1: simple sphere and cloth mesh.
    Example 2: a flag with wind. (beautiful!)
    Example 3: two spheres and cloth mesh with vertex control.
    Example 4: cloth interact with stairs. (interesting!)

    The Future by Todd Koeckeritz

    The originally released Topix source code is clearly marked as being released under GPL 2 or later. However, the web page hosting that source code required permission from Topix to redistribute. Topix refused to reply to my inquiries to receive that permission and shortly after I initiated contact with them, they took down the page that was distributing the code.

    Because of these events and the unclear status of the Copyright of the original Topix source code, I will not be expending any new efforts on this cloth simulator. I have started work from scratch on a new cloth simulator for blender. It will be released under a clear GPL, possibly a GPL/BF license and potentially be more tightly integrated into blender at some later date.

    My main provision for release and status updates will be through the Python and Plugins forum at elysiun. At some point in the future, there may be a project for this at the main Blender projects site. You may contact me by posting in the forums at or by sending a Private Message to me there. My username at is zaz.

    The goals for the initial release of the new simulator are to provide a replacement for the topix based simulator with very simular functionality. Future releases of the new work should be able to expand on these capabilities significantly.

    Acknowledgement by Tatsuya Nakamura
    Thank you very much for Mr. Colin Withers, the author of the original version, who gave me the permission to make this available in public kindly. And, of course, I am really happy that Todd Koeckeritz has done this great job and my old work comes alive today!