Community
cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

UVW Xform Improvement - Randomize UV Elements, Filter by MatID

UVW Xform Improvement - Randomize UV Elements, Filter by MatID

With the 2023.3 update we got UVWRandomizer material node which is a great addition to the OSL system, however the node does not randomize per UV or mesh element, and there is no possible way to "bake" such randomization into the geometry UV data itself, which is necessary if randomized UVs need to be exported to an external engine. This is a significant limitation to this addition.

What users need is a procedural, non-destructive modifier that can easily randomize either all UV elements the same way, individual mesh or UV elements in position, rotation and scale, so that the randomized UVs can be baked to the geometry and/or exported to external engines. Not just an effect that happens at render time.

 

My suggestion is to revamp the UVW Xform modifier, or add a new specialized modifier that does the randomization. These suggested features should not be part of the UVW Unwrap modifier, at least not only featured inside the Unwrap UVW modifier as the modifier is stack/topology dependent; any change made to the mesh below the modifier risks resetting whatever randomization you have applied. This is why the modifier needs to be fully procedural and accept and update any arbitrary valid geometry from below the stack at all times. 

Here are specific requested features:


• General Random Seed parameter:

Set the overall random seed of the modifier.

• Randomize by Object, Mesh Element, or UV element modes:

These modes determines how randomization happens in the modifier.

By Object means that all UVs are randomized the same way. Changing the general Seed value provides a quick and efficient way for randomization.

By Mesh Element will provide a unique seed for mesh elements so that each mesh element is randomized differently.

By UV Element will provide a unique seed for each UV element.

 

The following animations illustrates features according to By UV Element mode as would be seen if result is viewed in the Unwrap UVW editor window:

 

Randomize URandomize URandomize VRandomize V

• Randomize U/V Position:

Individual UV elements are translated randomly in U/V coordinate. Each UV element gets a unique individual seed where the maximum possible translation is a fraction of a tile. In other words, a value of 1.0 means the maximum possible translation of an element is the equivalent to one tile size.

 

Randomize RotationRandomize Rotation

• Randomize Rotation:

Individual UV elements are rotated randomly around element centers. A value of 180 means the maximum possible rotation is 180 degrees.

 

Randomize ScaleRandomize Scale

• Randomize Scale:

Individual UV elements are scaled randomly from element centers. A value of 100 means the maximum possible scale is two times the original size (based on UV element bounding box size). A value of -100 means the maximum UV element scale is zero. Scaling should be able to randomize individual U or V coordinates (not just proportional scaling).

 

Randomize U (Step)Randomize U (Step)Randomize Rotation (Step)Randomize Rotation (Step)

• Step size/snap:

A Step value can "snap" UV element transformations in for examples fraction of a tile size, rotational degrees, or every nth percent of a scale.

 

• Bi-directional, Positive/Negative Only modes:

Options to have transforms go in both positive and negative directions, or only in one direction. In other words:
Bi-directional means a randomized transformation can be both positive or negative. Like a random value can be anything between -180 to 180.
A Positive mode means that the random range will be from 0 to 180, while a Negative means the range is -180 to 0.
When not in Bi-directional mode, positions, rotations and scales can only go in one direction so to speak which can be useful in certain situations.
It might also be that the Min and Max values can be specified by the user, with a Blend value that determines how much of the result will be applied to the UVs.


• Filter By Material ID:

A spinner to only affect the UVs of the selected Material ID. A value of 0 means no filtering by Material ID is applied. Not having to rely on stack selection or selection modifiers is ideal, since the stack can easily become cluttered when there are many modifiers involved.


• Filter By Stack Selection behaviour:

It is more convenient to have "Affect Stack Selection Only" (where stack selection is used as a filter) as an optional mode, as opposed to the current UVW Xform modifier where affecting everything regardless of stack selection is the optional mode. In other words, the modifier should ALWAYS by default affect all faces unless the user is specifically specifying otherwise. This is because stack selections are often left in the stack (under the UVW Xform modifier) and sometimes changed, and since "Affect All Faces" is not a default mode it leads to an unintuitive working experience with inconsistent results. Whether to call it "Affect All Faces" or "Affect Stack Selection Only", filtering by stack selection should never be default.

Can't find what you're looking for? Ask the community or share your knowledge.

Submit Idea  

Autodesk Design & Make Report