It takes like 2 or 3 seconds to update the position every time I move the gizmo, it’s impossible to move it where I want due this delay, the same if I change any value from the properties window.
I have a decent machine, 8 cores, 64GB, RTX3070, my game performs well, but I have these huge performance drops in the editor while doing certain tasks, like this one for example.
The mesh could be very high poly. Try decimating the mesh in Blender or your preferred GCC software.
You can also try this in Unreal. In the Static Mesh Editor.
But as I said, my system can render this mesh along with many others without a problem, I get 60+ FPS even in the zones with the most complex geometry.
Well, that would be pointless, since there’s no reason to move the collision if I don’t get feedback on where it’s going. But anyway, it doesn’t seem to make a difference.
Hitching on moving the gizmo or changing a property is indicative of a heavy construction script (and not necessarily a highly detailed object), since the construction script will run when a property is changed and by default when the object is dragged around the viewport.
If you have access to the class settings of whatever object you are dragging around and noticing hitching (e.g. you could create a Blueprint subclass of your volume to access this, if this is an Engine class), then you can disable Run Construction Script on Drag to at least figure out if this is the cause.
Do you have an older Unreal version? Try importing the mesh to see if it hitches in there too, that should single out whether the issue is with the mesh or the engine.
I’m not sure. It’s not an asset I created myself. It’s from the marketplace, and it’s probably a bad idea to post it publicly. Let me see if I can reproduce the problem with a CC0 mesh, then I’ll post the link so you can download it, thank you.
Your 10 LOD sections all have per-poly collision enabled, aka complex collision. It isn’t an issue in the level because by default, the Unreal project uses simple collision. I’m guessing it’s an issue in the mesh editor because the complex collision is recalculated too when you move the simple collision.
Turn off collision on all your LODs and use a multiconvex hull simple collision or add multiple box collisions. You can also create custom collision in Blender. The mesh I uploaded above has custom collision made like that. Let me know if you need a tutorial on that, I think I had an instruction file somewhere.
PS: I THINK this might also be solved by reducing the number of materials, but then you’ll have to re-texture the mesh.
PPS: You can check the stutter in action by opening Task Manager and noticing the memory usage (RAM) of your Unreal project. As long as you keep moving the collision, the memory usage will begin to increase dramatically.
Ahh I see, yes that seems to solve the problem! (I can only disable them in LOD0, the rest have the checkbox greyed out).
Can you please explain what is the purpose of “per poly collision” here considering the shape is a simple rectangle?
Thanks!
Per poly collision is complex collision. Unreal has 2 collision types, simple and complex. Complex collision, when active, calculates collision trace against the mesh itself. So if it’s a 400,000 triangle mesh, and a ball hits it, that ball’s collision is calculated against 400,000 triangles every time it hits. Which is very unperformant.
That’s why we have simple collision, which is another, simpler shape on top of the actual mesh, in this case, a box, which serves as the collision for the mesh. Now the ball only has to collide with a 12 triangle mesh instead of 400,000. Which is much more performant. You can mark my above post as the answer so that others can find it if they come across the same issue
Sure, but that defeats the purpose of using a simple rectangular shape.
And also, doesn’t complex collision require you explicit specify it in the collision complexity setting?