* packed and re-ordered members in GeometryCollectionComponent, saving 64 bytes
* packed and re-ordered members in GeometryCollectionISMPoolRenderer, saving 16 bytes
* packed and re-ordered members in IPhysicsProxyBase, saving 8 bytes
* packed and re-ordered members in ClusterUnionReplicatedProxyComponent, saving 16 bytes
#rb cedric.caillaud
[CL 33894015 by titouan deslandes in ue5-main branch]
Refreshing custom renderer during OnUpdateTransform() happens before the fulll component hierachy has the transform applied. This means that the refreshed intance transform is based against the previous actor root transform and an offset can occur.
Move the refresh to the end of MoveComponentImpl() fixes it.
Submitting to unblock users, but will also investigate if using local transform space instead or world space is better.
[CL 33189751 by jeremy moore in ue5-main branch]
- this is in preparation of copy on write attribute support in managed array collection
#rb Brice.Criswell, kriss.gossart, vincent.robert
[CL 33172831 by cedric caillaud in ue5-main branch]
Issue was that duplicating an actor in Editor would duplicate the ISMs in the object hierachy. Because the ISM Pool was marked as transient the ISMs would be left leaking when the duplicated actor's custom renderer reregistered and created new ISMs.
[CL 33139028 by jeremy moore in ue5-main branch]
It does that through each geom collection creating its own ISPool. This way we get the runtime visuals and hit proxies still work.
Removed root proxy static component creation in geometry collection, and added a custom renderer that does this.
#rb cedric.caillaud
#jira UE-209654
[CL 32663574 by jeremy moore in ue5-main branch]
Issue is that geometry collection scene proxies were always created at the rest transform state, and then the current transforms were set at the first update. This would could cause a reset flicker.
Also the first update wouldn't happen if the component was at rest, so visually it would go back to the rest state and stay there.
The fix is to get the current DynamicData during scene proxy construction.
#rb cedric.caillaud
#jira UE-210150
[CL 32331095 by jeremy moore in ue5-main branch]
Gameplay systems may want to bind to the decayed event on a geometry collection, but if it's already fully decayed the event will never fire. In order to handle this we can expose the flag so gameplay can check first before binding to the event
#rb Shaun.Kime
[CL 32009262 by benn gallagher in ue5-main branch]
- This component allow binding a geometry collection with a skeletal mesh for animation fo the root proxy meshes
#rb Chris.Caulfield, benn.gallagher, jeremy.moore
[CL 31864602 by cedric caillaud in ue5-main branch]
SetActorHiddenInGame() now ends up calling this.
Override on GeometryCollectionComponent to update any custom renderer.
#rb aidan.mcdu, cedric.caillaud
[CL 31782941 by jeremy moore in ue5-main branch]
- change back to normal rendering when asset is selected in fracture editor
#rb Jeremy.Moore, benoit.deschenes
[CL 31744435 by cedric caillaud in ue5-main branch]
Integrating code that allows for geometry collections to actually be hidden when you ask them to.
Modifying minor BP flow funcitonality so that we don't hide the Geometry Collection for no reason, and we clean up the tempororay static mesh component that we created in order to generate the SM previews.
#rb Cory.Kolek
[CL 31671610 by aidan mcdu in ue5-main branch]
This deals with an edge case with geometry collection custom renderers. Custom renderers don't run in edition mode, and in editor we would expect to have mesh data available instead. But for UEFN editor with cooked data, the mesh data may already be removed (because it is not needed in cooked game).
#rb Shaun.Kime
[FYI] cedric.caillaud
[CL 31643010 by jeremy moore in ue5-main branch]
Can save up to 400 bytes per component ( maybe lower based on which memory pool the component ends up be allocated in )
#rb vincent.robert, chris.caulfield, benn.gallagher
[CL 31536693 by cedric caillaud in ue5-main branch]
Fix geometry collection dynamic data replication
- Some members of the structure were not properly netserialized
- Root data was always ignore
- Dynamic and static rep data were sharing the same VersionProcessed
#rb Chris.Caulfield, michael.bao
[CL 31244381 by cedric caillaud in ue5-main branch]
Still creating geometry on the Physics Thread, otherwise a partial destruction issue occurs.
Setup query flag after particle and geometry creation
#rb cedric.caillaud
#fy chris.caulfield
[CL 30386282 by vincent robert in ue5-main branch]
- precache PSOs for GeometryCollectionComponent without custom renderer
- precache PSOs for Volumetric fog materials
- precache PSOs for projected shadow rendering using depth pass processor with different depth stencil state and render target
- always precache shadow rendering PSOs for default stream (non Position and PositionAndNormalOnlyStream)
#rb benjamin.rouveyrol
[CL 30290345 by kenzo terelst in ue5-main branch]