Search:

emTools (version 1.711)   Online Documentation
last modifications to this page: February 11th 2013

 


Chapter 1: Introduction

This free plugin for Softimage|XSI is a collection of little tools, mainly ICE compounds.

On the emTools web page you can:

  • download the plugin.
  • download demo and tutorial scenes.

Content:

On my Vimeo page are many video tutorials in which I show and explain different aspects and techniques concerning emTools and its usage. You might also try to search for "emTool" on Vimeo to find some videos made by other people.

Note: If you feel that something is not well explained (or not explained at all) then please write me a short e-mail. I will then update the documentation and/or make a demo scene as quickly as possible.

 


Chapter 2: Installation

Important:

  • If you already have a version of this plugin installed then you must uninstall it first.
    To do that go into Softimage|XSI's "Plugin Manager", right-click on the plugin and choose "Uninstall Addon".

This plugin comes as a so called "Addon", here's how to install it:

  1. Open the "Plugin Manager". It is located under the "File" menu: "File ->Plugin Manager":
  2. As mentioned above: please remove / uninstall any previous version of this plugin. This is really important, because if Softimage|XSI finds two times the same plugin then one (maybe even both) might not work.
  3.  

  4. To install the plugin into the user directory simply right-click onto the folder "User Root" and choose "Install .xsiaddon...":
  5. A browser dialogue will be displayed: go to where you copied the .xsiaddon file, select it and click on "OK". The Addon is automatically installed.
  6.  

  7. Close Softimage|XSI. The plugin is now installed and ready to be used.
    For more information concerning Addons and how to install / uninstall them please check the chapter "Working with Addons" in the XSI Guides.

 


Chapter 3: The ICE Compounds (Miscellaneous)

 
 

The Compound "emTool _ Align Vector to Edge / Object Axis / Surface"

These compounds align the input vector to edges, to object axis or to surfaces.

The usage and the parameters are self-explanatory.

 


The Compound "emTool _ Align Velocity to Edge / Object Axis / Surface"

These compounds align the particle velocity to edges, to object axis or to surfaces.

The usage and the parameters are self-explanatory.

 


The Compound "emTool _ Blur Vertex Data"

Blurs the vertex data via "Laplacian Blur".

Note(1): it is also possible to blur ICE data of point clouds, but in order to do that you must have a emVT _ Create Network compound in your ICE Tree prior to the blur compound.
See the demo scene "emTools.1.300__BlurVertexData_Particle_Size.scn".

Note(2): certain data types (e.g. weight maps and color) cannot be blurred directly. To blur them they must first be copied into some temporary ICE data which is then blurred and copied back.
See the demo scene "emTools.1.300__BlurVertexData_WeightMap.scn".

Examples on how to use this compound can be found here:
emTools 1.33 - Walk Through New Stuff

 


The Compound "emTool _ Boolean to Scalar"

Converts a boolean into a scalar.

If the input is "True" then the output is "1.0" else the output is "0.0".

 


The Compound "emTool _ Center of Geometry"

This compound calculates the center of the input geometry (typically a point cloud or a polygon mesh).

  • The Input Port(s) and Parameter(s):

    • In Name of Geometry
      The input geometry.
    • Type
      The type of calculation:
      • Arithmetic Mean
      • Barycenter (Center of Mass)
    • Consider Point Size
      If enabled then the point size (if available) is taken into consideration when calculating the center. This means that a big particle will have more weight than a small particle.
      This is only used for "Arithmetic Mean".
    • Consider Point Scale
      Same as the previous but for the point scale.
      This is only used for "Arithmetic Mean"

  • The Output Port(s):

    • Center
      The center of the input geometry..

 


The Compound "emTool _ Clamp Zero One"

Outputs the input value clamped between zero and one.

 


The Compound "emTool _ Create 3D Point Primitive"

This compound creates 3D point primitives based on a 3D point grid.

There currently is no documentation available, however the compound is relatively straight forward and easy to use.

 


The Compound "emTool _ Equal Distribution in Space"

Distributes particles equally in space.

 


The Compound "emTool _ Equal Distribution on Surface"

Distributes particles equally on a surface.

Examples on how to use this compound can be found here:
emTools 1.33 - Walk Through New Stuff

 


The Compound "emTool _ Fly towards Position"

This will make a particle fly towards a position (= a goal) without changing its speed.

  • The Input Port(s) and Parameter(s):

    • Active
      Enables/disables the compound.

    • Fly towards Position
      • Position
        The position of the goal.
      • Limit Rotational Velocity
        Enables/disables the limit of rotation velocity.
        This limits the rotational velocity so that the particles turn more smoothly towards the goal.
      • Maximum Rotational Velocity
        The maximum allowed rotational velocity.

  • The Output Port(s):

    • Execute
      Plug this into an execute port.

 


The Compound "emTool _ Force Value Evaluation"

Forces the evaluation of the input data.

 

 


The Compound "emTool _ File Exists"

Checks the existence of a file.

 


The Compound "emTool _ Get Vertex Data"

Gets the "per Vertex" data.

Examples on how to use this compound can be found here:
emTools 1.33 - Walk Through New Stuff

 


The Compound "emTool _ Init slim Particle Data"

This is very similar to the factory compound "Init Particle Data" that is used under the hood by the factory emitter compounds.
This compound however only sets/initializes the most commonly used data and furthermore allows you to set - or not set - the _Init data.

Note that data Scale and State_ID is also set by this compound, however they are not exposed. If you want to expose them simply enter the compound and create a new port.

  • The Input Port(s) and Parameter(s):

    • Shape, Size, etc.
      The value of the respective data.

  • The Output Port(s):

    • Set Data
      Plug this into an execute port to set the data.
    • Set Init Data
      Plug this into an execute port to set the "*_Init" data.

 


The Compound "emTool _ Integer to String"

Converts a integer value into a string.

 


The Compound "emTool _ Intersection of a Ray with a Plane"

This compound calculates the intersection of a ray with a plane.

The usage and the parameters are self-explanatory.

 


The Compound "emTool _ Intersection of two Lines"

This compound calculates the intersection of two lines.

The usage and the parameters are self-explanatory.

 


The Compound "emTool _ Intersection of two Spheres"

This compound calculates the intersection of two spheres.

The usage and the parameters are self-explanatory.

 


The Compound "emTool _ Linear Interpolate Color"

Interpolates between the two input colors.

 


The Compound "emTool _ Linear Interpolate Duo"

This compound is more or less identical to the factory node "Linear Interpolate" with the only difference that you interpolate between two pairs of values rather then between two values.

The usage and the parameters should be self-explanatory. If not sure then simply enter the compound, it only consists of four nodes.

 


The Compound "emTool _ Linear Interpolate Trio"

Same as Linear Interpolate Duo, but for three sets of values.

 


The Compound "emTool _ Liquid Filaments Points/Strands"

These compounds are a relict of the time when liquid filaments were implemented in emPolygonizer3.

Note: These compounds were not designed for production and are not officially supported!

It comes in two flavours: a "point" and a "strand" version.

It will create liquid filaments (= particles along a line) between a particle and its neighbors.

  • The Input Port(s) and Parameter(s):

    • Use
      Specifies what points shall be used for the creation of the liquid filament points.
      You can use either the input geometry or the current points.

    • In Geometry Name
      The input geometry. This is only needed if the above parameter is set to "Input Geometry".

    • Main
      • Level of Detail
        The level of detail of the filaments (= the amount of points per unit).
        The higher this value the more points are generated.
      • Use absolute Level of Detail
        If enabled then the level of detail is in SI Units, else it is relative to the point size.
      • Size Scale
        An overall scale for the filament points.
      • Shape
        The shape of the filament points.

    • Neighboring
      • Cutoff Distance
        The cutoff distance. Any points beyond this distance are ignored.
      • Enable Max Number of Points
        If enabled then the amount of neighbor points is limited.
      • Max Number of Points
        The maximum number of neighbor points.

    • Size
      • Fade first Particles
        If enabled then the first filament points are faded in via their size.
      • Consider Size Ratio
        If enabled then bigger particles will tend to "ignore" smaller particles.

    • Clean-up
      • Enable
        Enables/disables clean-up (= deleting very small points).
        It is recommended to have this enabled.
      • Epsilon
        Any newly created filament point that is smaller than this value will be removed.

  • The Output Port(s):

    • Create Particles
      Plug this into an execute port.

 


The Compound "emTool _ Local Rotation"

This handy little compound will rotate a particle around one of its local axes.

  • The Input Port(s) and Parameter(s):

    • Rotate
      The local axis around which to rotate: X, Y or Z.
    • Angle
      The rotation angle (in degrees).

  • The Output Port(s):

    • Execute
      Plug this into an execute port.

 


The Compound "emTool _ Melt Particles"

This compound is based on some code that was implemented a few years ago in the plugin emNewton. What it does is the following:

When two particles with a size greater than zero intersect then the intersection volume is added to the bigger particle and at the same time removed from the smaller particle. Furthermore a particle is deleted when it reaches a certain size close to zero.
In short: many small particles melt together into fewer bigger ones.

It should be noted that this compound does not accurately conserve the total volume contained in a point cloud. Due to some optimization the total volume can vary significantly from the original volume.
An accurate version of this compound will be available as a compiled C++ node in the near future.

  • The Input Port(s) and Parameter(s):

    • Enable
      Enable/disable the compound

    • Melting
      • Melt Speed
        The speed at which particles melt (= exchange volume).
      • Consider Size Ratio when melting
        If enabled then the particle size ratio is considered when two particles are melting.
        In simple words: when a very small particle is melting with a very big particle then the small particle is entirely absorbed regardless of the value of "Melt Speed".
      • Only melt if Particle Age greater than T
        If enabled then a particle must reach a certain age before being involved in any melting. This is most useful when having some permanent particle emission: it prevents new born particles from immediately melting.
      • T (Seconds)
        The age, in seconds, that a particle must have before it is used for melting.

    • Neighboring
      • Enable Max Number Points
        Enables a maximum number of neighbor points.
        It is recommended to enable this (much better performance).
      • Max Number Points
        The maximum number of neighbors.
      • Cutoff Mode
        The distance cutoff mode. It can be set to "automatic" (recommended) or to "Use Distance Value", in which case the value of the parameter "Distance" is used.
      • Distance
        The cutoff distance.

    • Delete
      • Delete Particles smaller than Epsilon
        A particle that has lost most of its volume will be very small (and more or less useless).
        By enabling this parameter these very small particles (smaller than Epsilon) will be deleted in order to reduce the amount of points and increase overall performance.
      • Epsilon
        Particles that are smaller than this value are deleted.

  • The Output Port(s):

    • Execute
      Plug this into an execute port.

 


The Compound "emTool _ Object to Sphere"

Converts an object into a sphere by simply looking at "how big" object approximately is.

This tool is rather limited and a better and more advanced version of this compound is Objects to Spheres, as it also accepts a group of input objects that can have different types.

  • The Input Port(s) and Parameter(s):

    • In Name
      The input object.
    • Scale
      The scale for the final radius.

  • The Output Port(s):

    • Position
      The position (center) of the sphere.
    • Radius
      The radius of the sphere.

 


The Compound "emTool _ Objects to Spheres"

This is sort of the "big brother" of Object to Sphere. The compound contains a compiled custom ICE node that will convert the input objects according to their type: a null becomes a simple sphere, a bone becomes a line of spheres, etc.

  • The Input Port(s) and Parameter(s):

    • In Names
      The input object(s).
    • Main Scale
      The main scale for all the final radiuses.

    • Scale
      • Bones
        This scale only affects bones.
      • Other
        This scale affects all objects except bones.

  • The Output Port(s):

    • Positions
      The positions (centers) of the spheres.
    • Radius
      The radiuses of the spheres.

 


The Compound "emTool _ NaN Detector"

Tests if a scalar is a NaN ("Not a Number") or an INF (positive/negative infinity) in compliance with the IEEE floating point standard.

  • The Input Port(s) and Parameter(s):

    • Input
      The scalar value to test.

  • The Output Port(s):

    • Is NaN
      True if the input is a NaN.
    • Is positive INF
      True if the input is equal +INF.
    • Is negative INF
      True if the input is equal -INF.
    • Is finite Number
      True if none of the above (= the input is a regular finite scalar value).

 


The Compound "emTool _ Null to Sphere"

Converts a null into a sphere.

 


The Compound "emTool _ Point Force from Nulls"

This compound can be used to have a null (or a group of nulls) act as point forces.

  • The Input Port(s) and Parameter(s):

    • In Nulls
      Null or group of nulls.
    • Active
      Enable/disable the compound.
    • Strength
      The strength of the force.
    • Size
      Size of the Nulls.
    • Multiply by Null Size
      If enabled then the null's size is considered.
    • Multiply by Null Scale
      If enabled then the null's scale is considered.

  • The Output Port(s):

    • Force
      The force. Plug this into an "Add Force" compound.
    • Fader
      This special value goes from 0 to 1.
      A value of 0 means that a particle is not influenced by any of the nulls and a value of 1 means that a particle is fully influenced by at least one null.
      This value can be used to fade in/out other forces. An example might be to fade out the gravity the more a particle is influenced by a null.

 


The Compound "emTool _ Point Force from Points"

This compound can be used to have all the points of an input geometry (point cloud, polygon mesh, etc.) act as point forces.

  • The Input Port(s) and Parameter(s):

    • In Name
      Input geometry.
    • Active
      Enable/disable the compound.
    • Strength
      The strength of the force.
    • Size
      Size of the points.
    • Multiply Size by Point Size
      If enabled then the point's size is considered.
    • Multiply Size by Point Scale
      If enabled then the point's scale is considered.
    • Multiply Size by Object Scale
      If enabled then the object's global scale is considered.

  • The Output Port(s):

    • Force
      The force. Plug this into an "Add Force" compound.
    • Fader
      This special value goes from 0 to 1.
      A value of 0 means that a particle is not influenced by any of the points and a value of 1 means that a particle is fully influenced by at least one point.
      This value can be used to fade in/out other forces. An example might be to fade out the gravity the more a particle is influenced by a point.

 


The Compound "emTool _ Pseudo Subframe on Emission"

An older and almost obsolete little compound that helps reducing the banding when emitting fast moving particles.
The newer emission compounds in Softimage 2011 and above do not require this compound any more, but if you are using Softimage 2010 or even XSI 7.xx then it can be of some help.

  • The Input Port(s) and Parameter(s):

    • Variance
      The amount of variance when emitting particles.

  • The Output Port(s):

    • Execute on Emit
      Plug this into an execute port of an emission compound.

 


The Compound "emTool _ Quantize Volume"

This special compound "quantizes a volume", a rather fancy way for saying "fills a volume with particles".

This compound was originally created for a client (hello, Peter!) some time ago. With his permission, for which I am grateful, it now is available for everyone.

  • The Input Port(s) and Parameter(s):

    • Input Surface (Orientation)
      The input geometry that will be used for rotation and orientation.
    • Input Geometry (Points/Volume)
      The input geometry that will be used for everything that involves points and volume.

    • Particle Amount
      • Use
        Specifies what shall be used when quantizing (volume or points). If volume is used then the level of detail can be specified either by an absolute number of particles in X, Y and Z or by a number of particles per SI Unit.
      • Number in X/Y/Z
        The "resolution" (= amount of particles) in X, Y and Z.
        This is only used if "Type" is set to "Volume, Number in XYZ".
      • Number-per-SI-Unit
        The amount of particles per SI Unit.
        This is only used if "Type" is set to "Volume, Number-per-SI-Unit".

    • Distribution (Volume)
      • Type
        The distribution type, "Grid" or "Packed".

    • Particle Size and Scale
      • Size
        The size of the points.

      • Scale
        • X/Y/Z
          The scale of the points.
        • Consider Input Geo's Bounding Box (Volume)
          If enabled then the point scale is set to the same ratio as the bounding box of the input geometry. Furthermore the particles are automatically scaled depending on the particle amount.
          When this is enabled then the parameter "Size" is best set to a value of 0.5.

    • Particle Orientation

      • Align to Surface
        • Weight
          Weight of rotational alignment.
        • Type
          The type of alignment.

      • Rotation Offset
        • X/Y/Z
          A rotation offset per axis.

    • Particle Miscellaneous
      • Shape
        The shape of the particles.
      • Color
        The color of the particles.
      • State ID
        The state ID of the particles.
      • Execute on Creation
        Some further "Set Data" compounds can be plugged in here, if needed.

    • Post Effects

      • Filtering (Volume only)
        • Filter by Volume
          If enabled (recommended) then the points are filtered by the input volume.
        • Negate
          If enabled then the input volume is negated.
        • Epsilon
          The epsilon value ( = tolerance value) when filtering by volume.

      • Randomize Rotations
        • Random-Seed
          The random seed.
        • Amount X/Y/Z
          Amount of randomness in X, Y and Z.

      • Randomize Positions
        • Random-Seed
          The random seed.
        • Amount X/Y/Z
          Amount of randomness in X, Y and Z.

    • Post Executes
      • Execute
        These ports are executed once the compound is done creating and filtering all the points.
        Note that any node or compound that is plugged in here will only affect the newly created points.

  • The Output Port(s):

    • Execute
      Plug this into an execute port.

 


The Compound "emTool _ Radius of Sphere"

This compound calculates the radius of a sphere.
q.v. Volume of Sphere.

  • The Input Port(s) and Parameter(s):

    • Volume
      The sphere's volume.

  • The Output Port(s):

    • Radius
      The radius of the sphere.

 


The Compound "emTool _ Resample Array Once"

Examples on how to use this compound can be found here:
emTools 1.33 - Walk Through New Stuff

 


The Compound "emTool _ Resample Linear Spline"

Resamples a linear spline (defined by the input array of positions).

Furthermore a Laplacian Smooth can be applied to the resampled positions.

Examples on how to use this compound can be found here:
emTools 1.33 - Walk Through New Stuff

 


The Compound "emTool _ Resample Strands Once"

Examples on how to use this compound can be found here:
emTools 1.33 - Walk Through New Stuff

 


The Compound "emTool _ Rotate Vector Advanced"

Examples on how to use this compound can be found here:
emTools 1.33 - Walk Through New Stuff

 


The Compound "emTool _ Scalar to String"

Converts a scalar value into a string.

 


The Compound "emTool _ Scale Particle Size"

Scales the current particle size.

  • The Input Port(s) and Parameter(s):

    • Scale
      The scale factor.

  • The Output Port(s):

    • Execute
      Plug this into an execute port.

 


The Compound "emTool _ Scale Particle Size with Random"

Scales the current particle size with some randomness.

  • The Input Port(s) and Parameter(s):

    • Scale
      The scale factor.

    • Random
      • Seed
        The random seed.
      • Time Varying
        Enable to use a different random at each frame.
      • Variance
        The variance around the "Scale" value.

  • The Output Port(s):

    • Execute
      Plug this into an execute port.

 


The Compound "emTool _ Snap to Grid"

Snaps the input position to the grid.

 


The Compound "emTool _ Test Intersection with Surface"

Tests if a particle intersect the input geometry.

Examples on how to use this compound can be found here:
emTools 1.33 - Walk Through New Stuff

 


The Compound "emTool _ Turbulize Position"

A little compound that will turbulize the current positions.
It is usually used in a Post-Simulation ICE Tree to add some jittering.

  • The Input Port(s) and Parameter(s):

    • Enable
      Enable/disable the compound.
    • Strength
      The amount of turbulence.
    • freq_Time
      The frequency in time of the turbulence.
    • freq_Space
      The frequency in space of the turbulence.
    • Complexity
      The complexity of the turbulence.
    • Seed
      The random seed of the turbulence.

  • The Output Port(s):

    • Execute
      Plug this into an execute port.

 


The Compound "emTool _ Twist Position"

A further little compound that will twist the current positions.

  • The Input Port(s) and Parameter(s):

    • Enable
      Enable/disable the compound.
    • Inside Twist
      Twist the inside rather than the outside.
    • Invert Twist Direction
      Inverts the twist direction.
    • Degrees per SI Unit
      The amount of degrees to twist per SI unit. The higher this value the more the positions get twisted.
    • Center
      The twist center.
    • Axis
      The twist axis.

  • The Output Port(s):

    • Execute
      Plug this into an execute port.

 


The Compound "emTool _ Volume of Sphere"

This compound calculates the volume of a sphere.
q.v. Radius of Sphere.

  • The Input Port(s) and Parameter(s):

    • Radius
      The radius of the sphere.

  • The Output Port(s):

    • Volume
      The volume of the sphere.

 


Chapter 4: The ICE Compounds (Vertex Islands)

 
The "Vertex Islands" is a set of ICE compounds for manipulating vertex islands.
The vertex island data is typically generated by emTopolizer , but it can also come from another source.
 

The Compound "emVI _ Initialize Island Data"

Initializes the vertex island data.

An example on how to use this compound can be found here:
emTopolizer 1.00 Tutorial 03 - Vertex Islands

 


The Compound "emVI _ Create Particles from Island Centers"

Creates one particle for each island center.

An example on how to use this compound can be found here:
emTopolizer 1.00 Tutorial 03 - Vertex Islands

 


The Compound "emVI _ Transform Islands"

Transforms the vertex islands.

An example on how to use this compound can be found here:
emTopolizer 1.00 Tutorial 03 - Vertex Islands

 


The Compound "emVI _ Get Island Center"

Gets the vertex island center.

 


The Compound "emVI _ Get Island Center Array"

Gets the vertex island center array.

 


The Compound "emVI _ Get Island ID"

Gets the vertex island ID.

 


The Compound "emVI _ Get Island Surface Area"

Gets the vertex island surface area (in square SI Units).

 


The Compound "emVI _ Get Island Surface Area Array"

Gets the vertex island surface area array.

 


The Compound "emVI _ Get Position relative to Island Center"

Gets a points position releative to its vertex island center.

 


Chapter 5: The ICE Compounds (Vertex Tagger)

 
The "Vertex Tagger" is a set of ICE compounds that can be used to tag vertices.
The tagged vertices can be used for all sorts of things, e.g. to make polygon meshes grow.
 

The Compound "emVT _ Tag"

Tags vertices.

Examples on how to use this compound can be found here:
emTools 1.33 - Walk Through New Stuff

 


The Compound "emVT _ Grow Tagged"

Grows the currently tagged vertices:

it will tag all vertices that are not tagged but have tagged neighbor vertices.

Examples on how to use this compound can be found here:
emTools 1.33 - Walk Through New Stuff

 


The Compound "emVT _ Get Tagged"

Gets the "per vertex" tagginess information.

Examples on how to use this compound can be found here:
emTools 1.33 - Walk Through New Stuff

 


The Compound "emVT _ Set Topo from Tagged"

Sets the topology based on the source geometry and its tagged vertices.

What this compound does is to basically filter the polygons of the source topology.

Use this to make polygon meshes grow (or vanish).

Examples on how to use this compound can be found here:
emTools 1.33 - Walk Through New Stuff

 


The Compound "emVT _ Create Network"

The Vertex Tagger only works if a vertex (or a point) has neighbor information. For polygon meshes this neighbor information is available through polygons and edges, but point clouds do not have that.

This compound will create a neighbor network which the Vertex Tagger will use.

Note that this is only required when using the Vertex Tagger with point clouds.

 


Chapter 6: The Custom Commands

 

The Command "Open most recent Scene"

This command will open the most recently opened scene file.

Usage:

  • In the script editor (or a script in general) execute the command emTools__OpenMostRecentScene.
Tip: map this command to the keyboard shortcut "Shift + CTRL + O".

 


Chapter 7: The Shader Compounds

 
 

The Compound "emTool _ Cubic Mapping"

This shader compound will produce a nice cubic mapping without any seams.

The usage is simple:

  1. In the Render Tree Viewer enter "cubic" in the search field to find the shader compound called "emTool_CubicMapping"

  2. Drag and drop the compound into your Render Tree and connect it to a shader, e.g. the ambient and diffuse ports of a Phong shader.

  3. Add and connect three image shaders to the emCubicMapping compound as shown in the picture below. Each image shader should use a different projection: XY, YZ and XZ. You can use one, two or three different images. Below is an example that uses three different images.

 

 


Tips and Tricks, Trouble Shooting

  • Tips and Tricks:

    • Don't use the Softimage "Simulation Root" compound.
      It is recommended to not use the above compound.

  • Trouble Shooting:

    • PROBLEM ("emTools _ Melt Particles"): Some particles get huge even though it is obvious that they shouldn't.
      SOLUTION: the neighboring parameters probably are not correct. Try using "Automatic" for the distancing and possibly increase the maximum number of neighbors (setting this value too low results in those big particles).

    • KNOWN ISSUE ("emTools _ Create 3D Point Primitive"): Softimage crashes when creating millions of particles.
      CAUSE: unfortunately there is a bug in the factory Softimage node "Sort Array with Key".
      This bug results in crashes when using the "Filter by Sphere/Cylinder/Profile" feature together with high amount of particles (around 32 million).
      This bug has been reported and Softimage will hopefully fix it for the next version (Softimage 2013).

 


Version History

  • New in Version 1.1:

    • New ICE compound "Center of Geometry".
    • New ICE compound "Melt Particles".
    • New ICE compound "Quantize Volume".
    • New ICE compounds to calculate the intersection between spheres as well as the volume/radius of spheres.
    • Some little helper ICE compounds.

  • New in Version 1.17:

    • New ICE compound "Create 3D Point Primitive".
    • New Shader compound "Cubic Mapping".
    • Updated ICE compound "Init slim Particle Data".

  • New in Version 1.25:

    • New ICE compound "Integer to String".
    • New ICE compound "Scalar to String".
    • New ICE compound "Twist Position".
    • New ICE compound "Liquid Filaments Strands".
    • Updated ICE compound "Liquid Filaments Points" (renamed and made public).
    • Updated ICE compound "Center of Geometry" (now also supports barycenter).
    • Updated ICE compound "Create 3D Point Primitive".

  • New in Version 1.333:

    • New Tool Set "Vertex Tagger".
    • New ICE compound "Align Vector to Edge / Object Axis / Surface".
    • New ICE compound "Align Velocity to Edge / Object Axis / Surface".
    • New ICE compound "Blur Vertex Data".
    • New ICE compound "Clamp Zero One".
    • New ICE compound "Equal Distribution in Space / on Surface".
    • New ICE compound "Get Vertex Data".
    • New ICE compound "Linear Interpolate Color".
    • New ICE compound "Resample Linear Spline".
    • New ICE compound "Resample Array Once".
    • New ICE compound "Resample Strands Once".
    • New ICE compound "Rotate Vector Advanced".
    • New ICE compound "Snap to Grid".
    • New ICE compound "Test Intersection with Surface".
    • Updated ICE compound "Liquid Filaments Strands".
    • Updated ICE compound "Twist Position".
    • Updated ICE compound "Init slim Particle Data".
    • Updated ICE compound "Local Rotation".
    • Updated ICE compound "Scalar to String".

  • New in Version 1.4:

    • New ICE compound "NaN Detector".

  • New in Version 1.44:

    • New ICE compound "File Exists".
    • New ICE compound "Null to Sphere".

  • New in Version 1.50:

    • New ICE compound "Force Value Evaluation".
    • New Custom command "Open most recent Scene".
    • New ICE compound "Object to Sphere".
    • New ICE compound "Objects to Spheres".

  • New in Version 1.60:

    • New ICE compound "PolyMesh to Spheres".
    • New ICE compound "Join Strings".
    • In preparation for Fabric Engine: moved to XSI SDK 10000 ("Softimage 2012.5").
    • The ICE compound "Resample Linear Spline" now supports all contexts (per object, per point, per polygon, etc.).
    • The ICE compound "Quantize Volume" is now public.
    • The ICE compound "Intersection of a Ray with a Plane" now works with SI 2011 and above.
    • The ICE compound "Intersection of two Lines" now works with SI 2011 and above.

  • New in Version 1.60:

    • New ICE compound "Generate Position Set".
    • New ICE compound "Generate Sample Set".
    • New ICE compound "Simplify Linear Spline".
    • The ICE compound "Number to String" now supports all contexts (per object, per point, etc.).

 


Limitations and Remarks

  • emTools is only supported on 64 bit systems.

  • emTools runs fine with Softimage 2012 SP1 or above.

  • emTools seems to work with Softimage 2010 and Softimage 2011, too, but officially only Softimage 2012 SP1 and above is supported.

  • The demo scenes are only available for Softimage 2011 SP1 and above.

  • Some demo scenes are only available for Softimage 2012 SP1 and above.

  • Known issue (SI 2013 SP1 and below):
    if "Resample Linear Spline" has nothing plugged into the "Control Point" port then it can crash Softimage when used with the factory "Add Point" node.
    This has been fixed in SI 2014.