Commit Graph

521 Commits

Author SHA1 Message Date
jimmy andrews
0b552fbb8f Rename the edit mesh polygons 'Done' UI button from 'Cancel' to 'Complete' because it often (but not always) accepts the action result
Add a comment noting that this is intentional, despite looking broken since the function calls PostAction(CancelCurrent)
#rb semion.piskarev
#jira UE-193338

[CL 30054469 by jimmy andrews in ue5-main branch]
2023-12-01 16:38:45 -05:00
jimmy andrews
0b02d04d2b add a default-enabled option to remove degenerate triangles during dynamic mesh -> volume conversion, to make volume creation more likely to create valid BSP geometry that works for collisions. This fixes the collision for the modeling mode cone and arrow primitives when they are created as blocking volumes.
#rb rinat.abdrashitov
#jira UE-201659

[CL 30047481 by jimmy andrews in ue5-main branch]
2023-12-01 13:47:26 -05:00
marc audy
c98c8912ec Fix C4702 warnings
#rnx

[CL 29981814 by marc audy in ue5-main branch]
2023-11-29 01:06:23 -05:00
roey borsteinas
e168d21835 Exposed a new property bIsEditable on UDynamicMeshComponent to allow them to block any modifications done through EditMesh/SetMesh. Additionally, when this flag is set to false, the UDynamicMeshToolTarget is blocked from being created for the dynamic mesh component so modeling tools can't edit the mesh either.
#rb Ryan.Schmidt

[CL 29959323 by roey borsteinas in ue5-main branch]
2023-11-28 09:50:36 -05:00
jimmy andrews
81f87183bb Fix handling of external scaling of simple collision shapes across geometry script and modeling tools, to be consistent with how UE applies component transforms to the shapes while still keeping the invariants of the shapes (spheres/capsules remain spheres/capsules, etc)
#rb rinat.abdrashitov

[CL 29876309 by jimmy andrews in ue5-main branch]
2023-11-21 17:55:54 -05:00
marc audy
763a611985 Fix C4072 warnings
#rnx

[CL 29852844 by marc audy in ue5-main branch]
2023-11-20 17:26:53 -05:00
jimmy andrews
d3b9938342 minor modeling mode tooltip cleanup -- fix a typo in edit polygroups and add requested tooltip in vox offset
#jira UE-195518
#jira UE-179311

#rb tyson.brochu

[CL 29851325 by jimmy andrews in ue5-main branch]
2023-11-20 16:39:17 -05:00
nickolas drake
5b4f2d0acc PatternTool: Fixed a bug causing the tool to not emit any actors when a normal StaticMeshActor is used. Now the tool properly emits FortStaticMeshActors.
#rb Jimmy.Andrews

[CL 29815558 by nickolas drake in ue5-main branch]
2023-11-17 14:00:58 -05:00
jimmy andrews
bf3ae9cbd2 better simple collision level set visualization: add optional marching-cubes-based level set triangulation to the simple-collision->mesh utility functions and use the new marching cubes triangulation in tools + optionally in geometry script's append simple collision function.
also do some cleanup / generalization of the utility functions and change geometry script's append simple collision function to use them.

#rb David.Hill

[CL 29763193 by jimmy andrews in ue5-main branch]
2023-11-15 18:04:18 -05:00
charles bloom
108b030948 Texture preventative fixes; clarify some mip locking code and fix 64 bit issues
#rb fabian.giesen
#rnx

[CL 29759416 by charles bloom in ue5-main branch]
2023-11-15 16:30:26 -05:00
jimmy andrews
3e18a78d99 Make the modeling components' scene snapping volumes filter also filter out shape components, so e.g. a trigger box is filtered (or not) the same way as trigger volume
#jira UE-194042
#rb matija.kecman

[CL 29718601 by jimmy andrews in ue5-main branch]
2023-11-14 13:23:52 -05:00
jimmy andrews
088295ebe0 add a solid collision visualization toggle to the mesh to collision and inspect collision tools
#jira UE-182347
#rb matija.kecman

[CL 29645609 by jimmy andrews in ue5-main branch]
2023-11-10 12:57:56 -05:00
jimmy andrews
7c757e5254 on volume->dynamic mesh conversion, when normals are requested and groups are not requested, still keep the groups until they can be used to compute normals and then discard them.
this fixes an ensure on trying to place a new modeling tools primitive mesh in a level when a volume is in the level and volume snapping is enabled

#rb david.hill

[CL 29615343 by jimmy andrews in ue5-main branch]
2023-11-09 18:43:27 -05:00
jimmy andrews
7043a3d262 Fix coordinate frame used for applying scale for the lattice control point gizmo
#jira UE-198901
#rb matija.kecman

[CL 29564235 by jimmy andrews in ue5-main branch]
2023-11-08 12:11:46 -05:00
jimmy andrews
7e50f1b82d add option to request tangents to the dynamic mesh provider, with custom implementations for targets that go through the mesh description (so we'll use the standard tangent compute paths in those cases)
#rb ryan.schmidt

[CL 29416384 by jimmy andrews in ue5-main branch]
2023-11-03 14:59:41 -04:00
jimmy andrews
f8348aa400 fix bugs that can occur on undo during mouse drags for draw spline, lattice and collision editor tools, by keeping a transaction open for the duration of the drag
also add a little utility struct to manage this kind of held-open transaction, with some error checking to help catch any errors where these transactions end up opened but not closed or vice versa

#jira UE-197380
#rb semion.piskarev, matija.kecman

[CL 29328451 by jimmy andrews in ue5-main branch]
2023-11-01 15:25:25 -04:00
matija kecman
83e552908e BakeRC: Fix bug where the Opacity channel was not rebaked when a setting invalidating all baked textures was changed
#rb jimmy.andrews

[CL 29230280 by matija kecman in ue5-main branch]
2023-10-30 08:27:50 -04:00
matija kecman
a1bbb38703 FWorldRenderCapture: Consolidate Emissive render capture code path with the other buffer visualization code paths
#rb sebastien.lussier

[CL 29177106 by matija kecman in ue5-main branch]
2023-10-27 05:36:48 -04:00
jimmy andrews
d2f9909554 Add geometry selection api overload to tools that won't affect selection, so the modeling mode can restore any previous geometry selection after use
#jira UE-189085
#rb matija.kecman

[CL 29096961 by jimmy andrews in ue5-main branch]
2023-10-25 14:36:45 -04:00
ryan schmidt
db4634dfb9 GeometryScripting: improve support for handling StaticMesh/DynamicMesh LOD and Material aspects
UE::AssetUtils::GetStaticMeshLODMaterialListBySection() now returns the slot name for each Material
BP function GetSectionMaterialListFromStaticMesh() now returns slot names. Fixed issue in this function where LODIndex was clamped to Render LODs, not SourceModel LODs. This function now also works for RenderData LODs. In CopyMeshToStaticMesh, for RenderData LODs, the MaterialID is set to the MaterialIndex referenced by each mesh section. So in this case in GetSectionMaterialListFromStaticMesh, the Asset Material List is returned directly. This is not really a "per Section Material List' as the function name implies, however it allows this function to provide comparable behavior between SourceModel and RenderData LODs.

Add new BP function RemapToNewMaterialIDsByMaterial() which figures out MaterialID remapping based on original and new Material lists (assuming MaterialID indexes into original Material list)
Add BP functions GetNumStaticMeshLODsOfType() and CheckStaticMeshHasAvailableLOD(), these utilities are useful for dealing w/ multi-LOD assets

#rb jimmy.andrews

[CL 29052212 by ryan schmidt in ue5-main branch]
2023-10-24 15:57:31 -04:00
jimmy andrews
7e1b8e46d9 add concept of saving-on-clear/restoring the selection manager's selection, so that tools can restore the before-tool selection if the tool is cancelled, or if the tool otherwise did not change the underlying meshes.
+ add a callback to the modeling editor mode so it can know whether a tool was cancelled, and make the modeling mode use the selection manager's new save-on-clear/restore feature automatically when its tools are cancelled.

 + make some tools (normals, tangents, inspector) restore the before-tool-start selection after tool use via a utility function, since they shouldn't change mesh IDs that the selection relies on.

#jira UE-195948
#rb Ryan.Schmidt

[CL 29027037 by jimmy andrews in ue5-main branch]
2023-10-23 22:46:23 -04:00
jimmy andrews
276018a3cc Fix Auto UV tool failing to find target's bounding box when run on the sky sphere, due to the bounds call expecting to find bounds for colliding components.
+ Add fallback logic in case the primitive bounds are still invalid / empty

#jira UE-194785
#rb matija.kecman

[CL 29022684 by jimmy andrews in ue5-main branch]
2023-10-23 16:30:16 -04:00
matija kecman
a98eba83ca Fix horde issue 383964
#horde 383964

[CL 28957977 by matija kecman in ue5-main branch]
2023-10-20 05:30:17 -04:00
matija kecman
3e7da2e8df Fix horde issue 383823
#horde 383823

[CL 28931800 by matija kecman in ue5-main branch]
2023-10-19 16:09:48 -04:00
jimmy andrews
7020f4272d Add comments to Mesh Splines tool properties/enums
#jira UE-196881
#rb matija.kecman

[CL 28927416 by jimmy andrews in ue5-main branch]
2023-10-19 14:40:54 -04:00