Commit Graph

114 Commits

Author SHA1 Message Date
semion piskarev
c58d14bad3 MeshModelingTools: Added ability to speed up tool preview mesh updates when mesh topology remains constant. Used it in LatticeDeformer tool. Also made preview object move the result mesh rather than do a copy.
#rb Jimmy.Andrews
#rnx
#jira none

[CL 15066690 by semion piskarev in ue5-main branch]
2021-01-13 10:21:41 -04:00
Tim Smith
9fdfe7cd7e Fixing PVS 7.7 Issues: warning V1052: Declaring virtual methods in a class marked as 'final' is pointless. Consider inspecting the 'XYZ' method of the 'FXYZ' class.
#rb trivial
#jira UE-91644

[CL 14994253 by Tim Smith in ue5-main branch]
2021-01-05 15:39:12 -04:00
Ryan Schmidt
f9b571c8cf ModelingToolset: add PolyLassoMarqueeMechanic, which implements freehand and multi-click 2D polygon drawing interaction. Add this as an optional input modality to UMeshGroupPaintTool. Add support for hiding brush indicator to MeshSculptToolBase and BrushStampIndicator
#rb david.hill
#rnx
#jira none

[CL 14932178 by Ryan Schmidt in ue5-main branch]
2020-12-15 12:58:13 -04:00
semion piskarev
3214eca1cb MeshModelingTools: Added contrast adjustment curve to displacement tool (for displacement maps). Fixed the displacement texture values always being interpreted as gamma compressed. Added option to show wireframe.
#rb Tyson.Brochu
#rnx
#jira none

[CL 14923666 by semion piskarev in ue5-main branch]
2020-12-14 19:16:22 -04:00
Emil Persson
72db809300 Replace legacy LockVertexBuffer()/LockIndexBuffer()/LockStructuredBuffer() calls with the unified LockBuffer()
#rb kenzo.terelst

[CL 14898308 by Emil Persson in ue5-main branch]
2020-12-10 11:51:32 -04:00
Ryan Schmidt
2a8984fe77 MeshModelingToolset
- add support for VertexColor shader mode in EMeshEditingMaterialModes, handle in sculpt tools
- MeshSculptToolBase: add ability to hide view and brushop properties, add ability to show surface or volumetric indicator, add tracking of last-hit triangle ID
- add UPolygroupLayersProperties, standard property set for listing and picking from available Polygroup layers for a mesh
- add MeshGroupPaintTool, uses above extensions to allow for painting per-triangle integer polygroups
#rb none
#rnx
#jira none

[CL 14861461 by Ryan Schmidt in ue5-main branch]
2020-12-04 19:51:25 -04:00
Ryan Schmidt
9ac62a1daf ModelingComponents:
Add UMeshWireframeComponent, this is a component that renders mesh edges  as lines, with line color/thickness varying depending on line type. Accesses mesh via an API so client does not have to handle iterations/etc (derived from LineSetComponent).
Add UMeshElementsVisualizer, subclass of UPreviewGeometry that displays mesh information (currently using UMeshWireframeComponent)
Small optimization to ULineSetComponent to avoid calling MarkRenderStateDirty() for each line when adding many lines.
#rb
#rnx

[CL 14858699 by Ryan Schmidt in ue5-main branch]
2020-12-04 16:13:39 -04:00
Ryan Schmidt
38099b02b7 ModelingComponents: don't try to fast update if a MeshPostProcessor is enabled on SimpleDynamicMeshComponent
#rb tyson.brochu
#rnx
#jira none

[CL 14850007 by Ryan Schmidt in ue5-main branch]
2020-12-03 17:40:22 -04:00
Ryan Schmidt
d8afc11d1c ModelingComponents: Add FMeshPolygroupChange and supporting classes for creating Polygroup layer changes. Add TSimpleValueLambdaChange for implementing basic value-swap changes. Add FMeshChange::ApplyChangeToMesh() API which allows for subclassing FMeshChange to modify its behavior.
#rb none
#rnx
#jira none

[CL 14842421 by Ryan Schmidt in ue5-main branch]
2020-12-03 02:39:48 -04:00
semion piskarev
8be7ab1686 MeshModelingTools: Fix simple clicks away from the mesh not clearing selection when using marquee in selection mechanic.
#rb Jimmy.Andrews, Tyson.Brochu
#jira none
#rnx

[CL 14835695 by semion piskarev in ue5-main branch]
2020-12-02 12:10:07 -04:00
Marc Audy
a7f9391231 Merge UE5/Release-Engine-Staging @ 14811410 to UE5/Main
This represents UE4/Main @ 14768117

For ReleaseObjectVersion.h
#lockdown Marcus.Wassmer

[CL 14811440 by Marc Audy in ue5-main branch]
2020-11-24 18:42:39 -04:00
David Hill
2bda787c79 Update DynamicMesh to,from MeshDescription Conversions. Now supports the shared UVs on MeshDecription and works directly with triangles (not polygons).
#jira none
#rnx
#rb jimmy.andrews

[CL 14796480 by David Hill in ue5-main branch]
2020-11-20 12:24:15 -04:00
Ryan Schmidt
31317aefbd GeometryProcessing improvements/additions
- new correspondence-finding strategy in FMeshImageBakingCache. Added a global Thickness parameter, and now preferentially uses the ray-hit found by casting inwards from Point+Thickness*Normal. This handles the cases where a greeble/etc is just layered on top of base mesh. These kind of mesh elements are only intended to show up in the normal map, so they aren't stitched in.
  - expose Thickness and World-Space options in BakeMeshAttributeMapsTool
  - initialize image in Normal and ResampleImage Bakers, otherwise initial value is garbage
- add TSampledScalarField2::BilinearSampleGradientClamped and fix typo in BilinearSampleClamped() that resulted in incorrect interpolation
- add Texture2DUtil, contains functions for reading a TImageBuilder from a UTexture2D. Can read from source data if available.
- ColorConstants now returns white for group 0
- add double version of FMeshDescriptionToDynamicMesh::CopyTangents()
- add support for computing on subset of vertiecs in FMeshConvexHull
- fix up template export in TMeshTangents
- make mesh const in TImplicitMorphology, TImplicitSolidify
- accessor/etc additions in TDenseGrid2, TImageBuilder, TSampledScalarField2, TIndexedWeightMap
- add source UStaticMesh reference in FPhysicsDataCollection, function to initialize from a UStaticMesh
  - update Tools affected by above changes
- add TSampleSetStatisticBuilder::ComputeMultiPass() helper function to compute stats for iterable collections in one line
- remove dead code in UVLayoutOp.cpp

#rb tyson.brochu
#rnx
#jira none

[CL 14769759 by Ryan Schmidt in ue5-main branch]
2020-11-17 22:32:38 -04:00
tyson brochu
98a4f05aeb Add support for modifier keys to LatticeControlPointsMechanic. Behavior is consistent with PolygonSelectionMechanic.
Also changed some Arrays for Sets/Maps.

#jira UETOOL-2394
#rnx
#rb semion.piskarev

[CL 14767577 by tyson brochu in ue5-main branch]
2020-11-17 19:43:15 -04:00
semion piskarev
bdf43a29db MeshModelingToolset: Added a way to store tool selections between tool invocations and used it in PolyEdit tool.
#rb Ryan.Schmidt
#jira UETOOL-2372
#rnx

[CL 14745200 by semion piskarev in ue5-main branch]
2020-11-13 14:07:30 -04:00
semion piskarev
ddeea7059e MeshModelingTools: Added marquee select of vertices and edges in PolyEdit tool. Also refactored the selection mechanic to handle its own behaviors and adusted the using tools.
#rb Jimmy.Andrews, Tyson.Brochu
#jira UETOOL-2393
#rnx

[CL 14744531 by semion piskarev in ue5-main branch]
2020-11-13 12:09:55 -04:00
tyson brochu
b532d0a776 Add an optional IRenderMeshPostProcessor to USimpleDynamicMeshComponent that will be called before sending the mesh for rendering.
#jira UETOOL-2660
#rnx
#rb jimmy.andrews

[CL 14672912 by tyson brochu in ue5-main branch]
2020-11-05 19:18:40 -04:00
Marc Audy
68150e0be7 Merge UE5/Release-Engine-Staging to UE5/Main @ 14611496
This represents UE4/Main @ 14594913

[CL 14612291 by Marc Audy in ue5-main branch]
2020-10-29 13:38:15 -04:00
Marc Audy
4c1bb11c29 Merge UE5/Release-Engine-Staging to UE5/Main @ 14548662
This represents UE4/Main @ 14525125 + cherrypicked fixes
#skipundocheck

[CL 14551026 by Marc Audy in ue5-main branch]
2020-10-22 19:19:16 -04:00
tyson brochu
d6e27cd538 Split out the rectangle marquee selection code from LatticeControlPointsMechanic so it can be used by other mechanics.
#jira UETOOL-2395
#rb semion.piskarev jimmy.andrews
#rnx

[CL 14549552 by tyson brochu in ue5-main branch]
2020-10-22 17:33:40 -04:00
tyson brochu
bc9cc22c94 Remove an unused function
#rnx
#rb semion.piskarev

[CL 14516611 by tyson brochu in ue5-main branch]
2020-10-19 14:41:47 -04:00
tyson brochu
2eab64d767 - Support world and local space modes for lattice deformer gizmos.
- Make gizmo transform change due to point selection change undoable.
- Add a "set pivot" mode to lattice deformer tool.
- Use either ctrl or shift to append points to the current selection.

#jira UETOOL-2356
#rb ryan.schmidt michael.daum david.hill
#rnx

[CL 14504902 by tyson brochu in ue5-main branch]
2020-10-15 16:58:52 -04:00
Marc Audy
50a3d7d368 Merge Release-Engine-Staging to Main @ CL# 14467590
This represents UE4/Main @ 14432125 + some cherrypick fixes

[CL 14468207 by Marc Audy in ue5-main branch]
2020-10-09 22:42:26 -04:00
semion piskarev
0a5f199db4 MeshModelingTools: Made mechanics only clean up their own gizmos, and fixed potential gizmo leak in CurveControlPointsMechanic (that was being cleaned up by another mechanic).
#rb Ryan.Schmidt, Tyson.Brochu
#rnx
#jira none

[CL 14428315 by semion piskarev in ue5-main branch]
2020-10-06 06:58:01 -04:00
Marcus Wassmer
3b81cf8201 Merging using //UE5/Main_to_//UE5/Release-Engine-Staging @14384769
autoresolved files
#rb none

[CL 14384911 by Marcus Wassmer in ue5-main branch]
2020-09-24 00:43:27 -04:00