Commit Graph

732 Commits

Author SHA1 Message Date
michael bao
5e026e9749 fix nullptr access on PhysicsMaterial instead of PhysicsMaterialForDensity in caching/computing mass/density in the geometry collection
[FYI] cedric.caillaud

[CL 26689621 by michael bao in ue5-main branch]
2023-07-28 17:50:05 -04:00
jimmy andrews
bcd4636c1e Stop creating the Geometry Collection's Dynamic Component for Editor Preview Worlds (the worlds used for tool preview viewports, and thumbnails) since the Dynamic Component has data that isn't tracked for undo, so can't be active in editors contexts where undo can happen.
This fixes an issue where stale data on the preview thumbnail caused an ensure on undo of any fracture operation that changed the number of bones in the collection.

#jira UE-191403
#rb cedric.caillaud

[CL 26681608 by jimmy andrews in ue5-main branch]
2023-07-28 14:32:50 -04:00
cedric caillaud
c7fa6954f0 Fix mass calculation for geometry collections when overriding materials on the component
#rb michael.bao, steven.barnett

[CL 26679228 by cedric caillaud in ue5-main branch]
2023-07-28 13:39:56 -04:00
zach bethel
a2c7d0ff1b Refactored OnTransformChanged to take an RHI command list so that it can be moved off the render thread.
[CL 26674727 by zach bethel in ue5-main branch]
2023-07-28 11:29:43 -04:00
jeremy moore
216a518df7 Server doesn't need need Geometry Collection custom renderer visual representation.
[CL 26663253 by jeremy moore in ue5-main branch]
2023-07-27 21:57:26 -04:00
michael bao
f968ee975f fix old style geometry collection events (break/crumbling/removal events) to still fire even if we set the notification boolean after the initial registration
#rb cedric.caillaud, vincent.robert

[CL 26557021 by michael bao in ue5-main branch]
2023-07-24 17:42:08 -04:00
michael forot
3d6d146d33 Allow multiple Field targets to be rendered at the same time
#rb devon.penney

[CL 26506441 by michael forot in ue5-main branch]
2023-07-21 04:48:39 -04:00
yuriy odonnell
5f5a14be1d Add support for enabling occlusion query based instance culling only for specific scene primitive types
* Add FPrimitiveSceneProxy::AllowInstanceCullingOcclusionQueries() method to allow occlusion queries (disallowed by default)
* Add PRIMITIVE_SCENE_DATA_FLAG_INSTANCE_CULLING_OCCLUSION_QUERIES
* Allow OQ for static meshes only
* Incompatible instances are treated as visible during OQ instance culling pass
* Tweak help text forVisualizeInstanceOcclusionQueries visualize menu entry

Only certain objects may benefit from per-pixel occlusion culling and otherwise HZB-based culling is sufficient.

#rb Jeremy.Moore

[CL 26501221 by yuriy odonnell in ue5-main branch]
2023-07-20 19:32:10 -04:00
bob tellez
804537e1b7 [Backout] - CL26484702
[FYI] Michael.Forot
Original CL Desc
-----------------------------------------------------------------
Allow multiple Field targets to be rendered at the same time

#rb devon.penney

[CL 26491420 by bob tellez in ue5-main branch]
2023-07-20 14:32:58 -04:00
michael forot
48f495d417 Allow multiple Field targets to be rendered at the same time
#rb devon.penney

[CL 26484723 by michael forot in ue5-main branch]
2023-07-20 09:46:44 -04:00
jeremy moore
41f3ad4b70 Move support of InstanceLODDistanceScale from HISM up to ISM.
The value is used to modify ScreenSize stored in MeshElement/MeshRelevance.
Note that we keep the convention from it's use in HISM that smaller values drive higher LODs.
That's the same convention as with foliage.LODDistanceScale but the inverse of r.StaticMeshLODDistanceScale.

[CL 26484027 by jeremy moore in ue5-main branch]
2023-07-20 09:03:37 -04:00
cedric caillaud
1b2d4697ac Geometry collection : override Primitive component GetMass method for geometry collections
Added display of mass in geometry collection physics editor properties

[FYI] michael.bao, brice.criswell, jim.vanallen, jack.oakman
#rb trivial

[CL 26474980 by cedric caillaud in ue5-main branch]
2023-07-19 19:24:20 -04:00
aris theophanidis
81acaeddd3 Addition of a JunoPhysicsObjectNavigationComponent managing navigation updates for dynamic platforms using physics sleep and wake events as well as transform updates.
#rb michael.bao
#rb Yoan.StAmant

[CL 26471561 by aris theophanidis in ue5-main branch]
2023-07-19 17:15:59 -04:00
aris theophanidis
8d16a5e917 GeometryCollectionComponent: using root proxy to take into account root particle position when computing bounds
#rb micheal.bao

[CL 26423459 by aris theophanidis in ue5-main branch]
2023-07-17 21:44:37 -04:00
cedric caillaud
0333a26f4b Geometry collection : fixed ApplyBreakingAngularVelocity not calling the right proxy method
#rb trivial
[FYI] michael.bao

[CL 26421309 by cedric caillaud in ue5-main branch]
2023-07-17 19:22:31 -04:00
michael bao
904fb039cc ensure that the DecayFacade and DynamicStateFacade are valid in UGeometryCollectionComponent::CheckFullyDecayed
#rb cedric.caillaud

[CL 26419790 by michael bao in ue5-main branch]
2023-07-17 18:20:07 -04:00
cedric caillaud
26c55cfa28 Geometry Collection : Move creation of attribute from InitializeComponent to ResetDynamicCollection to make sure they are created even if the rest collection changes during the component lifetime
#rb michael.bao, benn.gallagher

[CL 26417737 by cedric caillaud in ue5-main branch]
2023-07-17 17:10:23 -04:00
michael bao
3c5570261a re-add the check of bUpdateNavigationInTick in UGeometryCollectionComponent::UpdateNavigationDataIfNeeded
[FYI] cedric.caillaud, aris.theophanidis

[CL 26417329 by michael bao in ue5-main branch]
2023-07-17 16:55:47 -04:00
michael bao
45864963cd geometry collection navmesh export using root proxy should take into account root particle position
- also remove usage of bUpdateNavigationInTick since that's no longer relevant since it now only happens in the post physics sync callback

[FYI] cedric.caillaud, aris.theophanidis

[CL 26300681 by michael bao in ue5-main branch]
2023-06-28 17:53:33 -04:00
zach bethel
6cf24de219 Refactored CreateRenderThreadResources to use a command list.
#jira none

[CL 26273878 by zach bethel in ue5-main branch]
2023-06-27 18:31:41 -04:00
vincent robert
2c139efcf1 Fix crash when moving forward in replay
In the Geometry Collection Component replication data cannot be reset on the physics thread because the reset is only called when the component is being destroyed.

[CL 26217857 by vincent robert in ue5-main branch]
2023-06-23 16:23:28 -04:00
zach bethel
61a256b156 More command list conversions. Streaming buffers, vertex factories, and TUniformBufferRef.
[CL 26217320 by zach bethel in ue5-main branch]
2023-06-23 16:03:17 -04:00
steven barnett
1fe80091a1 Avoid bounds issue with geometry collections by always using diagonal inertia in GC local frame.
Add method to PBDRigidClusteringAlgo which drops off-diagonal terms from cluster inertia tensors transformed into local space, resulting in Identity rotations of inertia (but only approximately correct inertia tensors).

Use this after geometry collection inertia calculation to avoid issues with geometry collection bounds generation which occur when there's a non-identity rotation of inertia

Update EMassOffsetType and its usages to follow the code standard

#rb chris.caulfield, michael.lentine

[CL 26188604 by steven barnett in ue5-main branch]
2023-06-22 14:26:01 -04:00
zach bethel
aa1b0c680f Deprecated non-command list RHI methods.
- RHICreate{Vertex, Index, Structured}Buffer
 - RHICreate{ShaderResource, UnorderedAccess}View
 - RHIUpdateUniformBuffer
 - Various initialization / locking methods for helper buffer types in RHIUtilities.h

The goal is to continue to force resource creation through command lists to avoid surprises with moving things off the render thread.

#rb christopher.waters

[CL 26183242 by zach bethel in ue5-main branch]
2023-06-22 11:08:27 -04:00
jeremy moore
720a94d498 GeometryCollection ISMPool add support for ISM GPU LOD.
Also add support for Velocity from WPO option and tidy up boolean options into flags.

[CL 26134927 by jeremy moore in ue5-main branch]
2023-06-20 17:15:13 -04:00