Channel Modifiers

Introduction

Krakatoa MY implements a set of channel and object “modifiers” using the Extra Attributes of particle objects. These “modifiers” allow simple channel operations - the creation of new and setting of existing Float and Vector channels to new values, the scaling of existing channel values by multiplying with a Scalar, the evaluation of Maya textures to produce per-particle data, and the repopulation of particle systems to increase their particle count.

This system is not a replacement for the full-blown Magma channel editing sub-system already available in Krakatoa MX for 3ds Max, but it provides some of its basic capabilities until Magma is integrated with Krakatoa MY in future updates.

Modifier Types

Set Float Channel modifier

  • This set of attributes lets you replace the value of all particles in any Float channel.
  • The Set Float Channel modifier will create a new Float channel if the specified channel name is not defined yet. Thus, it can be used to create new channels to store custom Float values.

Set Float[3] Channel modifier

  • This set of attributes lets you replace the value of all particles in any Vector channel.
  • The Set Float[3] Channel modifier will create a new Vector channel if the specified channel name is not defined yet. Thus, it can be used to create new channels to store custom Vector values.

Copy Channel modifier

  • This set of attributes allows you to copy the values from one channel to another channel
  • For example copying the Normal channel into the Color or Emission channel lets you easily colorize particles produced by a PRT Volume based on the surface normals of the source mesh.
  • If the Target channel does not exist, a new channel with the specified name and the same type as the Source channel will be created.
  • If both the Source and the Target channels exist and the Source channel is of Vector (float[3]) type, the Target channel must also be of Vector type, otherwise an error will be generated.
  • If both the Source and the Target channels exist and the Source channel is of Float type, but the Target channel is of type Vector, only the first component (X, or R) of the Vector will be set.

Scale Channel modifier

  • This set of attribures allows the scaling of an existing Float or Float[3] channel by multiplying its values with a Scalar.
  • This is useful when you need to scale up or reduce the values in a channel.

Apply Texture modifier

  • This set of attributes defines a connection to a Maya Texture that will be evaluated for each particle to populate a user-defined channel, by default the Color channel.
  • If the output channel does not exist, a new Float[3] channel with that name will be created in the particle stream.
  • A mapping coordinates (UVW) channel has to be specified and will be automatically connected to the UV input of the texture. The default is the Position channel, thus producing 3D mapping.
  • If no texture is selected in the modifier, it can be used to set a Float[3] channel to a color value using the Color picker and slider UI controls. This is generally more intuitive than using the Set Float[3] modifier which exposes only 3 value fields.

Repopulate Particles modifier

  • This set of attributes enables the render-time particle repopulation.
  • It takes the existing particle system and defines spheres of influence around each particle, then seeds new particles within the volume defined by these regions to produce a much more dense point cloud.
  • This approach is very similar to calculating an iso-surface and filling the resulting volume, thus the resulting particle distribution is best suited for liquid-type fluid simulations, for example low-resolution particle sequences saved from applications like RealFlow or Naiad.
  • See this tutorial topic for details.

The Modifier Manager

  • To simplify the management of the Extra Attributes, a dedicated Krakatoa Modifier Editor tool has been implemented. It can be opened by pressing the blue MOD icon on the Krakatoa shelf.
  • It provides a list box with all valid particle sources in the scene including Maya Particles and Krakatoa PRT objects. If a particle object is selected in the scene, it will be selected automatically on the list.
  • A set of 6 buttons let you add the various Modifier types to the highlighted particle object.
  • The existing modifiers will be listed in a second list box underneath the Add Modifier buttons.
  • A set of 4 buttons let you reorder the existing modifiers by moving the Up and Down, to Top and to Bottom.
  • The last button at the bottom of the tool lets you delete the currently highlighted modifier - this will remove all attributes associated with it.

Evaluation Order

  • Other than the “Modifier Stack” of Autodesk 3ds Max where the data is represented as flowing from bottom (base object) up through the modifiers, Krakatoa MY uses a Modifiers List where the data flows top to bottom.
  • New Modifiers are always added to the end of the list, but can be moved To Top, To Bottom, Up and Down as needed using the Krakatoa Modifiers Editor to produce the correct data flow.
  • If a Channel used by a Modifier has to be initialized first, the Set Channel Modifier should obviously precede the Modifier using that new channel.
  • In general it is recommended that Channel Modifiers for setting, scaling, copying or texturing are applied AFTER the Repopulation modifier. For example, setting a new Emission value before a Repopulation modifier can produce some artefacts when propagating the data to the new particles, while setting the Emission after the Repopulation will affect the newly created particles and produce a clean result!

See Also

  • Krakatoa Modifier Editor dialog
  • Modifiers and Particle Repopulation in Krakatoa MY