Commit Graph

234 Commits

Author SHA1 Message Date
nathan mitchell
a042362c2e UVEditor: Implementing basic zoom-adaptive background grid
#rb
#rnx
#jira UETOOL-3693

#ROBOMERGE-SOURCE: CL 16868320 in //UE5/Main/...
#ROBOMERGE-BOT: STARSHIP (Main -> Release-Engine-Test) (v836-16769935)

[CL 16868328 by nathan mitchell in ue5-release-engine-test branch]
2021-07-15 17:58:31 -04:00
sebastien lussier
db97b1f24d WorldRenderCapture
* Removed potentially ineffective forced VT prefetching
* Replaced with a warmup by rendering the scene multiple frames before the capture
* Number of warmup frames controlled with the modeling.WorldRenderCapture.VTWarmupFrames cvar (defaults to 5)
* Remove unneeded FlushRenderingCommands() (already performed in ReadLinearColorPixels())
#rb jeremy.moore, ryan.schmidt

#ROBOMERGE-SOURCE: CL 16853853 via CL 16853868
#ROBOMERGE-BOT: STARSHIP (Main -> Release-Engine-Test) (v836-16769935)

[CL 16853882 by sebastien lussier in ue5-release-engine-test branch]
2021-07-14 15:27:46 -04:00
tyson brochu
2e26358d64 Enable soft deformation of FFD lattice using a constrained mesh solver
#rb jimmy.andrews
#preflight 60ef057b1a88600001e67eb7

#ROBOMERGE-SOURCE: CL 16852036 in //UE5/Main/...
#ROBOMERGE-BOT: STARSHIP (Main -> Release-Engine-Test) (v836-16769935)

[CL 16852045 by tyson brochu in ue5-release-engine-test branch]
2021-07-14 13:10:36 -04:00
guillaume abadie
b5a4dfc800 Kills FPostProcessSettings::ScreenPercentage
#rb none

#ROBOMERGE-SOURCE: CL 16848903 via CL 16848904
#ROBOMERGE-BOT: STARSHIP (Main -> Release-Engine-Test) (v836-16769935)

[CL 16848909 by guillaume abadie in ue5-release-engine-test branch]
2021-07-14 08:25:29 -04:00
ryan schmidt
34ad5cea09 ModelingComponents: fix editor-only call
#rb none
#rnx

#ROBOMERGE-SOURCE: CL 16842437 via CL 16842463
#ROBOMERGE-BOT: STARSHIP (Main -> Release-Engine-Test) (v836-16769935)

[CL 16842470 by ryan schmidt in ue5-release-engine-test branch]
2021-07-13 16:41:26 -04:00
ryan schmidt
f9f7e5128f ApproxActors: restore parallel meshdescription loading
#rb tyson.brochu
#rnx

#ROBOMERGE-SOURCE: CL 16840964 via CL 16841836
#ROBOMERGE-BOT: STARSHIP (Main -> Release-Engine-Test) (v836-16769935)

[CL 16841913 by ryan schmidt in ue5-release-engine-test branch]
2021-07-13 16:09:21 -04:00
lonnie li
4024f69304 ModelingTools: Add mesh vertex baking infrastructure.
- Added MeshMapEvaluator.EvaluateColor interface as a post sampling pass conversion from raw float data to color.
- Added FMeshConstantMapEvaluator
- Added Vertex Color output for Bake Texture.
- Added RGB mask support to MeshVertexColorMaterial.
- Added MeshVertexAlphaMaterial to preview vertex color alpha.

#rb none
#rnx
#jira UETOOL-3747
#preflight 60ecf8efa34bf50001d10064

#ROBOMERGE-SOURCE: CL 16839331 in //UE5/Main/...
#ROBOMERGE-BOT: STARSHIP (Main -> Release-Engine-Test) (v836-16769935)

[CL 16839385 by lonnie li in ue5-release-engine-test branch]
2021-07-13 13:40:52 -04:00
ryan schmidt
84095c0ba9 ModelingTools: DynamicMeshActor support Tools and Settings.
- Move UCreateMeshObjectTypeProperties to ModelingComponents and update all include sites
- Added Editor Modeling Mode settings to Enable/Disable showing DynamicMeshActor creation options, and select default mesh object type. Removed CVarEnableDynamicMeshActors.
- Added optional 'Auto' output mesh type to UCreateMeshObjectTypeProperties. This can be used in Tools that have input objects and want to allow optional conversion, but default to 'just use input mesh object type'.
- Added ConvertMeshesTool, this does in-place conversion between Mesh Object types for a set of selected objects (Duplicate tool can also do this, but only for a single object, and functionality is expected to further diverge)
- Added SplitMeshesTool, decomposes a mesh into parts and creates a new output object for each part
- CombineMeshesTool now supports variable output object type. Cleaned up internals.

#rb none
#rnx
#jira none
#preflight 60d3bc76b4bb42000195eccf

#ROBOMERGE-SOURCE: CL 16768010 in //UE5/Main/...
#ROBOMERGE-BOT: STARSHIP (Main -> Release-Engine-Test) (v835-16672529)

[CL 16768034 by ryan schmidt in ue5-release-engine-test branch]
2021-06-23 22:14:55 -04:00
michael noland
6c706966a2 ModelingTools: Initialized some uninitialized struct members to fix a startup warning (soon to be an error)
[FYI] Ryan.Schmidt

#ROBOMERGE-SOURCE: CL 16752148 in //UE5/Main/...
#ROBOMERGE-BOT: STARSHIP (Main -> Release-Engine-Test) (v835-16672529)

[CL 16752152 by michael noland in ue5-release-engine-test branch]
2021-06-22 20:32:04 -04:00
ryan schmidt
c7a7b6b2f9 GeometryFramework: move UDynamicMesh and DynamicMeshComponent to new Runtime/Experimental/GeometryFramework module
#rb none
#rnx
#jira none
#preflight 60d16e6ca81904000135e6d4


#ROBOMERGE-SOURCE: CL 16744295 in //UE5/Main/...
#ROBOMERGE-BOT: STARSHIP (Main -> Release-Engine-Test) (v835-16672529)

[CL 16744313 by ryan schmidt in ue5-release-engine-test branch]
2021-06-22 12:11:21 -04:00
ryan schmidt
b8c5ba44ad ModelingComponents: Add DynamicMeshActor
- ADynamicMeshActor type has a UDynamicMeshComponent subobject (similar to StaticMeshActor)
- Add IPersistentDynamicMeshSource, a ToolTarget Interface for accessing a UDynamicMesh
- Add UDynamicMeshComponentToolTarget, a UToolTarget implementing the above as well as various standard interfaces, to allow Tools to operate on an external DynamicMeshComponent
- Update UE::ToolTarget:: helper functions that get/commit via DynamicMesh to handle IPersistentDynamicMeshSource directly, instead of going via existing MeshDescription/DynamicMesh interfaces. Add UE::ToolTarget::SetSourceObjectVisible() helper function.
- Add support for creating DynamicMeshActors in UCreateMeshObjectTypeProperties and UEditorModelingObjectsCreationAPI
- register UDynamicMeshComponentToolTargetFactory in ModelingToolsEditorMode
- Rename existing internal ADynamicMeshActor to AOldDynamicMeshActor. Does not appear to be in use and will be removed in a future CL.

#rb lonnie.li
#rnx
#jira none
#preflight 60d0effc367e6700014c2e89

#ROBOMERGE-SOURCE: CL 16735093 in //UE5/Main/...
#ROBOMERGE-BOT: STARSHIP (Main -> Release-Engine-Test) (v835-16672529)

[CL 16735103 by ryan schmidt in ue5-release-engine-test branch]
2021-06-21 18:09:10 -04:00
sebastien lussier
9f8495d41b Approximate Actors
Exclude from the mesh generation all mesh sections that are using materials for which the material domain isn't "Surface" (ex: decals)
Those will still be rendered properly in the material baking phase.
Prevent black patches in places where decals aren't resting on surfaces
#rb ryan.schmidt

#ROBOMERGE-SOURCE: CL 16733154 via CL 16733173
#ROBOMERGE-BOT: STARSHIP (Main -> Release-Engine-Test) (v835-16672529)

[CL 16733203 by sebastien lussier in ue5-release-engine-test branch]
2021-06-21 16:33:20 -04:00
ryan schmidt
7cf280fd78 ModelingComponents: add support for a UBodySetup and Complex Collision to DynamicMeshComponent
#rb none
#rnx
#jira none
#preflight 60cfb14471002f0001696afa

#ROBOMERGE-SOURCE: CL 16724446 in //UE5/Main/...
#ROBOMERGE-BOT: STARSHIP (Main -> Release-Engine-Test) (v835-16672529)

[CL 16724450 by ryan schmidt in ue5-release-engine-test branch]
2021-06-20 18:12:30 -04:00
ryan schmidt
514c86343a ModelingComponents: Add UBaseDynamicmeshComponent::SetShadowsEnabled() and UPreviewMesh::SetShadowsEnabled() wrapper, and update Tools that are directly modifying the bCastDynamicShadow variable on Components. That doesn't work as it doesn't update the SceneProxy, and is currently causing crashes. ::SetShadowsEnabled() forces a full immediate rebuild of the SceneProxy, which is very heavy but seems to be required.
#rb david.hill
#rnx
#jira UE-118344
#preflight 60cb7d3a9f12370001350352

#ROBOMERGE-SOURCE: CL 16715096 in //UE5/Main/...
#ROBOMERGE-BOT: STARSHIP (Main -> Release-Engine-Test) (v835-16672529)

[CL 16715103 by ryan schmidt in ue5-release-engine-test branch]
2021-06-17 19:18:41 -04:00
ryan schmidt
61ff72be87 ModelingComponents: handle meshes without materialID attribute in MeshRenderDecomposition
#rb none
#rnx
#jira none
[FYI] nathan.mitchell

#ROBOMERGE-SOURCE: CL 16694640 in //UE5/Main/...
#ROBOMERGE-BOT: STARSHIP (Main -> Release-Engine-Test) (v835-16672529)

[CL 16694655 by ryan schmidt in ue5-release-engine-test branch]
2021-06-16 15:35:58 -04:00
ryan schmidt
7a54a5b023 ModelingTools: clean up old PDI-based mesh edge rendering in Weld, Generate Polygroups, Remesh, Simplify. Replace with usage of UMeshElementsVisualizer and/or UPreviewGeometry. Also clean up includes and port to UE::ToolTarget:: APIs.
UMeshElementsVisualizer::SetMeshAccessFunction() now takes a TFunction with a TFunctionRef argument, instead of with a FDynamicMesh3* argument. This allows the UMeshElementsVisualizer to access the target mesh via the ProcessMesh()-style call on a UPreviewMesh, UDynamicMesh, etc, rather than receiving direct pointer access. See UWeldMeshEdgesTool::Setup() for example usage.

Add UMeshOpPreviewWithBackgroundCompute::ProcessCurrentMesh(), which forwards to the embedded UPreviewMesh::ProcessMesh()  (which can be used with the above)

Add UE::ToolTarget::GetMeshDescriptionCopy() to ModelingToolTargetUtil, similar to existing DynamicMesh variant that will auto-compute tangents if necessary.

#rb none
#rnx
#jira none
#preflight 60c8def586ce760001d8de51
[FYI] semion.piskarev

#ROBOMERGE-SOURCE: CL 16679472 in //UE5/Main/...
#ROBOMERGE-BOT: STARSHIP (Main -> Release-Engine-Test) (v835-16672529)

[CL 16679476 by ryan schmidt in ue5-release-engine-test branch]
2021-06-15 17:05:40 -04:00
ryan schmidt
44b7e9b166 ModelingComponents: improve handling of thin objects in FMeshSceneAdapter. Add Weld step before connected components. Per-Instance transforms are now extracted outside of Component-level processing, and 'thin' detection is now tested under this transform set, for each connected component. This improves handling of (eg) extreme scaling applied to create thin instances. Check AABB dimensions in IsThinPlanarSubMesh() before using normals, this handles many thin parts that are not "box-like" (will still not work if part is rotated). Seed points now generated on offset surfaces, if required, to avoid failures in surface rootfinding. Add support for filtering tiny objects (enabled in ApproximateActorsImpl, for 10% of voxel dimension)
#rb none
#rnx
#preflight 60c844582da78400011f4ef7

#ROBOMERGE-SOURCE: CL 16670139 via CL 16670142
#ROBOMERGE-BOT: STARSHIP (Main -> Release-Engine-Test) (v834-16658389)

[CL 16670143 by ryan schmidt in ue5-release-engine-test branch]
2021-06-15 02:47:39 -04:00
ryan schmidt
934029b3b6 ModelingComponents: static analysis fix
#rb none
#rnx
#jira none
#preflight 60c666a65c10070001e632a4

#ROBOMERGE-SOURCE: CL 16654965 in //UE5/Main/...
#ROBOMERGE-BOT: STARSHIP (Main -> Release-Engine-Test) (v833-16641396)

[CL 16654967 by ryan schmidt in ue5-release-engine-test branch]
2021-06-13 20:52:42 -04:00
ryan schmidt
001b7d5e63 GeometryProcessing: remove forwarding headers used in GeometryCore transition, and update all affected includes.
#rb none
#rnx
#jira none
#preflight 60c52c5db9446100014da02d

#ROBOMERGE-SOURCE: CL 16653115 in //UE5/Main/...
#ROBOMERGE-BOT: STARSHIP (Main -> Release-Engine-Test) (v833-16641396)

[CL 16653121 by ryan schmidt in ue5-release-engine-test branch]
2021-06-13 00:36:02 -04:00
ryan schmidt
698c917ae1 ModelingComponents: handle case in FMeshRenderDecomposition where input mesh has no materials
#rb none
#rnx
#jira none
#preflight 60c52b0ab9446100014d9aad

#ROBOMERGE-SOURCE: CL 16653089 in //UE5/Main/...
#ROBOMERGE-BOT: STARSHIP (Main -> Release-Engine-Test) (v833-16641396)

[CL 16653103 by ryan schmidt in ue5-release-engine-test branch]
2021-06-13 00:33:38 -04:00
ryan schmidt
3a59b1a97b Rename USimpleDynamicMeshComponent to UDynamicMeshComponent. Move ModelingComponents Components and SceneProxys to /Components subdirectory.
#rb none
#rnx
#jira none
#preflight 60c4451f5c10070001ae0537

#ROBOMERGE-SOURCE: CL 16652187 in //UE5/Main/...
#ROBOMERGE-BOT: STARSHIP (Main -> Release-Engine-Test) (v833-16641396)

[CL 16652193 by ryan schmidt in ue5-release-engine-test branch]
2021-06-12 14:30:22 -04:00
ryan schmidt
55100a87c5 ModelingComponents: Clean up DynamicMeshComponent API. Update Component and Proxy handling of Tangents to use Attribute Overlay if available. Update affected Tools and also convert most of the affected Tools to use UE::ToolTarget helper functions.
- Add UE::ToolTarget::CommitMaterialSetUpdate() and ::CommitDynamicMeshUpdate(). ::GetDynamicMeshCopy() can now return tangents if requested.
- Add IMeshDescriptionProvider::CalculateAutoGeneratedAttributes(). Default implementation does nothing, UStaticMeshComponentToolTarget implementation initializes auto-generated MeshDescription attributes. Used in ::GetDynamicMeshCopy() to get tangents (but requires a MeshDescription copy).
- Clean up handling of Tangents in Simple/OctreeDynamicMeshComponent. Add local MakeTangentsFunc() to generate the Tangents lambda, handle different cases and no-tangents fallbacks consistently.
- UDynamicMesh: add optional info arguments to EditMesh() and ChangeInfo struct. Add support for deferring change events from Edit funcs.
- Remove UBaseDynamicMeshComponent::InitializeMesh(), ::Bake() APIs, and add ::SetMesh(). Implement in Simple/Octree implementations, update all Tools that used those APIs.
- Add USimpleDynamicMeshComponent::ProcessMesh(), EditMesh(). These are now the preferred ways to read/write mesh.
- Update USimpleDynamicMeshComponent tangents handling. Externally-computed tangents are now taken directly from the FDynamicMesh3 attribute set. Autogenerated tangents are still computed and stored in an internal FMeshTangentsf, but this is no longer exposed for external updates.
- Remove UPreviewMesh pass-through functions for Tangents access, InitializeMesh() and Bake(). Add ProcessMesh()
- Update all affected Tools. In most cases these Tools have also been converted to use ModelingToolTargetUtil functions, instead of direct ToolTarget interface casting.

#rb none
#rnx
#jira none
#preflight 60c3e71d3e1b3c00015668af

#ROBOMERGE-SOURCE: CL 16650666 in //UE5/Main/...
#ROBOMERGE-BOT: STARSHIP (Main -> Release-Engine-Test) (v833-16641396)

[CL 16650707 by ryan schmidt in ue5-release-engine-test branch]
2021-06-11 22:42:32 -04:00
nathan mitchell
9e8cc4a4c9 UVEditor: Adding multiple selection to MeshSelectionMechanic
#rb michael.balzer
#rnx
#jira UETOOL-3692

#ROBOMERGE-SOURCE: CL 16645760 in //UE5/Main/...
#ROBOMERGE-BOT: STARSHIP (Main -> Release-Engine-Test) (v833-16641396)

[CL 16645764 by nathan mitchell in ue5-release-engine-test branch]
2021-06-11 15:36:18 -04:00
zousar shaker
bbbbf1b55d Fixing callsites for new raw pointer to TObjectPtr upgrade pass on Engine + ShooterGame.
#rb none

#ROBOMERGE-SOURCE: CL 16640949 in //UE5/Main/...
#ROBOMERGE-BOT: STARSHIP (Main -> Release-Engine-Test) (v831-16623017)

[CL 16640952 by zousar shaker in ue5-release-engine-test branch]
2021-06-11 10:10:05 -04:00
ryan schmidt
38e8c1c9d2 ModelingComponents: Add UDynamicMesh class, wraps FDynamicMesh3 in a UObject. Use as mesh storage inside SimpleDynamicMeshComponent and OctreeDynamicMeshComponent. Clean up SimpleDynamicMeshComponent and BaseDynamicMeshComponent API and headers.
#rb david.hill
#rnx
#jira none
#preflight 60c15e9cc612640001ac7350

#ROBOMERGE-SOURCE: CL 16632323 in //UE5/Main/...
#ROBOMERGE-BOT: STARSHIP (Main -> Release-Engine-Test) (v831-16623017)

[CL 16632325 by ryan schmidt in ue5-release-engine-test branch]
2021-06-10 18:37:57 -04:00