Krakatoa Skin Wrap World Space Modifier

Available in Krakatoa v1.5.0 and higher

Introduction

  • The Krakatoa Skin Wrap WSM was designed specifically to allow the deformation of particle clouds by arbitrary meshes, allowing skinned characters to deform particles to produce for example walking particle clouds.
  • As a side effect, the Krakatoa Skin Wrap can also be used as a replacement for the 3ds Max Skin Wrap modifier to transfer animation from one geometry object onto another.
  • For workflow examples, please see the topic Krakatoa SkinWrap Particle and Mesh Deformations.

Features Overview

  • Can deform both particles and mesh vertices.
  • A user-defined reference frame of the cage mesh provides the initial influence values.
  • Provides two weigth modes:
    • Adaptive weighting is based on the distance to the closest face and a multiplier, thus adapting to the location of the deformed point relative to the geometry. Points closer to the surface will be weighted by less polygons, points farther from the surface will take into account the influence of more faces.
    • Explicit face count weighting lets you specify the number of faces to take into account. When set to 1, produces “rigid deformation” by the closest face only.
  • Other than the 3ds Max SkinWrap modifier, no long pre-calculations are needed to set up - it calculates the weights on-the-fly.
  • The deformed object can change topology over time without problems. Only the deforming object must have consistent topology.
  • If the deforming object’s topology between the current and the reference frame has changed, the Krakatoa Skin Wrap will disable itself automatically.

Limitations

  • The Krakatoa Skin Wrap WSM has the following shortcomings when compared to the SkinWrap Modifier in 3ds Max:
    • The Krakatoa Skin Wrap supports only a single deformer object, while the SkinWrap Modifier allows the addition of multiple meshes. You can use the Thinkbox Software XMesh to combine multiple meshes into one, or the 3ds Max Attach mode of the ProBoolean compound object to work around this limitation.
    • The SkinWrap Modifier is an Object Space Modifier and can be placed anywhere on the stack. The Krakatoa Skin Wrap on the other hand is a World Space Modifier and can only be placed above the node transforms.
    • Once the SkinWrap Modifier has calculated and stored its weights, it usually updates faster than the Krakatoa Skin Wrap because it does not have to build any data on the fly. Thus, the calculation time is offset to the beginning of the SkinWrap assignment process, while in Krakatoa Skin Wrap it is spread across the frames.
    • The SkinWrap Modifier provides different deformations engines and exposes more controls.

User Interface

../../../_images/krakatoa_skin_wrap_gui.png
  • The Krakatoa Skin Wrap WSM provides the following UI controls:

Skin Wrap Node pickbutton

  • Use to select the Deformer geometry object to drive the deformations.

Base Frame spinner

  • Specifies the reference frame to calculate the relative position of the deformed point to the deforming geometry at.
  • Negative frames are supported.

Exponent spinner

  • Controls the influence of the faces based on their distance to the deformed point.
  • Defaults to 6.0 and should not be changed in most cases.

Tessellation spinner

  • Defines the iteration level of internal tessellation to apply to the deforming object before calculating the influence of its faces onto the deformed points.
  • Defaults to 1 which means “No Tessellation”, each face will be taken as is.
  • Can be increased to refine influence of low-resolution deformer geometry onto high-resolution deformed geometry.

Radius radio button and spinner

  • When the radio button is set to Radius, the deformed point will first find the distance to the closest point on the deformer’s surface.
    • Then, all faces within that distance multiplied by the Radius value will be collected and their influence on the point will be calculated.
    • Thus, if a point lies on the face, the distance to the face will be zero and no other faces will be considered to deform it.
    • If the point is 10 units from the surface and the Radius is set to its default 1.5 value, all faces within 15 units from the deformed point will be weighted to participate in its deformation.
    • The value of 1.5 has been determined to be the optimal setting for the majority of cases. Setting the value to 1.1 can speed up performance while still working relatively well for high-density deformation meshes.
    • Higher values will slow down performance, lower values will reduce quality and could produce invalid velocities in some extreme cases.
    • If you want to limit the number of faces affecting a point, see the following option:

Count radio button and spinner

  • When the radio button is set to Count, the deformed point will use the closest N faces where N is the value of the spinner.
  • Default is 4.
  • When set to 1, only the closest face will be used to deform the point, resulting in so-called “rigid deformation” which can be used to increase performance during interactive tweaking.
  • Higher values will produce smoother deformations at cost of speed, while still limiting the number of faces influencing a particular point.
  • If a point is expected to be farther than the bounding sphere of the deforming object, using the Radius method would result in ALL faces contributing to the deformation which can cause severe slowdowns. In such cases, using the Count method should be preferred.
NOTE: When deforming a particle cloud in the viewport, many particles are typically far away from the deforming surface. Switching to Count:1 for Rigid Deformations can speed up the performance of the Krakatoa Skin Wrap significantly. For rendering, switch back to Radius:1.5 to get smooth deformations.