Commit Graph

691 Commits

Author SHA1 Message Date
vincent robert
1dbafd35dd AncientGame fails to compile, Fix breaking API
FBreakChaosEvent was created in Engine to replaced FChaosBreakEvent event which was in CHAOSSOLVER_API and so no accessible in Engine for circular dependency issue. But in order to backward compatibility with blueprint delegate, and code the only easy way was to keep the same name. This CL is changing back those names to FChaosBreakEvent.
Same apply for Removal and Crumbling events.
#jira UE-187555
#preflight 6478df285d23eca37d9f4ab4
#rb cedric.caillaud

[CL 25736541 by vincent robert in ue5-main branch]
2023-06-01 15:22:19 -04:00
jimmy andrews
fe746a8526 fix issue with fracture dynamic collection not matching rest collection, causing an ensure on fracture reset: change defaults to update dynamic collection, and make sure the dynamic is also reset if the rest is updated so they do not go out of sync
#preflight 64779bd10848b7126de26d80
#rb cedric.caillaud

[CL 25720427 by jimmy andrews in ue5-main branch]
2023-06-01 00:40:28 -04:00
vincent robert
794de23f2e Clean up : Remove Break, Removal and Crumbling Events from CHAOSSOLVERENGINE_API, those events are now in ENGINE_API
#preflight 647778fd1c5c2b3fa2c4172d
#rb cedric.caillaud

[CL 25711914 by vincent robert in ue5-main branch]
2023-05-31 16:02:01 -04:00
michael bao
b018435041 disable particles when children array becomes empty - add additional debug messages into geometry collection to track why ensure happens
#preflight 6470f8665b1dc793b72e0c54
[FYI] cedric.caillaud

[CL 25655048 by michael bao in ue5-main branch]
2023-05-26 18:19:12 -04:00
michael bao
535c83f8ee remove unnecessary immediate handling of cluster union deferred updates to better batch them for perf
#preflight 647007e6407983b998419deb

[CL 25649453 by michael bao in ue5-main branch]
2023-05-26 13:55:36 -04:00
michael bao
430a23c3b2 geometry collections should not try to replicate empty internal clusters
#preflight 646f972dd1157dc4a77a1b92

[CL 25645243 by michael bao in ue5-main branch]
2023-05-26 12:18:17 -04:00
jeremy moore
79eb1dec19 When geometry collection is empty, don't build the render mesh data.
This fixes crash when trying to render with empty mesh data.
#preflight 646f7406c34463d6e849a37e

#ushell-cherrypick of 24818312 by Jeremy.Moore
#preflight 646f7406c34463d6e849a37e

[CL 25644755 by jeremy moore in ue5-main branch]
2023-05-26 12:11:29 -04:00
graham wihlidal
f44e4131c5 Changed Nanite::FResources member on static mesh render to an abstracted TPimplPtr<> to fully decouple NaniteResources.h from StaticMeshResources.h, avoiding costly full engine rebuilds whenever we iterate on Nanite, and provide us a mechanism going forward to move more of our API private.
#rb brian.karis, rune.stubbe
#fyi christopher.waters, juan.canada, yuriy.odonnell, henrik.karlsson
#preflight 6470360127390642751d5d60

[CL 25638055 by graham wihlidal in ue5-main branch]
2023-05-26 00:55:23 -04:00
cedric caillaud
d1caeada52 Geometry collection rendering optimization
- Optimize the ISM Pool to use the instance static mesh array API for passing transform , avoiding local array allocation
- avoid sorting the removal indices twice by using the new instance static mesh view

#rb jeremy.moore, benn.gallagher
#preflight 646eccdc4422ba05f44bb942

[CL 25633600 by cedric caillaud in ue5-main branch]
2023-05-25 18:53:40 -04:00
cedric caillaud
7f34f871f9 geometry collection : fix crash when SetRestCollection is called at runtime while using custom renderer
#rb trivial
#preflight none

[CL 25631045 by cedric caillaud in ue5-main branch]
2023-05-25 17:54:52 -04:00
tiago costa
01762cd124 Nanite RayTracing: Allocate auxiliary data staging buffer based on number of streamed clusters instead of number of total clusters
- added new runtime field (NumStreamedClusters) to Nanite::FResources
- modified logic in Nanite::FStreamingManager to update number of streamted clusters when pages are installed/uninstalled.
- modified NaniteStreamOut to output number of clusters to be able to check for incorrect count on CPU side.
- On CitySample, peak NaniteRayTracing.StagingAuxiliaryDataBuffer size is reduced from close to 1GB to about 200MB.

#rb rune.stubbe
#preflight 646e3399f85111e06ca30efa

[CL 25607114 by tiago costa in ue5-main branch]
2023-05-24 13:11:15 -04:00
cedric caillaud
68d1685dda Optimize removal update code to avoid evaluating Gettransform at each step of the loop
also remove the overse transform if scaling is not enabled

#rb benn.gallagher, michael.bao
#preflight 646cded9576becd7b5e28cb2

[CL 25592280 by cedric caillaud in ue5-main branch]
2023-05-23 18:14:19 -04:00
vincent robert
1e3d8014a8 Global Event Relay for Collision, Removal and Crumbling events.
#preflight 646cb99d1417daba1e475ff2
#rb cedric.caillaud

[CL 25583398 by vincent robert in ue5-main branch]
2023-05-23 11:15:22 -04:00
cedric caillaud
09a017b797 Geometry collection : expose component DamageModel property to blueporints
#rb trivial
#preflight none

[CL 25553536 by cedric caillaud in ue5-main branch]
2023-05-19 17:58:10 -04:00
cedric caillaud
eef8830620 Optimize data marshalling of geometry collectionsbetween PT and GT
- Remove global transforms from the payloads
- Only send data for the transform indices that have been changes ( reducing copy and allocation )
- Do not send any more data from BufferPhysicsResults_External ( removing it from showing in profiling )
- move UpdateRemovalIfNeeded to only be called if the root is broken

#rb benn.gallagher, michael.bao, chris.caulfield
#preflight 6466eba075696d2bd71523ce

[CL 25553363 by cedric caillaud in ue5-main branch]
2023-05-19 17:52:49 -04:00
cedric caillaud
173be81199 Geometry collection : Expose Damage model property to blueprints
#rb trivial
#preflight none

[CL 25549123 by cedric caillaud in ue5-main branch]
2023-05-19 14:44:02 -04:00
jimmy andrews
9848393f1d fix crash on fracture due to out of sync geometry collection components: make FGeometryCollectionEdit propagate update info to all components w/ the same rest collection by default
+ add an extra guard so we will ensure instead of crash if we do get into the bad/mismatched state that this bug was causing

#rb cedric.caillaud
#preflight 64655b96063e77985cdfca49

[CL 25521416 by jimmy andrews in ue5-main branch]
2023-05-17 23:53:14 -04:00
michael bao
23217d438a UGeometryCollectionComponent::SetPerParticleCollisionProfileName can now adapt to cases where the number of particles in the rest collection changes at runtime
#rb cedric.caillaud
#preflight 6464f977d62884a78f31712d

[CL 25515011 by michael bao in ue5-main branch]
2023-05-17 16:00:50 -04:00
cedric caillaud
23f288ba5e Geometry collection : make sure we don't construct FName at runtime for the removal related facade classes
#rb trivial
#preflight one

[CL 25509749 by cedric caillaud in ue5-main branch]
2023-05-17 12:35:23 -04:00
cedric caillaud
410d10d2be Geometry collection : update socket API to also look for sockets in the root proxies if they are available
[FYI] jack.oakman, jim.vanallen
#rb fernando.coello
#preflight 6463a36122055ced647e63b6

[CL 25509733 by cedric caillaud in ue5-main branch]
2023-05-17 12:34:53 -04:00
vincent robert
50590a6f16 EventRelay is created for break events.
It is allowing to iterate through all events from one function from a blueprint library.
We can also registered to the relay to be able to group or filter events out.
This is allowing to have a better control on the received events according to their component, tags, location, velocity...etc
#rb cedric.caillaud
#preflight 6464269e317ee2d9d1e87782

[CL 25505840 by vincent robert in ue5-main branch]
2023-05-17 09:22:10 -04:00
steven barnett
c4a61b2792 Replicate anchored state of GemoetryCollection's root particle
#rb cedric.caillaud, michael.bao, jon.sourbeer
#preflight https://horde.devtools.epicgames.com/job/6462bca6f760fe87e9134615

[CL 25494843 by steven barnett in ue5-main branch]
2023-05-16 15:24:53 -04:00
cedric caillaud
ebf1ed44e1 Fix bug from CL 25453643 where root component space transform is no longer up to date
#rb logan.harvell
#preflight 6462c59cb87b09aadd44fd96

[CL 25494787 by cedric caillaud in ue5-main branch]
2023-05-16 15:23:28 -04:00
kirill zorin
de8db5ff76 Converting ARO-facing raw pointers to TObjectPtr ahead of raw pointer ARO API deprecation.
#rb zousar.shaker
#rb markus.breyer
#rb robert.manuszewski

#preflight 646391406b1406b54ab15460

[CL 25489627 by kirill zorin in ue5-main branch]
2023-05-16 10:52:49 -04:00
aris theophanidis
6e529f10a2 [Navmesh] Account for bIsDynamicObstacle flag from UNavCollisionBase when exporting UGeometryCollectionComponent.
#rb Frederic.Doll
#preflight skip

[CL 25482695 by aris theophanidis in ue5-main branch]
2023-05-15 19:29:18 -04:00