The tyWetmap modifier generates UVW-space wetmap textures by simulating the contact and influence of particle/mesh objects on a surface over time. It unwraps the target mesh’s UVWs, then iterates through a specified frame range, accumulating wetness data frame-by-frame and outputting the result as a sequence of PNG files.
The tyWetmap modifier operates in two stages: first, the UVWs should be unwrapped into a non-overlapping atlas (which can be done in the UVWs rollout), and then wetmaps can be generated. If the input mesh topology changes, the UVWs will become invalid and need to be re-unwrapped before generating.
A tyWetmap modifier can be instanced across multiple objects in order to unwrap and generate textures for all of the objects together.
This rollout handles the UVW unwrapping that the wetmap generation depends on. The unwrapped UVWs are stored internally in the modifier and applied to the mesh on the specified map channel during stack evaluation.
You don’t have to unwrap UVWs with the tyWetmap modifier if you wish to use your own, already-unwrapped UVWs - just ensure that the UVWs you use instead are properly laid out and are non-overlapping.
Pack existing (no unwrap): uses the mesh’s existing UVWs on map channel 1 and packs them into a normalized atlas layout, area-normalized across all mesh elements. If a mesh element has no UVWs on channel 1, a planar projection is generated using PCA to find the best projection axis. No new unwrapping is performed.
EOBBP: Element-Oriented Bounding Box Projection. Each mesh element is analyzed via PCA to find its dominant orientation, box-projected in that space, and then packed into an atlas using xatlas, with UVW islands area-normalized relative to the total surface area of all meshes the modifier is applied to.
xatlas: a full automatic UVW unwrap and pack using the xatlas library. This produces the most distortion-free result but is the slowest option.
Unwrap UVWs: runs the unwrap algorithm and stores the resulting UVWs in the modifier.
Clear: removes the stored UVW data.
The unwrapped UVW data is saved with the .max file. If you open a scene with a tyWetmap modifier that already has valid UVWs, you do not need to re-unwrap unless the mesh topology has changed.
The list of scene objects whose proximity to the target mesh’s surface will be used to generate wetmaps. These can be geometry objects, particle systems, or objects with a volume interface (e.g. tyFlow Inferno simulations).
Use interface if available: the modifier will read particle data from the object’s particle interface if one is present and enabled, and fall back to treating it as plain geometry otherwise.
Force interface: forces access to a tyFlow particle interface, even if it is not enabled on the object.
Ignore interface: treats all influence objects as plain mesh geometry regardless of whether a particle interface is available.
Include meshless particles: when enabled, particles that have no associated mesh geometry will still contribute to wetness based on their point position. When disabled, only particles with actual mesh geometry are considered.
Simulation Groups: controls which particle simulation groups will be included for wetmap generation.
Export Groups: controls which particle export groups will be included for wetmap generation.
Enable custom float filtering: when enabled, only particles whose value in the specified custom float channel matches the filter condition will be included for wetmap generation.
No substep simulation: no intermediate steps are computed. Each frame uses only the mesh state at that frame - is generally faster but can lead to stepping artifacts.
Elongated mesh: influence meshes will be elongated between their previous and current position, ensuring coverage over the swept path. Useful for fast-moving objects.
Interpolated mesh: influence meshes will be linearly interpolated between their previous and current frame states, over the specified number of steps.
Simulate substeps is distinct from the Substeps parameter in the Generate rollout. Substeps controls how many times the time is advanced per frame during generation (breaking each frame into finer time increments). Simulate substeps controls how the influence mesh geometry itself is subdivided temporally within each generation step.
These controls determine how closely an influence object’s mesh must be to the target surface to influence the generated wetmap.
Max distance: Pixels on the wetmap whose corresponding surface point falls within this distance to an influence object will be affected.
Zero distance if inside volume: when enabled, points on the target object that are inside the volume of an influence object are treated as having zero distance, and will receive full influence regardless of the affect curve.
Affect curve: a bezier curve that maps normalized distance (0 = on the surface, 1 = at max distance) to influence amount. Allows you to shape the falloff of wetness with distance.
Influence relative to velocity: when enabled, the influence of each point on an influence object will be scaled relative to its velocity.
Min / Max: the velocity range that maps to 0-1 influence, used together with the velocity curve.
Velocity curve: maps normalized velocity (within the min/max range) to an influence multiplier.
Mask influence with texmap: when enabled, the influence of each point on an influence object will be multiplied by the value of the specified texmap sampled at that point’s UVW coordinates.
Color transfer: when enabled, affected pixels will receive a color value in addition to an influence value, as opposed to pure white.
Color mode:
Specified color: all affected pixels receive the same solid color.
Texmap: affected pixels receive the color sampled from a texmap at the surface point’s UVW coordinates.
Vertex colors: affected pixels receive the interpolated vertex color of the nearest face on the influence object.
If a wetmap is already colored by an influence object, and another influence object touches it in the same spot, the colors will naturally mix if the influence of the second object is less than 1 (ie, less than full influence). However, if the influence of the second object is 1 (ie, full influence), it will simply overwrite the color of prior influence objects. The “(mixing) amount %” control allows you to override this behavior, forcing colors to mix even if an object has full influence over the location on the mesh. For example, if a prior object painted an area of the surface red, and another blue object with full influence then moves over that same location on the surface, the result will be blue - but if you set mixing amount to some value greater than 0%, the result will instead converge to a shade of purple, even if the second object has full influence.
Depending on the resolution of the generated wetmap, computing a live sample from influence/color texmaps for each point can be computationally expensive. Enabling the texmap cache can reduce the time spent computing texmap values during wetmap generation, with the only caveat being that cached texmaps will only be evaluated for a single map channel. If you plan to utilize texmaps that combine the results of several map channels, ensure you disable the texmap cache.
Cache texmaps: when enabled, texmaps are pre-evaluated into a flat pixel buffer before generation begins, rather than being evaluated per-point during generation. This is significantly faster for complex texmaps.
Map channel: the map channel used when sampling the texmap cache.
Resolution: the resolution of the cached texmap buffer.
For animated texmaps, the cache is invalidated and rebuilt whenever the texmap’s validity interval expires. If your texmap changes every frame, caching may not provide much benefit over direct evaluation.
Source depletion: when enabled, influence objects gradually lose their ability to affect the generated wetmap as they accumulate contact with the surface. This simulates a wet object drying out as it transfers moisture.
Rate: the rate at which sources deplete per frame of contact. Higher values cause points on the influence objects to deplete their possible influence faster.
These controls determine how fluid simulation volumes (from Interno simulations) influence the generated wetmap. Volume influence is additive on top of any mesh-based influence.
Point sample: a single volume sample is taken at every evaluated point on target surfaces.
Cone sample: multiple samples are taken in a cone pattern emanating from each point on the target surface, outward from the surface’s normal. Useful for sampling volumes in an area around each point, not just at the exact location of each point itself.
Points: the number of cone samples per surface point.
Spread: the overall length of the cone sampling pattern.
Divergence: the angular divergence of the cone sample points from the nearest surface normal, in degrees. Controls how wide the cone is.
Result: controls how multiple cone samples are combined into a single influence value.
Average value: all samples are averaged equally.
Average value (weighted): samples are averaged, weighted by the inverse of their distance to the source point.
Max value: the highest sample value is used.
Max value (weighted): the highest sample value, weighted by the inverse of its distance to the source point, is used.
Influence relative to density: when enabled, volume density is read from the fluid simulation and used to scale the wetmap contribution.
Min/Max: the density range that maps to 0-1 influence, used with the density curve.
Multiplier: a multiplier applied to the overall influence amount.
Density curve: maps normalized density (within the min/max range) to an influence amount.
Influence relative to temperature: when enabled, volume temperature is read from the fluid simulation and used to scale the wetmap contribution.
Units: specifies which temperature units to use for the min/max values.
Min/Max: the temperature range that maps to 0-1 influence, used with the temperature curve.
Multiplier: a multiplier applied to the overall influence amount.
Temperature curve: maps normalized temperature (within the min/max range) to an influence amount.
Temperature and density influence are independent and additive. Both can be enabled simultaneously.
Amount: the amount of wetness that fades (is subtracted) each frame during generation. Applied multiplicatively per frame, so higher values cause the wetmap to dry out faster between frames.
Cutoff: wetness values that fall below this threshold will not be faded. Prevents wetness from completely fading out to nothing over time.
Start/End: the frame range over which the wetmaps will be generated.
Set to timeline: sets the start and end frames to match the current 3ds Max timeline range.
Substeps: the number of additional sub-frame evaluations performed between each pair of frames. A substep value of 0 means no substeps (one evaluation per frame). Higher values capture fast-moving influence objects more accurately, at the cost of proportionally longer generation times.
Back color: the base color of pixels that have no wetness. This color fills the RGB channels of the output at zero-wetness pixels.
Layout: controls how color and wetness data are packed into the output PNG’s RGBA channels.
RGB = Color, Alpha = Influence: the RGB channels contain the wetmap color (or back color where dry), and the alpha channel contains the raw wetness value (0 = dry, 1 = fully wet).
RGB = Color x Influence, Alpha = 1.0: the RGB channels contain the color pre-multiplied by wetness, and alpha is always 1.0.
Resolution: when enabled, overrides the resolution used for the viewport preview to the specified value (capped at the output resolution). Lowering this makes the preview update faster without changing the actual output.
Color: when enabled, overrides the rendered preview color for all wet pixels with a solid color. Useful for visualizing the wetness extent cleanly without caring about the actual color data.
Back color: when enabled, overrides the background (dry pixel) color in the preview only.