Commit Graph

222 Commits

Author SHA1 Message Date
Ryan Schmidt
636abcceee SceneSnappingManager: add ::PauseSceneGeometryUpdates() and ::UnPauseSceneGeometryUpdates(), these temporarily disable/re-enable geometry updates (eg BVH rebuilds) on DynamicMeshComponents, for use in live-edit situations where we can't defer mesh updates (because render geometry needs to update) but don't want a per-frame BVH build
#rb none
#preflight 62ab7bb82804d6adf7f72f97

[CL 20692560 by Ryan Schmidt in ue5-main branch]
2022-06-16 15:25:58 -04:00
Josie Yang
6b15506e58 Replace direct access to SkeletalMesh object from USkinnedMeshComponent with GetSkeletalMesh function
#rb kriss.gossart
#preflight 62aafc9ada0af39a4783930a

[CL 20686007 by Josie Yang in ue5-main branch]
2022-06-16 09:14:04 -04:00
Marc Audy
2666d80819 Non-unity and Static analysis fixes
#rnx
#preflight

[CL 20680993 by Marc Audy in ue5-main branch]
2022-06-16 00:49:39 -04:00
nathan mitchell
3ba92badec UVEditor: Enable support for selection mechanics within in the 3D viewport.
#rb semion.piskarev
#preflight 62aa68f9102b5101ccdc6d13

[CL 20679008 by nathan mitchell in ue5-main branch]
2022-06-15 19:31:42 -04:00
Ryan Schmidt
422c289493 GeometryFramework: add support for configuring color and normal overrides on BaseDynamicMeshComponent & DynamicMeshComponent. This allows the user to configure a DynamicMeshComponent to display vertex colors, group colors, or a (configurable) custom color, as well as facet normals, in the Actor properties.
A new lit vertex color material is added and used if the ModelingComponents module is loaded (to avoid adding a new engine material, if only GeometryFramework is loaded, then the engine-default vertex color material is used). This class-wide vertex color material can be overridden via UBaseDynamicMeshComponent::SetDefaultVertexColorMaterial()

Facet Normals / Flat Shading is now separately configurable, this overrides the normals at the vertexbuffer setup level, so it works independently of material.

Support also added for configuring the wireframe material used for BaseDynamicMeshComponent, and also for setting the wireframe color.

#preflight 62aa2330a40a4dc3a04052c6
#rb tyson.brochu

[CL 20676782 by Ryan Schmidt in ue5-main branch]
2022-06-15 16:49:13 -04:00
matija kecman
c128de6a9a Fix Editor Mac which broke in Horde Issue #180297: Compile errors in Module.ModelingComponents.cpp and SceneCapturePhotoSet.cpp
#rnx
#rb jimmy.andrews
#jira none
#preflight 62a7511aaf7ad033effcec61
#preflight 62a7511aaf7ad033effcec61

[CL 20627748 by matija kecman in ue5-main branch]
2022-06-13 11:19:07 -04:00
matija kecman
6f80932e2b Render Capture Baking: Add messages warning users about missing tangents or UVs
#rnx
#rb lonnie.li
#jira none
#preflight 62a72d695a44fbc402908e21

[CL 20626847 by matija kecman in ue5-main branch]
2022-06-13 10:27:34 -04:00
Nickolas Drake
6f0bb17b5a EditMeshPolygonsTool.cpp warning: Text conflict from LOCTEXT macro for namespace and key
#rb
#jira UE-156322
#preflight 62a36a82fe519cd51262e0fb

[CL 20597562 by Nickolas Drake in ue5-main branch]
2022-06-10 12:20:09 -04:00
Nickolas Drake
afc23bb332 Add Bridge Edges to PolyEd: Add single to single groupedge bridge action to PolyEd, without welding sides
#rb Semion.Piskarev
#jira none
#preflight 6298e35f0360a10c349d35c1

[CL 20582636 by Nickolas Drake in ue5-main branch]
2022-06-09 15:08:03 -04:00
Nickolas Drake
cb90f2db93 PolyEd Plane Control Gizmo: Change the default visibility of the transform gizmo in PolyEd to visible.
#rb Semion.Piskarev
#jira none
#preflight 62a233fbc85a3dbe3211c056

[CL 20582342 by Nickolas Drake in ue5-main branch]
2022-06-09 14:57:43 -04:00
Ryan Schmidt
bc8042333e Add additional capture locations to FSceneCapturePhotoSet::AddStandardExteriorCapturesFromBoundingBox(), on upper and side box edge midpoints. Enable by default in Approximate Actors and BakeRenderCaptureTool.
#rb jimmy.andrews
#preflight 62a11612e820a589df5e36dd
#fyi matija.kecman

[CL 20570945 by Ryan Schmidt in ue5-main branch]
2022-06-08 23:39:09 -04:00
Ryan Schmidt
39ea0b82bb Improve WeightMap support in Modeling Mode. Duplicate Tool now preserves WeightMaps, conversion between Dynamic and Static meshes properly preserves weight maps and names.
GeometryCore: Add bClearExisting option to FDynamicMeshAttributeSet::EnableMatchingAttributes(). Default true is old behavior. New behavior, when false, is to preserve existing attribute set counts/values. Also now copying group and weight layer names if not set.
ModelingTools: CombineMeshesTool now uses EnableMatchingAttributes instead of only explicitly matching UV layers, so group and weight layers are copied properly to duplicates
MeshConversion: DynamicMeshToMeshDescription now generates unique names in ConvertPolygroupLayers and ConvertWeightLayers. Previously if multiple attribs had the same name (eg NAME_None), output MeshDescription would only have a single attrib w/ that name
#rb david.hill
#preflight 62a116439a3e81e904dde76f

[CL 20570919 by Ryan Schmidt in ue5-main branch]
2022-06-08 23:37:03 -04:00
Nickolas Drake
03f1bda050 PolyEd Plane Control Gizmo: Add hotkey R to hide plane control gizmo in PolyEd
#rb Semion.Piskarev
#jira none
#preflight 62a10233232daff7b3026eac

[CL 20563350 by Nickolas Drake in ue5-main branch]
2022-06-08 16:27:18 -04:00
Ryan Schmidt
050edd4706 Geometry: Expose Remesh function in Geometry Script, and add basic convergence check to queue remesher
- add FQueueRemesher::MinActiveEdgeFraction. If fraction of modified/total edges in remesh pass is below this parameter (default 1%), consider result converged.
- Expose as option in FRemeshMeshOp, and add sane defaults for all parameters of Op
- move CalculateTargetEdgeLength function from RemeshMeshTool to static function in FRemeshMeshOp, update Tool
- add Geometry Script function ApplyUniformRemesh
#rb jimmy.andrews
#preflight 62a0f1923f1e313c6ad23c21

[CL 20562425 by Ryan Schmidt in ue5-main branch]
2022-06-08 15:29:16 -04:00
Nickolas Drake
1400b65d56 ModellingComponents: Add optional corner point visualization to PolyEdit
#rb Simeon.Piskarev
#jira none
#preflight 629fc9d185333f26645be644

[CL 20546816 by Nickolas Drake in ue5-main branch]
2022-06-07 18:25:43 -04:00
Jimmy Andrews
1541b0eb2f Add progress tracking to FProgressCancel, with nested scopes and messages
Add FAsyncTaskExecuterWithProgressCancel to allow the progress to be reported back to the calling thread

Implement initial usage in Voronoi fracture, using an FSlowTask to handle the progress bar and cancel button UI

#rb semion.piskarev
#preflight 629a68d8d204bca667d2e578

[CL 20516367 by Jimmy Andrews in ue5-main branch]
2022-06-05 21:25:04 -04:00
Nickolas Drake
b3d58ea48b ModellingComponents: Add drag alignment mechanic to plane control gizmo in PolyExt
#rb Semion.Piskarev
#jira none
#preflight 629a2650551457c8dde15455

[CL 20488292 by Nickolas Drake in ue5-main branch]
2022-06-03 12:42:30 -04:00
nathan mitchell
27fb829b8a ModelingTools: Improved handling in UEditMeshPolygonsTool to deal with cases where the TransformGizmo can't be acquired successfully, which was leading to crashes. Now a failed gizmo acquisition simply breaks user interactions, but doesn't crash the editor.
#rb semion.piskarev
#preflight 6298e1f3f269bddede0c5193
#jira UE-153932

#ROBOMERGE-AUTHOR: nathan.mitchell
#ROBOMERGE-SOURCE: CL 20473413 in //UE5/Release-5.0/... via CL 20474330
#ROBOMERGE-BOT: UE5 (Release-Engine-Staging -> Main) (v954-20466795)

[CL 20475585 by nathan mitchell in ue5-main branch]
2022-06-02 16:45:08 -04:00
tyson brochu
f4558a93ca RemeshTool: if Preserve Sharp Edges in unchecked, allow seam edges to be collapsed by the remesher
#jira UE-149616
#rb david.hill
#preflight 6297be179907cbadba99faf3

[CL 20457326 by tyson brochu in ue5-main branch]
2022-06-01 15:44:30 -04:00
Benn Gallagher
8757cb3641 Physics interface cleanup.
* Removed deprecated or dead code paths
* Simplified build system setup for physics support
* Deprecated build system flags and unsupported macros

#jira none
#rb Chris.Caulfield, Kriss.Gossart
#preflight 62963ec0fe779f23c8ea0c5e

[CL 20450744 by Benn Gallagher in ue5-main branch]
2022-06-01 06:59:18 -04:00
tyson brochu
e78697a2c1 SetCollisionGeometryTool: add Mesh to Level Set / SDF conversion
#rb jimmy.andrews
#preflight 62952aa7e61254772f6b4b5e

[CL 20432875 by tyson brochu in ue5-main branch]
2022-05-30 16:48:48 -04:00
Jimmy Andrews
b95ec506ae Make voronoi fracture run in a background thread w/ a regularly-sampled progress/cancel UI
#rb david.hill
#rb rinat.abdrashitov
#preflight 6291238b6d1aaeda58f92d18

[CL 20397644 by Jimmy Andrews in ue5-main branch]
2022-05-27 15:42:05 -04:00
Leon Huang
19877e39c5 Fix for duplicate localization key warnings and missing localization defines/undefines in various files.
#rnx
#rb: Vincent.Gauthier
#jira: UE-151614
#preflight: 628fc4a98c23e52ef0fdfa7d

[CL 20384450 by Leon Huang in ue5-main branch]
2022-05-26 16:11:10 -04:00
Jeremy Moore
ff967b1163 Remove PRIMITIVE_SCENE_DATA_FLAG_DRAWS_VELOCITY and only use PRIMITIVE_SCENE_DATA_FLAG_OUTPUT_VELOCITY.
Tidy up use of FPrimitiveSceneProxy velocity getters.
Now DrawsVelocity() is only for velocity relevance.
And HasDynamicTransform() is for determining if we need to store previous transform state.
VSM caching was using PRIMITIVE_SCENE_DATA_FLAG_DRAWS_VELOCITY so replaced that with PRIMITIVE_SCENE_DATA_FLAG_SHOULD_CACHE_SHADOW which should use the old behavior and can be tweaked in future using ShouldCacheShadow().

A common pattern for determining whether to output velocity now is to check if a previous transform exists, and to OR in AlwaysHasVelocity().
I found some proxy types that don't check for previous transform.
Also I found that the debug physics aggregate types *never* check for previous transform.
These are pre-existing potential bugs for fixing in another pass.

Also I found some proxies that don't currently fill out velocity relevance.
These are pre-existing potential bugs for fixing in another pass.

#preflight 62863f789016c6dd897f1cd2
#fyi andrew.lauritzen

[CL 20279797 by Jeremy Moore in ue5-main branch]
2022-05-19 10:08:15 -04:00
Sebastien Lussier
89e0808daa StaticMeshLODResourcesMeshSurfaceAdapter generates a bad TriangleOffsetArray in certain cases
* TriangleOffsetArray range must be [0, NumTriangles)
#jira UE-151762
#rb patrick.enfedaque
#preflight 6283ab394316db80d18e2ad9

[CL 20242244 by Sebastien Lussier in ue5-main branch]
2022-05-17 10:15:02 -04:00