The licensee found a way to lock the state of a rigidbody as PBDRigid->ObjectState() == EObjectStateType::Sleeping by subjecting it to a particular transient field composed of a RadialFalloff and a RadialVector. The transient field is set as Physics Type> Linear Force. Once the rigidbody sleeps under it's area of influence, it never wakes up, even if the field is moved away from the rigidbody. Please check the repro project.
I didn't hit this while debugging but found this comment on PBDRigidsSOAs.h about setting sleep in two places:
void DeactivateParticle(...)
...
// Sleeping state is currently expressed in 2 places...
PBDRigid->SetSleeping(true);
PBDRigid->SetObjectStateLowLevel(EObjectStateType::Sleeping);
The comment suggests this might be an issue.
To reproduce the problem:
Use the repro project
'Simulate' the scene
Move the Red Wireframe Sphere called BP_FieldSystemActorRadial over onto one of the two spheres in the center
Doing so will change the sphere's color to orange, indicating it's awake
Now move BP_FieldSystemActorBase over one of the two spheres
Nothing should happen -
Then move BP_FieldSystemActorBase somewhere away from the sphere, and move BP_FieldSystemActorRadial (the red wireframe sphere) onto the sphere instead
In this case, the sphere's color should remain white, indicating that it's still asleep
Opening up either BP_FieldSystemActorRadial & BP_FieldSystemActorBase will show you how the Transient Fields are set up
Call stack for the behavior, non-fatal:
> UnrealEditor-FieldSystemEngine.dll!UFieldSystemComponent::DispatchFieldCommand(const FFieldSystemCommand & InCommand, const bool IsTransient) Line 150 C++
UnrealEditor-FieldSystemEngine.dll!UFieldSystemComponent::BuildFieldCommand(bool Enabled, EFieldPhysicsType Target, UFieldSystemMetaData * MetaData, UFieldNodeBase * Field, const bool IsTransient) Line 285 C++
[Inline Frame] UnrealEditor-FieldSystemEngine.dll!UFieldSystemComponent::ApplyPhysicsField(bool Target, EFieldPhysicsType) Line 387 C++
UnrealEditor-FieldSystemEngine.dll!UFieldSystemComponent::execApplyPhysicsField(UObject * Context, FFrame & Stack, void * const Z_Param__Result) Line 337 C++
UnrealEditor-CoreUObject.dll!UFunction::Invoke(UObject * Obj, FFrame & Stack, void * const Z_Param__Result) Line 6847 C++
UnrealEditor-CoreUObject.dll!UObject::CallFunction(FFrame & Stack, void * const Z_Param__Result, UFunction * Function) Line 1139 C++
[Inline Frame] UnrealEditor-CoreUObject.dll!FFrame::Step(UObject *) Line 478 C++
UnrealEditor-CoreUObject.dll!UObject::ProcessContextOpcode(FFrame & Stack, void * const Z_Param__Result, bool bCanFailSilently) Line 3086 C++
[Inline Frame] UnrealEditor-CoreUObject.dll!FFrame::Step(UObject *) Line 478 C++
UnrealEditor-CoreUObject.dll!ProcessLocalScriptFunction(UObject * Context, FFrame & Stack, void * const Z_Param__Result) Line 1206 C++
UnrealEditor-CoreUObject.dll!ProcessScriptFunction<void ({}cdecl*)(UObject *,FFrame &,void *)>(UObject * Context, UFunction * Function, FFrame & Stack, void * const Z_Param{_}_Result, void[Image Removed](UObject *, FFrame &, void *) ExecFtor) Line 1039 C++
UnrealEditor-CoreUObject.dll!ProcessLocalFunction(UObject * Context, UFunction * Fn, FFrame & Stack, void * const Z_Param__Result) Line 1276 C++
[Inline Frame] UnrealEditor-CoreUObject.dll!FFrame::Step(UObject *) Line 478 C++
UnrealEditor-CoreUObject.dll!ProcessLocalScriptFunction(UObject * Context, FFrame & Stack, void * const Z_Param__Result) Line 1206 C++
UnrealEditor-CoreUObject.dll!UObject::ProcessInternal(UObject * Context, FFrame & Stack, void * const Z_Param__Result)
How does TextureRenderTarget2D get TArray<uint8> type data?
How do I set a material as a post-processing material?
Why does the REMOVE method of map container remove elements have memory leaks?
What is the cause of the packaging error falling back to 'GameUserSettings' in ue5?
UMG RichText not appear image when packaged
How to delete some elements correctly when deleting an array loop?
There's no existing public thread on this issue, so head over to Questions & Answers just mention UE-223571 in the post.
0 |
Component | UE - Simulation - Physics |
---|---|
Affects Versions | 5.4.3 |
Created | Sep 5, 2024 |
---|---|
Updated | Sep 11, 2024 |