Commit Graph

1624 Commits

Author SHA1 Message Date
patrick enfedaque
5ce0c83b58 Landscape Dirtyness
- New CVar 'landscape.DirtyOnlyInMode' when enabled, modifications to the landscape that happen outside of the Landscape Edit Mode (Modifications affecting the Edit Layers like Water brush) will be tracked but packages will not be marked dirty.
- Users can use the Build > Save Modified Landscapes to save those collateral changes.

#jira UE-158840
#rb richard.malo, jonathan.bard
#preflight 63206a3da514fd1e37bfd0ec

[CL 21989552 by patrick enfedaque in ue5-main branch]
2022-09-13 15:01:53 -04:00
kenzo terelst
e5d299b320 PSO Precache Vertex factory changes:
- Make ManualVertexFetch & SupportNullPixelShader flags on type instead of members on the VertexFactory instance
- Add PSOPrecaching flag and static PSO precaching element fetch function which can be called on the type during PSO precaching itself
- Implement GetPSOPrecacheVertexFetchElements on most commonly used VertexFactories

#jira UE-139584
#rb Jason.Nadro, Josie.Yang

[CL 21989510 by kenzo terelst in ue5-main branch]
2022-09-13 15:00:41 -04:00
kenzo terelst
ee56085de5 - ComputeMeshFillMode doesn't require MeshBatch as parameter
- MeshPassProcessor create function takes feature level as create parameter
- MeshPassProcessor base stores the processor enum type (handy for reference and stat tracking per pass type)
 When pass enum value is not available then EMeshPassType::Num is used for now

#jira UE-139584
#rb Jason.Nadro, Mihnea.Balta, Zach.Bethel, Arciel.Rekman
#preflight 631b30f1304480f8f89fca35

[CL 21987972 by kenzo terelst in ue5-main branch]
2022-09-13 14:04:12 -04:00
benn gallagher
711a39ab41 Separated arm/x64 DDC keys for physics geometry on static meshes and landscape heightfields
#rb Fabian.Giesen
#jira none
#preflight 631b2a65f448dc6e58e628fa

[CL 21986879 by benn gallagher in ue5-main branch]
2022-09-13 13:26:34 -04:00
patrick enfedaque
2c6ddea086 Landscape: Fix non-unity build
#rb none
#preflight skip

[CL 21918664 by patrick enfedaque in ue5-main branch]
2022-09-09 08:20:53 -04:00
bryan sefcik
07894f4a07 Removed redundant private include paths from build.cs files.
Fixed include paths to be relative to the private or public folders.
Hid or removed includes that reached into other private module folders.
Updated PublicInclude paths when necessary.

#jira
#preflight 631a717cec45fbf3d74d4ba7

[CL 21916033 by bryan sefcik in ue5-main branch]
2022-09-09 00:53:22 -04:00
jonathan bard
dd0b1898bc Landscape physical material render fixes:
* Added CVar for performing render captures
* Landscape physical material async tasks now trigger the compilation of their needed shaders and asynchronously wait for them in order not to render landscape physical material indices with a fallback material, which is completely incorrect. That was leading to invalid landscape physical material export during the first run because of on-demand shader compilation.
* Cleanup physical material data in landscape components when a material that uses Physical Material Output stops using them

#rb luc.eygasier
#jira UE-163095
#preflight 6319f9aaec45fbf3d72d2c1c

[CL 21909326 by jonathan bard in ue5-main branch]
2022-09-08 20:48:00 -04:00
Aris Theophanidis
312dced957 [Navmesh] Fix navmesh generation not working for ULandscapeHeightfieldCollisionComponent landscape in Lazy gathering mode.
The sample cache was not reset in RecreateCollision().
#jira UE-135209
#rb Mieszko.Zielinski
#preflight 631748dbf448dc6e58319174

[CL 21815612 by Aris Theophanidis in ue5-main branch]
2022-09-06 09:32:45 -04:00
Zousar Shaker
b7bac5d97c ObjectPtr macro cleanup pass using search+replace.
#rb none
#preflight 6312aefef448dc6e58dc274e

[CL 21773340 by Zousar Shaker in ue5-main branch]
2022-09-02 21:52:41 -04:00
nick darnell
8c6dccfce9 Core - Making some improvements to TObjectPtr, introducing some templating utilities so that we can better template match TObjectPtr vs UObject* pointers so that a single templated function can work for either.
Core - Added support for assigning a TObjectPtr<T> to a TScriptInterface just like you'd expect from a raw Object*.

Actor - Making a version of GetComponents that will work for TObjectPtr collections.  Additionally fixed several places in the engine where we're forcing the template parameter instead of allowing it to be determined automatically - which forced me to leave one of the GetComponent implementations, but I think we aught to remove it. e.g.

Don't Do

TArray<UPrimitiveComponent*> PrimComponents;
Actor->GetComponents<UPrimitiveComponent>(PrimComponents);

Do

TArray<UPrimitiveComponent*> PrimComponents;
Actor->GetComponents(PrimComponents);

Slate - Introducing support for collections of TObjectPtr<T>'s being used as source lists for the STableView.

#preflight 630f7af8e54ec9d581b03d65
[REVIEW] [at]Marc.Audy, [at]Steve.Robb, [at]Zousar.Shaker

[CL 21727328 by nick darnell in ue5-main branch]
2022-08-31 16:13:49 -04:00
richard malo
7e6d98cf61 - Added new optional world partition builder UWorldPartitionLandscapeSplineMeshesBuilder to extract Landscape SplineMeshComponents and ControlPointMeshComponents and distributes them into ALandscapeSplineMeshesActors.
- When builder is used, ALandscape actor is marked with a flag. This flag is then used to automatically mark hidden in game (for PIE) and strip from cooked builds the source components.
- Added new ALandscapeSplineMeshesActor (partitioned actor) that serves as a container for extracted landscape spline meshes and control point meshes.
#rb sebatien.lussier, jeanfrancois.dube, patrick.enfedaque
#preflight 630d3157660db81edb7a197f

[CL 21698778 by richard malo in ue5-main branch]
2022-08-30 08:09:34 -04:00
philippe deseve
875385177c Allow for a single WorldPartition to have multiple ActorDescContainer
Added FActorDescContainerCollection which can contains multiple UActorDescContainer
ActorDescContainer can be created to load ExternalFolder in various places for a world partition
WorldPartition no longer inherits UActorDescContainer and now inherits FActorDescContainerCollection
ActorsDesc are added to the right container on save based on their packagepath
HLODs generation only occurs on the Main WorldPartition Actors for the moment
Some WorldPartitionBuilders commandlets do not support having WorldPartitions with multiple ACtorDescContainer. In that case, the commandlet fails and outputs an error message.

#test cook AncientGame, cook city_sample, cook asteria_terrain, HLods generation on AncientGame, Level Instances workflow
#rb jeanfrancois.dube
#preflight 630ce860a416f6df25b74655

[CL 21691284 by philippe deseve in ue5-main branch]
2022-08-29 18:44:52 -04:00
chris tchou
8dfd4deb2d Fix for an assert in landscape when using local merge on D3D12 -- RDG does not yet support textures that are populated by a copy / only used as a shader resource.
#rb jonathan.bard
#jira UE-160948
#preflight 630cf2f0e1124837752f0646

[CL 21690039 by chris tchou in ue5-main branch]
2022-08-29 18:01:23 -04:00
james studdart
f3251964aa Invert the default to enable landscape layers to update.
#preflight trivial
[FYI] brandon.dawson, jimmy.gass

[CL 21684922 by james studdart in ue5-main branch]
2022-08-29 14:44:37 -04:00
brandon dawson
224d5f95cf Add flag for skipping the landscape layers update.
#preflight 6308f2d53405456ee56f5c27

[CL 21684905 by brandon dawson in ue5-main branch]
2022-08-29 14:44:09 -04:00
roey borsteinas
c831fc4514 Water: changed default water brush and water zone spawn behaviour. Now more intelligently chooses the correct landscape, supports multiple landscapes, and sets the zone bounds to properly match the landscape.
#rb jonathan.bard
#jira UE-112328

[CL 21572135 by roey borsteinas in ue5-main branch]
2022-08-25 16:48:06 -04:00
MichaelBell
5c6dde97b2 PR #9028: Fix navmesh generation for Landscape Mesh Collision Components (Contributed by MichaelBell)
ULandscapeMeshCollisionComponent does not SupportsGatheringGeometrySlices.
#jira UE-147607
#rb Mieszko.Zielinski
#preflight 6307a1d86f3401e022614d06

[CL 21567549 by MichaelBell in ue5-main branch]
2022-08-25 13:08:34 -04:00
sebastien lussier
426f31785f World Partition - HLOD: Exclude some HLOD builder subclasses from editor dropdowns
* Custom HLOD builders can be assigned to HLOD layers
* Instancing, MeshApproximate, MeshMerge and MeshSimplify are already exposed through standard means
* WaterBodyHLODBuilder and LandscapeHLODBuilder are specific to their respective components
#rb patrick.enfedaque
#preflight 6307713eae13a5a0986c7636

[CL 21566727 by sebastien lussier in ue5-main branch]
2022-08-25 12:20:55 -04:00
graham wihlidal
c2938cd9e2 Explicitly disable WPO evaluation on landscape Nanite meshes
#rb trivial
#preflight skip

[CL 21525386 by graham wihlidal in ue5-main branch]
2022-08-23 19:29:28 -04:00
graham wihlidal
462f709539 Nanite override materials implementation - allows Nanite specific materials to be used on a mesh instead of the regular mesh materials. Enabled by default based on cvar r.Nanite.MaterialOverrides. The same static mesh asset is used, with Nanite either building off of LOD0 (and decimating LOD0 to be used as a fallback mesh for non-Nanite), or using the hi-res mesh LOD path to add Nanite data as a sidecar to the asset without touching LOD0...N
#rb ryan.schmidt
[FYI] brian.karis, michal.valient, richard.talbotwatkin, jeanmichel.dignard, jordan.walker, bryce.lumpkin
#preflight 63046797ae13a5a098ce8767

[CL 21525023 by graham wihlidal in ue5-main branch]
2022-08-23 19:23:20 -04:00
semion piskarev
951a56187f Landscape: Expose ALandscapeProxy::GetLandscapeActor to blueprints so that landscape streaming proxy can be used to find the owning landscape.
#rb Jonathan.Bard
#preflight 6303ce62a45b007ea248092f

[CL 21500809 by semion piskarev in ue5-main branch]
2022-08-22 21:52:51 -04:00
Nickolas Drake
c95b943484 Landscape Edit Layers: Add edit layer insertion modal dialog and ILandscapeEditorServices. Implement high level GetOrCreateEditLayer(FName InEditLayerName, ALandscape* InTargetLandscape) which allows for custom layer creation logic. Default logic returns layer index if matching layer is found, otherwise creates the layer and prompts the user with a dialog to choose how to insert the new layer.
#jira UE-157674
#rb jonathan.bard
#preflight 6303dd75fa1ac183e5f64663

[CL 21492408 by Nickolas Drake in ue5-main branch]
2022-08-22 16:30:55 -04:00
Nickolas Drake
52f38ca7f2 [Backout] - CL21485614
#fyi Nickolas.Drake
Original CL Desc
-----------------------------------------------------------------
LandscapeNotifications: Unify landscape notification's into a single notification/notification manager class.

Duplicate functionality as CL 21458279 which caused Lyra errors. Ran Lyra cook preflight 62ffe560fc3d0e6817299ccb to ensure the Lyra issue is fixed, passed all relevant steps.

#jira UE-113697
#rb jonathan.bard
#preflight 63039eb15a5d4e4624dbebab

[CL 21486504 by Nickolas Drake in ue5-main branch]
2022-08-22 13:23:10 -04:00
Nickolas Drake
eaaa7986aa LandscapeNotifications: Unify landscape notification's into a single notification/notification manager class.
Duplicate functionality as CL 21458279 which caused Lyra errors. Ran Lyra cook preflight 62ffe560fc3d0e6817299ccb to ensure the Lyra issue is fixed, passed all relevant steps.

#jira UE-113697
#rb jonathan.bard
#preflight 63039eb15a5d4e4624dbebab

[CL 21485614 by Nickolas Drake in ue5-main branch]
2022-08-22 12:39:49 -04:00
michael balzer
8cab9415c7 [Backout] - CL21458279
#fyi Nickolas.Drake
Original CL Desc
-----------------------------------------------------------------
LandscapeNotifications: Unify landscape notification's into a single notification/notification manager class.

#jira UE-113697
#rb jonathan.bard
#preflight 62ffa9eb7770b47eeaae9ae0

[CL 21460257 by michael balzer in ue5-main branch]
2022-08-19 13:20:20 -04:00