Hello, I'd like to share with you a proposition for a new modifier. To save you some reading, I posted a short video presentation on Youtube.. You may also want to see Thomas's video in the "Rocket Science" series, with very good use cases.
From RC4, the "noise modifier" is integrated within the "displace modifier".
The features:
The displace modifier now has 2 mode, with 2 distinct UI pannels: texture and random.
The former proposed noise modifier is now the "random" mode of the displace modifier.
It has 3 modes.
All 3 modes share the following settings:
- Seed: the seed used to initialize random number generators.
- Probability: the probability that a given item (vertex, mesh object, loose part) is affected at all by the modifier.
- Factor: the global effect of the modifier on the mesh.
- Use name as seed: when checked, the (unique) name of the object is used to alter the seed, so that two copies of the same mesh object have different random variations.
- Noise mode: one of Linear / Gaussian / Constant. In linear mode, the random amounts are evenly distributed within [0; max], or within [-max; +max]. In Gaussian mode, the random amounts follow a normal distribution with mean at max setting, and standard deviation as defined in UI. I n Constant mode, each item, *when affected* is offset by exactly the max amount; this makes sense together with the "probability" setting.
- Std deviation: the standard deviation of the normal distribution, centered on the 'max' value (which in this case is the mean value).
(Only for whole mesh and loose parts)
- Use object for offset: when this is checked, the max offset is provided by another object, in many cases an empty.
- Offset object: the object that defines the max offsets.
- In vertex mode, the individual vertices are randomly displaced.
The settings are:
- Translation along normals: vertices are offset along the vertex normals, by a random amount, with a maximum (or mean) amount defined by "Normal offset".
- Translation X, Y, Z offsets. The maximum (or mean in case of Gaussian mode) amounts that vertices are offset.
- Translation plus/minus. When checked, offset is within [-max; +max], when unchecked, offset is within [0; +max]
- Affected group: a vertex group that defines how vertices are affected, with weight influencing offsets.
- In whole mesh mode, the mesh is offset as a whole. This mostly makes sense together with the "use name with seed" option. In this case, each copy (either shift-D or alt-D) of the object will have it's own random translation/rotation/scale, but the mesh will not be otherwise deformed.
Settings are:
- Translation, Rotation, Scale in X, Y, Z (local) amounts.
- Plus/Minus options
- Pivot point vertex group (optionnal): defines the pivot point for rotations and scaling. The pivot point is the center of bounding box of group's vertices.
- In loose parts mode each loose part (set of vertices connected by edges) is offset as an independant item, and not otherwise deformed. This mode can be used with looseparts in the original mesh, or it can be used after an array modifier. An array modifier produces a single mesh with each original mesh as a distinct loose part (except if merge option was used).
The settings are the same as for the whole mesh mode.
Note that in loose parts mode, the modifier uses a cache of looseparts, which is updated whenever the number of vertices or of edges has changed. One could make up use cases where loose parts change with these numbers unchanged, while the modifier is not active.