Commit Graph

602 Commits

Author SHA1 Message Date
jeremy moore
4af0cb0770 Added ISM pool debug component.
Currently allows ISM selection and some debug bounds/stats.
#preflight 64090c8ca92b27de3c553c5c

[CL 24571870 by jeremy moore in ue5-main branch]
2023-03-09 00:00:20 -05:00
jeremy moore
644ac38dc2 GeometryCollection object can store custom instance data to pass to instances spawned in ISM pools.
Also add a per component custom data which, if present, is added to all ISM pool instances that the component generates.
#preflight 6409444bcf5fe1e28c0e065c

[CL 24571716 by jeremy moore in ue5-main branch]
2023-03-08 23:38:52 -05:00
steven barnett
b7e1143582 Add InitialRootIndex to simulation parameters to make it accessible on physics thread
#rb cedric.caillaud
#preflight 24534058

[CL 24546560 by steven barnett in ue5-main branch]
2023-03-07 15:16:22 -05:00
tim doerries
ad5594d9b4 Fix for crash when applying a SLW material onto a Nanite mesh.
#rb graham.wihlidal
#rnx
#preflight 6407883c8c0039bbf7d32de7

[CL 24545925 by tim doerries in ue5-main branch]
2023-03-07 14:44:01 -05:00
vincent robert
37b60655c2 Add MaxSimulatedLevel in Geometry Collection that allows not to create particles from the input level and the beyond.
#jira UE-176884
#rb cedric.caillaud
#preflight 64066b7b3206d45d2037fbf0

[CL 24534469 by vincent robert in ue5-main branch]
2023-03-06 19:44:34 -05:00
jeremy moore
34bb7d78c3 Use AddInstances() from ISM Pool.
This gives a single HISM rebuild event instead of one for each instance added.
#preflight 6405fb733206d45d200c007a

[CL 24528554 by jeremy moore in ue5-main branch]
2023-03-06 15:17:02 -05:00
cedric caillaud
825f58716e Geometry collection : Only enable primary tick function when removal features are need ( after the root breaks )
- Set the Tick function to be disabled at start
- Disabled the auto activate that was automatically enabling the primary tick function
- Enable the tick function post physics update after the root is broken

#rb benn.gallagher, brice.criswell, michael.bao
#preflight  6403abc63206d45d20937121

[CL 24525790 by cedric caillaud in ue5-main branch]
2023-03-06 13:20:46 -05:00
cedric caillaud
280dc6f9e0 Geometry collection : move rendering and nav updates from TickCOmponent to PostPhysicsUpdate
- also cache RootIndex in Geometry collection asset to avoid scanning through all the transforms each time to find it

#rb benn.gallagher, jimmy.andrews
#preflight 64017a41d249add4a224c288

[CL 24509670 by cedric caillaud in ue5-main branch]
2023-03-03 18:14:55 -05:00
michael bao
5dd78dc19d geometry collections should not attempt to replicate parent particles that are a part of cluster unions
#rb cedric.caillaud
#preflight 64015434d249add4a2171ef7

[CL 24504271 by michael bao in ue5-main branch]
2023-03-03 14:18:06 -05:00
michael forot
564045d020 [Backout] - CL24489307
[FYI] nat.parkinson
Original CL Desc
-----------------------------------------------------------------
[Backout] - CL24480805 to resolve compile error
[FYI] Michael.Forot
Original CL Desc
-----------------------------------------------------------------
Network physics for vehicles

#rb bill.henderson
#preflight 63ff6e32f43e53f68127e521

[CL 24499687 by michael forot in ue5-main branch]
2023-03-03 11:22:01 -05:00
michael bao
9ba4763739 add function to get body ID on the component given a raw GT particle
#rb cedric.caillaud
#preflight 64014005d249add4a20f46e5

[CL 24494806 by michael bao in ue5-main branch]
2023-03-02 21:57:29 -05:00
nat parkinson
98d04ec328 [Backout] - CL24480805 to resolve compile error
[FYI] Michael.Forot
Original CL Desc
-----------------------------------------------------------------
Network physics for vehicles

#rb bill.henderson
#preflight 63ff6e32f43e53f68127e521

[CL 24493661 by nat parkinson in ue5-main branch]
2023-03-02 20:26:46 -05:00
cedric caillaud
1869b8fa9c Geometry collection : move GC to use ISM ( instead of HISm ) when using ISM Pool to temporarily fix an issue that breaks root proxy mesh visibility logic
#rb michael.bao, jeremy.moore, kenzo.terelst
#preflight 64000abe30633435f866dd2e

[CL 24485610 by cedric caillaud in ue5-main branch]
2023-03-02 13:06:14 -05:00
michael forot
0fa9892ced Network physics for vehicles
#rb bill.henderson
#preflight 63ff6e32f43e53f68127e521

[CL 24484224 by michael forot in ue5-main branch]
2023-03-02 12:12:37 -05:00
cedric caillaud
eb7934f982 Fix missing headers causing non-unity build errors
#rb none
#preflight none

[CL 24469560 by cedric caillaud in ue5-main branch]
2023-03-01 15:44:13 -05:00
cedric caillaud
0cd0bf63e1 Geometry collection : GC asset now supports AssetUserData
#rb logan.harvell
#preflight 63fee4f6437ce3e7f3d53619

[CL 24469513 by cedric caillaud in ue5-main branch]
2023-03-01 15:43:03 -05:00
cedric caillaud
289ce53362 ISM Pool : fix preallocation of instance passing the total number of instance instead of the added ones
#rb kenzo.terelst, bryan.sefcik
#preflight 63fefba1e32cdb7d9a959e93

[CL 24469446 by cedric caillaud in ue5-main branch]
2023-03-01 15:41:06 -05:00
cedric caillaud
fb2a37ccd0 Attempt to fix cook warning related to event dispatcher in Geometry collection
- made the event dispatcher a transient property
- allocate the object using NewObject instead of CreateDefaultSubobject since it is a runtime only object

#rb benn.gallagher, Ben.Zeigler, dan.oconnor
#preflight 63fda3b2f43e53f6815c2b27

[CL 24454388 by cedric caillaud in ue5-main branch]
2023-02-28 18:22:56 -05:00
cedric caillaud
5f3b8f7b47 Geometry collection : replication : make server authoritative particles unbreakable by the client
- added unbreakable flag to clustered particles SOA
- packed InternalCluster , Anchored and Unbrekable booleans in a flag structure using bit fields ( saved a bool per particle )
- non authoritative particles are now unbreakable on the client until they replicate

#rb chris.caulfield, michael.bao, benn.gallagher
#preflight 63f94dd9a134e0b059dd9910

[CL 24437720 by cedric caillaud in ue5-main branch]
2023-02-27 22:00:29 -05:00
cedric caillaud
519c695b42 Destruction builder : set import data on geometry collection assets
#rb none
#preflight 63f9b7631206d91a2b2479bc

[CL 24418000 by cedric caillaud in ue5-main branch]
2023-02-26 07:19:14 -05:00
bryan sefcik
a325a91dd1 Updated the "AutoInstances" meshes to not add to the ISMPool until they are needed.
Deprecated the FSoftObjectPath "StaticMesh" property in FGeometryCollectionAutoInstanceMesh and replaced it with a TObjectPtr<UStaticMesh> Mesh property. This fixes an issue where asserts would fire because we were doing sync loads after the loadscreen.
These changes saved roughly 100MBs in our test level.

#jira
#rb cedric.caillaud
#preflight 63f846e9c35a14198085d30e

[CL 24406749 by bryan sefcik in ue5-main branch]
2023-02-24 15:00:49 -05:00
cedric caillaud
50efd38db8 Geometry collection: make removal random generated timer values consistent between client and server
- make bone colors unique per component based on number of bones
- remove dependency to PhysXUserdata

#rb none
#preflight 63f86cbcdd78dd50f6541cca

[CL 24406423 by cedric caillaud in ue5-main branch]
2023-02-24 14:43:53 -05:00
Jeremy Moore
3a27764101 #jira UE-178300
Fix crash in FNaniteGeometryCollectionSceneProxy creation.
Issue seems to have been from bad merge of work in other stream.
#preflight 63f905fac35a141980d6a86c

[CL 24405393 by Jeremy Moore in ue5-main branch]
2023-02-24 13:59:56 -05:00
jimmy andrews
77374553ae remove legacy guard against having 0 materials on geometry collection components
#rb devon.penney
#preflight 63f5c6d77064074bd874e702

[CL 24371929 by jimmy andrews in ue5-main branch]
2023-02-22 17:59:05 -05:00
jeremy moore
6d354ea7d8 #jira UE-177467
Add flag for strip render data on cook to Geometry Collection.
This can be used if we have a non-native rendering replacement such as using ISM pools.
Added p.GeometryCollectionAssetForceStripRenderDataOnCook as a per-project way to force this.
#preflight 63f64517ff5afbbb03b47a1a

[CL 24370976 by jeremy moore in ue5-main branch]
2023-02-22 17:30:06 -05:00