This is my first post here so please be gentle
I have extensive C experience, lots of 3D experience but I am just starting with UE4.
This is a minimal setup to describe my issue:
I create a brand new game project (C++, high quality, Desktop, no starter content).
I have a procedural mesh created from C++, no material (so the default gray tiles are used).
All the vertices inside the mesh are slowly moving in the X+ direction. When some vertex moves outside the mesh’s bounding box, I:
- Recalculate the bounding box ([FONT=courier new]SetBoxExtent and [FONT=courier new]UpdateBodySetup) allowing for some slack space.
- Set a new position for the actor ([FONT=courier new]SetActorLocation).
- Relocate all the vertices so they remain in the same world position even though the actor has jumped.
What I would expect to see is the mesh slowly moving, with a bounding box that periodically jumps to follow it, but without affecting the mesh in any way.
It should look as if it was a conventional mesh being moved around using [FONT=courier new]SetActorLocation.
What I actually observe is that everything works fine except that the moment I move the actor there’s a one-frame jump backwards (in the X- direction).
**It looks like **all vertices have already moved to their new positions (which are smaller than they were before) but the actor does the jump one frame later.
I say it looks like this, but I have tried delaying one frame the call to [FONT=courier new]SetActorLocation or the relocation of the vertices and it does not seem to accomplish much.
Is this a known behavior or Procedural Meshes?
Is there anything I can try to workaround this?
Unreal Engine 4.24.3
Visual Studio 2017 and 2019 (happens on both)
Edit: Disabling the project’s Motion Blur (or was it TemporalAA?) solves the problem. It now looks like the sudden actor move which actually does not move any vertex is confusing the blur calculation. Is there a way to fix this or to disable Motion Blur for this object alone?
Thanks a lot!