Commit Graph

6 Commits

Author SHA1 Message Date
Nickolas Drake
b35a9c062a PatternTool: Add ability to project pattern elements into world along the tool's plane's normal.
The projection is done on per pattern item basis and will not project one pattern item onto another, meaning that projecting something like a vertical line of boxes down the Z axis will result in many overlapping boxes.

Projection offset can be used to fine tune the final distance between the result pattern and the components in the scene onto which the pattern is being projected, usually because the location of the pivot of the source mesh results in the projected pattern either floating above or intersecting the components after the projection.

#jira none
#rb Semion.Piskarev, David.Hill
#preflight 63234144c225e8be38fffb0e

[CL 22032022 by Nickolas Drake in ue5-main branch]
2022-09-15 13:14:41 -04:00
Nickolas Drake
3d8a227333 PatternTool: Fix circle shape not updating in XZ or YZ plane by orienting the CenterFrame of the radial pattern generator and adding logic to handle orientation along radial pattern.
#jira UE-162900
#rb semion.piskarev
#preflight 631a6c7ff448dc6e58c670b6

[CL 21906350 by Nickolas Drake in ue5-main branch]
2022-09-08 18:42:24 -04:00
nickolas drake
68b794245a PatternTool: Add random transform functionality to the pattern tool.
The translation and rotation jitter are relatively intuitive, but for scaling there are a couple of ways it could be done. From the user's perspective, scale jittering is accomplished in the same way as translation and rotation, but the scale along any axis cannot be negative.

The randomness is seeded so that the pattern is not completely different every time any parameter is changed (as long as the seed isn't changed, changing the scale along the z axis will just result in changes to the elements' scales along the z-axis, no other changes occur) and to allow the user to cycle through various patterns generated using a given set of parameters for the tool without needing to slightly move the pattern or alter any of the parameters to indirectly cause a call to MarkPatternDirty(). Instead, MarkPatternDirty() is called any time the seed changes.

#jira none
#rb semion.piskarev, ryan.schmidt, david.hill
#preflight 630fa40f556fc14dce9c0f25

[CL 21741835 by nickolas drake in ue5-main branch]
2022-09-01 11:22:10 -04:00
Ryan Schmidt
49fa44f977 ModelingTools: add Packed option to Pattern Tool, tiles objects densely based on bounding box extents
#rb none
#preflight 62fbd174200ff87e073f36f3

[CL 21409165 by Ryan Schmidt in ue5-main branch]
2022-08-16 13:57:48 -04:00
Ryan Schmidt
f2ba631e1f ModelingTools: fix static analysis issue in PatternTool
#rb none
#preflight 62ced2de471a2c28861fb9d5

[CL 21070878 by Ryan Schmidt in ue5-main branch]
2022-07-13 10:34:28 -04:00
Ryan Schmidt
7f760f8995 ModelingTools: add new Pattern Tool and expose in Modeling Mode. Pattern tool tiles input object(s) in linear/grid/radial patterns, with various transform options, and emits new actors in various ways
#rb none
#preflight 62cd8c02e7210cd0bea24b67

[CL 21057112 by Ryan Schmidt in ue5-main branch]
2022-07-12 11:36:32 -04:00