Commit Graph

195 Commits

Author SHA1 Message Date
ryan schmidt
dc0b4ed0ac ModelingComponents: add FGroupVisualizationCache, this is a helper object that stores precomputed info about each polygroup in a mesh, used for visualization in various Tools
ModelingTools: add the ability to draw IDs of visible polygroups in UMeshGroupPaintTool, as well as draw the ID of the polygroup under the cursor. Add the ability to draw Tri/Edge/Vert/Group IDs in the Inspector Tool. Also expand the set of override render materials, and add a polygroup layer picker.
#rb none
#preflight 636454d9581dc906bca87c19

[CL 22990103 by ryan schmidt in ue5-main branch]
2022-11-04 13:06:17 -04:00
matija kecman
b39658d261 RenderCaptureBaking: Expose render capture baking function to geometry script blueprints
#rnx
#rb ryan.schmidt
#jira none
#preflight 63639fe054471d10be59b31a

[CL 22950334 by matija kecman in ue5-main branch]
2022-11-03 07:15:45 -04:00
Jimmy Andrews
7dc506b218 Add TriSel tool "By Material (All)" selection option and clarify that the previous "By Material" is "By Material (Connected)"
#jira UE-168997
#rb ryan.schmidt
#preflight 6362eb0e0c2e7c8f91b9c946

[CL 22930405 by Jimmy Andrews in ue5-main branch]
2022-11-02 18:51:40 -04:00
Nickolas Drake
f07a50121e PatternTool: Add support for relative transforms when using multiple source elements and add functionality to automatically adjust bounding boxes to accommodate relative transformations and Start Scale/Start Rotation
Previously, the pattern tool supported using multiple source elements under the assumption that they all had the same pivot, meaning that regardless of the relative positions of all of the source elements, they are all placed at the same position in the resulting pattern.

Jittering happens on a per pattern basis, meaning that the relative positions of all source elements are retained after jittering. Scaling and rotating are performed about the pivot of the first pattern element.

If Automatically Adjust is enabled, then the bounding box used for determining spacing in packed mode will be recomputed by baking the relative positions, start scale, and start rotations into the individual elements' bounding boxes and then computing a "CombinedPatternBounds" which contains all of the pattern elements and is used for determining spacing in packed mode.

Use Relative Transforms and Automatically Adjust (In Bounding Box dropdown when in Packed mode) allow all new functionality to be toggled.

#jira none
#rb Semion.Piskarev
#preflight 635fdafa1803be35c70f3282

[CL 22867319 by Nickolas Drake in ue5-main branch]
2022-10-31 13:51:53 -04:00
bryan sefcik
12da131a51 Fixed include paths in ../Plugins/Experimental/...
#jira
#preflight 634ee635837b59dd829139ac

[CL 22621686 by bryan sefcik in ue5-main branch]
2022-10-19 06:39:01 -04:00
David Hill
a22eef8ce2 GeometryTools: Convert Meshes - fix bug in materials when converting multiple meshes and also hide the transfer materials option when converting to a volume.
#jira UE-166618
#preflight 634587a4e7396f4e6ef4a74b
#rb lonnie.li

[CL 22530153 by David Hill in ue5-main branch]
2022-10-14 13:37:21 -04:00
Nickolas Drake
45ce45dee5 PatternTool: Fix several issues related to the behavior of Proportional scaling.
bUniform was renamed to bProportional

Proportional scaling behaves almost the same but when a value is entered numerically, previously the approach to scaling would change the just entered value by finding a vector of the new vectors magnitude in the old vectors direction while the new approach scales the other two components up, resulting in more predictable behavior.

The minimum value for a component for the fields StartScale, EndScale, or Jitter in the scale category only is now 0.001 to be consistent with the clamping behavior in ApplyElementTransforms() and to prevent issues with dividing by extremely small (or 0) values when computing ScaleFactor in ApplyProportionalScale.

When proportional scaling is enabled and the reset to default button is pressed for a vector property, it now properly resets to the default. Previously, the resulting vector would be the same length as the default vector but it would maintain the direction of the previous value.

#jira UE-166106 UE-166683
#rb Jimmy.Andrews
#preflight 6346f114fa31324bb14785fb

[CL 22481394 by Nickolas Drake in ue5-main branch]
2022-10-12 13:15:31 -04:00
Nickolas Drake
893d45994b PatternTool: Fix some UI elements.
Seed should have no revert to default option and some tooltips are wrong after updating UI in previous CL.

#jira UE-166105
#rb Jimmy.Andrews
#preflight 633f343962762f4a1b66519e

[CL 22458016 by Nickolas Drake in ue5-main branch]
2022-10-11 10:46:34 -04:00
Nickolas Drake
456825c6df PatternTool: Improved UI for Jitter (enabled inline, proportional jitter changes in scale settings with bUniform)
#jira none
#rb Semion.Piskarev
#preflight 6328bf2ff45b523a63b981db

[CL 22362758 by Nickolas Drake in ue5-main branch]
2022-10-05 16:30:37 -04:00
matija kecman
5fde098d97 Fix stall when starting the render capture baking (BakeRC) tool
This change makes the BakeRC tool start instantly on all platforms and also makes the tool consistent with the BakeAll tool in that on first startup the same no-results-computed-yet material is applied to the the target mesh.

#jira UE-164389
#preflight 633c30daeb5c295b4cea38dc
#rb lonnie.li
#rnx
#lockdown aurel.cordonnier

[CL 22342231 by matija kecman in ue5-main branch]
2022-10-04 19:34:59 -04:00
michael balzer
3b1e52dbc7 MeshModelingToolset: Resolve typos in Offset tool
#jira UE-165490
#preflight 6335bf7d7c11614c216a5ffa
#rb

[CL 22323407 by michael balzer in ue5-main branch]
2022-10-03 21:14:39 -04:00
nickolas drake
49a08497f1 PatternTool: Prevent tool from being activated with volume or skeletal meshes.
Overload CanBuildTool() to check that there exists some targetable components (at least 1) which are castable to either a static or a dynamic mesh component.

Additionally, overload InitializeNewTool() so that only targetable components which can be cast to static or dynamic mesh components are built into targets.

#jira UE-164940
#rb Semion.Piskarev, Lonnie.Li
#preflight 6335ce6ea852bd922cf4a20e

[CL 22307598 by nickolas drake in ue5-main branch]
2022-10-03 12:58:50 -04:00
nickolas drake
8d6c9e2018 PatternTool: First UI improvement pass.
Interpolate check boxes are now inline with their respective properties and don't occupy their own rows.

Uniform is still on its own row but is quite different in its behavior: instead of having 2 sets of properties for uniform vs. non-uniform scale where bUniform dictated which set was used, bUniform now toggles proportional scaling of StartScale and EndScale.

#jira none
#rb Semion.Piskarev
#preflight 6335c5d6f76de2d4d55defdc

[CL 22271181 by nickolas drake in ue5-main branch]
2022-09-30 11:09:37 -04:00
jimmy andrews
8c9b9eea8d add comments/tooltips for modeling tools' collision property sets
#jira UE-136159
#rb ryan.schmidt
#preflight skip

[CL 22125978 by jimmy andrews in ue5-main branch]
2022-09-21 17:57:22 -04:00
jimmy andrews
9cb743052d Move sculpt plane gizmo to the target object (as much as possible without changing the plane) if it's far from the mesh that is being sculpted
#jira UE-108233
#rb david.hill
#preflight 632a5f40826e0c2fe97b03b8

[CL 22118894 by jimmy andrews in ue5-main branch]
2022-09-21 14:39:25 -04:00
jimmy andrews
2592cedea8 Make sculpt tools focus on the brush w/ 'F'
#jira UE-157392
#preflight 6328d3730a4ad044de452059
#rb david.hill

[CL 22094434 by jimmy andrews in ue5-main branch]
2022-09-20 11:41:41 -04:00
jimmy andrews
dacaadc34c Fix Merge (self union) tool not working at LWC
#preflight 632891a2f258fccf98ab7fbc
#rb david.hill

[CL 22087338 by jimmy andrews in ue5-main branch]
2022-09-19 22:27:44 -04:00
Nickolas Drake
6a6cb164ca PatternTool: Unhide Jitter UI elements which were hidden in Release-5.1 and robomerged back to Main.
#jira none
#rb trivial
#preflight 63286f55743614651434d8dc

[CL 22076274 by Nickolas Drake in ue5-main branch]
2022-09-19 13:16:55 -04:00
jimmy andrews
acab09e346 Fix vertex sculpting brush alpha's "RotationAngle" parameter name not fitting in the assigned space, by changing the display name from "Rotation" to "Angle"
#jira UE-158463
#rb david.hill
#preflight 6324996ecb23fcbbd80ea9ed

[CL 22056392 by jimmy andrews in ue5-main branch]
2022-09-16 14:50:49 -04:00
nickolas drake
52b22c26a0 PatternTool: Fix issues with input fields in the pattern tool.
Extent, radius, and step size can no longer be negative.

Start/end angle are UI limited to the range [-360, 360] but can accept any values. Very large values are useful to create spirals and it would feel a little bit arbitrary to just choose a hard range. Angle shift is clamped to [-180, 180] because values outside of that range are redundant.

Count, CountX, and CountY are clamped to a minimum of 1 with a UI max of 25. The behavior here is unchanged but several redundant UIMins were removed because ClampMin was also already set.

#jira UE-163642
#rb Semion.Piskarev
#preflight 6323592d63312bbbbb07738c

[CL 22039740 by nickolas drake in ue5-main branch]
2022-09-15 17:56:32 -04:00
nickolas drake
dde90d8da5 PatternTool: Hide Jitter UProperties which were prematurely robomerged to Release-5.1 from Main.
#jira none
#rb Jimmy.Andrews
#preflight 63235a1563312bbbbb0791e1

[CL 22039734 by nickolas drake in ue5-main branch]
2022-09-15 17:56:03 -04:00
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
jimmy andrews
fecd84877a clarify what 'Discard Attributes' does in remeshing
#jira UE-163554
#rb david.hill
#preflight skip

[CL 22030246 by jimmy andrews in ue5-main branch]
2022-09-15 11:46:37 -04:00
tyson brochu
9efcc70606 ModelingComponents/Selection:
- create a new MeshTopologySelector base class. The existing GroupTopologySelector class now inherits from it, as does a new BoundarySelector class
- likewise, create a new MeshTopologySelectionMehchanic base class and have (existing) PolygonSelectionMechanic and (new) BoundarySelectionMechanic inherit from it
- the new Boundary classes use FMeshBoundary loops to define selectable loops rather than FGroupTopology

HoleFillTool:
- change to using BoundarySelectionMechanic instead of GroupTopologySelector

Misc:
- allow FMeshBoundaryLoops to fail untangling a loop with bowties but still continue processing other loops


#jira UE-144821
#rb jimmy.andrews
#preflight 63222176e93a80888cb7d3df

[CL 22013854 by tyson brochu in ue5-main branch]
2022-09-14 15:25:19 -04:00
michael balzer
1eacd4598b MeshModelingToolset: Use NoResetToDefault for mesh statistics in Inspect tool
#jira UE-163547
#preflight 6320f172a514fd1e37e91020

[CL 21997839 by michael balzer in ue5-main branch]
2022-09-13 21:50:48 -04:00