VertexMap Object

This object allows you to generate vertex maps from the speed of the vertices in a polygon object, or alternatively to produce the vertex map from a texture applied to the object's parent. The vertex weights in the resulting vertex map tag will be updated each frame as vertices move or as the texture changes (e.g. when using an animated texture).

Note also that it will only generate a vertex map for the object dropped into the 'Object' field - that is, object hierarchies are not supported.

When an object is dropped into the link field, it will automatically create a vertex map tag using the name in the 'Vertex Map Name' parameter.

Interface

The object's initial interface looks like this:

For the 'Groups Affected' and 'Falloff' tabs, and for the buttons at the bottom of the interface, please see the 'Common interface elements' page.

Parameters

Vertex Map Name

The object will look for a VertexMap Tag with this name attached to the object's parent. If it doesn't find a tag with this name, the object has no effect.

The default name is 'VMSource'. If you change this before the vertex map tag is created, the tag will be given the new name. If you change it after the tag is created, you will have to change the tag's name manually or the object will not be able to find the tag and will have no effect.

You cannot delete the vertex map tag once created - or at least, you can, but it will be recreated automatically. If you really need to delete the tag, turn the Vertex Map object off in the object manager and then delete the tag.

Object

The object to create and update the vertex map on.

The object for which a vertex map is to be generated must be an editable polygon object. Parametric objects such as primitive objects, the Sweep object, etc. are not supported because vertex map tags cannot be assigned to these objects.

Invert Output

If checked, this switch will invert the vertex map output, so a weight of zero will become 1, and vice versa.

Source

This gives the type of source the object will use. It has these options:

Explosia

With this option, the map is set from one of several parameters in an Explosia FX object. The map is updated as the Explosia simulation plays but resets to zero on rewinding the scene. See the Explosia options section below for details.

Polygons

In this mode, the polygon face is used to generate the map instead of only the vertices. In these images the map on the left was produced using the vertices of a cube ('X-Particles/Vertices' mode), on the right the face made up by these vertices was used in 'Polygons' mode:

See the options section below for details.

Splines

In this mode, the whole spline is used, not just its vertices. You can see the difference in these images. On the left, only the vertices of a Star spline are used ('X-Particles/Vertices' mode) and on the right when 'Splines' mode is used:

See the options section below for details.

Texture

With this mode, the object samples the colour of the parent object at each vertex and by default calculates the colour brightness in the range 0 to 1. This value is then assigned to the vertex weight. If the colour at each vertex changes as the animation plays, the vertex map will be updated accordingly.

Note that it is colour brightness which matters, not the hue. In other words, a pure red (RGB 255, 0, 0) has the same brightness as pure blue (RGB 0, 0, 255) even though the hue is very different. If you need to use the hue, select one of the other 'Texture Mode' options (see below).

Vertex Speed

The vertex map weights will be generated by the speed of each vertex as it moves when the animation is played. The vertex speed is assigned a weight from 0 to 1 using a range set with the 'Min. Speed' and 'Max. Speed' parameters. If the speed is lower than the minimum, the vertex weight is zero; if it is greater than the maximum the vertex weight is 1.0. Choose the speed range carefully in order to see the maximum change in weight.

X-Particles/Vertices

In this mode, the vertex map weight will be set when particles from an X-Particles emitter, or the vertices of another object, come near to a vertex in the object which receives the vertex map. See the options section below for details.

Min. Speed, Max. Speed

The minimum and maximum speed settings for the speed range. Vertex speeds within this range will have a weight value from 0 to 1. Note that the minimum and maximum speed values are per second, not per frame.

Vertex Space

This drop-down lets you choose between two spaces for calculating the vertex speed. If you are moving some vertices in a mesh relative to other vertices you might want to use 'Local', and then moving the object as a whole won't affect the weight. However, if you move the entire object you need to use 'World' space to see any change in the weights. The options are:

Local

The vertex speed is relative to the other vertices in the object. With this setting, if you only animate the movement of the object rather than the individual vertices, the vertex weight will always be zero, since the vertices are not moving, relative to other vertices. If you animate some or all of the individual vertices their speed is calculated each frame and the vertex weight generated from that speed.

World

The vertex speed is relative to the object's position. This is the option to choose if you are animating an entire object (even if some vertices also move independently of the object's position and others do not).

Texture options

These are only available when 'Source' is set to 'Texture':

Texture Tag

This is only available when 'Source' is set to 'Texture'. Drag the texture tag you want to use from the parent object into this field.

There are some limitations on textures:

  • Only channel shaders can be used, not materials such as Hair, Nukei, etc.
  • The texture must use UV projection as it is sampled by UV mapping. If you use a Noise shader, you should set its 'Space' parameter to 'UV (2D)' or what you see in the viewport will not match the rendered result, if you need to see that.

Texture Mode

This drop-down controls how the texture colour will be used to generated the vertex map. The default is 'Overall Brightness' which uses the colour brightness to generate the map. This means that a colour of pure red will generate the same vertex map as a pure blue colour, since they have the same brightness but different hue.

To use different colours you can select the 'Red Only', 'Green Only' or 'Blue Only' options. With these, the amount of each colour in the sampled texture will control the vertex map weights.

Texture Channel

This drop-down is a list of possible texture channels to sample. You can use any of these channels, so you can use a channel which is not being used to render the material, if you like.

Polygons, Splines and X-Particles/Vertices mode options

These parameters are only available when 'Source' is set to 'Polygons', 'Splines' or 'X-Particles/Vertices':

Emitters/Objects

Drag the X-Particles emitter(s) or other objects (splines or polygon objects) into this list. These are used to generate the vertex map when the particle or vertex comes close to one of the vertices to be weighted.

Mode

Four modes of operation are possible. These are:

Set Weight

The vertex map weight is set and will remain set unless changed by another particle or object vertex changing it. The actual weight set is found in the 'Weight' parameter.

Set Weight Then Fade

As for 'Set Weight', but after being set the vertex map weight will decrease to zero. The rate of fall is controlled by the 'Fade Rate' parameter.

Increment Weight

The vertex weight will be incremented by the value found in 'Rate of Change'. For example, if this is set to 0.01, each time a particle or object vertex comes close enough, the vertex weight will be increased by that amount. The final weight cannot exceed a value of 1.

Decrement Weight

As for 'Increment Weight' but the vertex weight is reduced by the value in 'Rate of Change'. It can never drop below zero.

Only Set if Higher

If this switch is checked, the vertex map weight will only be set if it is higher than the current weight for that vertex. Not available for the increment or decrement modes.

Range

A particle or vertex from another object must come closer than this value to a vertex to be weighted for any change to take place.

Weight

The weight value to use if 'Mode' is set to 'Set Weight' or 'Set Weight Then Fade'.

Fade Rate

The fade value to use if 'Mode' is set to 'Set Weight Then Fade'. The higher this value, the quicker the fade will take place.

Rate of Change

The value to use if 'Mode' is set to 'Increment Weight' or 'Decrement Weight'.

Range Falloff

This spline can be used to alter the weight value (from 'Weight') or the amount to increment or decrement the weight (from 'Rate of Change'). A value between 0 and 1 is obtained from the spline depending on the distance between the weighted vertex and the particle (or vertex of another object). This value is then multiplied with the weight or rate of change value to give the final result.

In the screenshot above, if the distance is zero (left-hand end of the spline) the full weight or rate of change is used. If the distance is equal to or greater than the value in 'Range' (right-hand end of the spline) the weight or rate of change will be zero.

Reset Map

At any time you can click this button to clear the existing vertex map and recalculate it. This can be useful, for example, if you are using the vertices of another object to generate the map and you move the object around, causing the map to be updated. If you then want to clear that map and return to the starting position, you can advance the timeline by one frame and rewind it, forcing an update. To avoid having to do that, simply click this button.

Example

In this example, particles from an emitter set the vertex weight when they approach the Plane object:

You can achieve the same effect with the vertices of a moving object.

Note that when using this mode, the vertex map is only created when the animation is played. Rewinding to the start of the scene will reset the vertex map uniformly to zero. During the animation the map will change as particles and/or vertices of other objects approach the vertices of the object to receive the map.

Explosia options

As an example, here is a Figure object (made editable) and used as a source for an Explosia solver. The vertex map is generated from the temperature of voxels in the solver:

You can see the vertex map being updated as the solver proceeds (the solver itself has been hidden so you can see the vertex map clearly).

These parameters are only available when 'Source' is set to 'Explosia':

Explosia Object

The Explosia FX object to use. In this case the object to be weighted does not need to be an Explosia FX source object, but it must be located within the solver bounds.

Parameter

The Explosia parameter to use. You can choose between:

  • Smoke
  • Temperature
  • Fire
  • Velocity (X)
  • Velocity (Y)
  • Velocity (Z)
  • Color (R)
  • Color (G)
  • Color (B)

Min. Value, Max. Value

This is the range of weight values that can be set. The defaults are 0 and 1 respectively, so the parameter from Explosia will be mapped to between those two values. If you increase the minimum value to 0.25, for example, the minimum weight which will be set is 0.25.

Remap

This spline can be used to remap the calculated weight value. In its default state (see the above screenshot) it has no effect. But if, for example, you lower the point at the right-hand end of the spline, so that it has a value of less than 1, this will be multiplied with the maximum calculated weight. You can animate this spline to alter the map over time.

Blend

This is a smoothing control intended to prevent hard changes in weight across neighbouring vertices. It has the effect of smoothing out the vertex map. With a value of zero (the default) no smoothing takes place.

One important point to note about the Blend option is that blending takes place each frame. So if you have a system where the weight is initially set, for example by a particle or the vertex of a nearby object, then each frame that weight will be blended with the weight of the vertices around it. If the particle or vertex moves away, so it is no longer close enough to set the weight, the vertex weight may either increase or decrease, depending on the weights of neighbouring vertices. This won't happen if the weight is refreshed each frame, such as from a texture or a non-moving object, but it may do if the weight is initially set and then not set again in subsequent frames.

If you have used a blend value of above zero and you see your vertex weights mysteriously fading or brightening for no apparent reason, this may be the answer.

Recalculate Map

Sometimes the scene may change in some way but this is not reflected in a change in the vertex map. For example, altering the falloff in the VertexMap object might be expected to change the vertex map, but it does not. This is because the object cannot recalculate the scene for every possible change, as this would slow down Cinema itself. It only does so when the current frame changes.

You can force a recalculation by advancing the timeline by 1 frame, or more conveniently by clicking this button. The map is always updated when you play an animation, so this button is only needed when developing your scene. It is not applicable to vertex speed mode since, by definition, the map can only update when the animation plays.