Model animation gets choppy from small distance
Hi, I made some pumping animation for a model, and in-game it gets choppy and low quality when I get farther from the machine. I am new to UE, so i am guessing this is some LOD-like feature, but other animations in the game do not get low quality this close to the machine.
I am using an animation blueprint with a state machine. Idle state is no animation, producing state is pumping. It should have a transation when starting up or stopping. State is determined by whether the machine is producing.
My main problem is the animation quality dropping real fast as getting farther, a more minor problem is that the transitions do not play, in fact there is no animation at all when the machine is not producing, it just freezes.
I would like to stay away from C++ and work only with blueprints when I can.
Any help is much appreciated <3
45 Replies
I think this is a Satisfactory-specific optimisation and it might be controlled by some property in the buildable
It is. The base game also has very noticeable appearances of the same issue
It's related to the distance based tick frequency reduction. Not sure which system specifically drives this behavior, probably significance
Does this also happen to vertex animations?
No, they do not tick
Can it be edited? I tried tweaking most LOD and culling related settings, did not find a solution.
Oh and I did not mentio, but I am an absolkute beginner to modeling, animation, UE, etc
And to writing properly as it seems :D
I vaguely remember seeing some
mSignificanceRange
property in buildables, not sure what it doesthat is it
I just tewaked the significance
I will write down the specifics for others in a sec
Solution
Try changing mTickExponent and mSignificanceRange
So, I had to up the significance range (M Significance Range) on the buildable to fix the choppiness.
And I had to enable the "M Does Have Shutdown Animation" boolean property to allow for the animations while off.
If you just uncheck mIsTickRateManaged on the buildable the significance system will probably leave your tick alone
No other changes are probably necessary
Thank you both for the help
Isn't it more optimized if it is still managed?
Yeah. Not touching the settings is probably the most optimized version you can get
I am just guessing that it is less resource intensive when the player gets farther, but if i untick it it will play the animation properly even when it is unnecessary
I think I will try to find a significance range where the low quality animation is no longer a problem
Which value did you have before, and which value did you increase it to?
I had 10000.0 (which is 100 meters in UE IIRC) and i just upped it to x100 (1000000.0) to check, I will now try to reduce it, 10 000 is probably unnecessarily huge
How common is your building?
hmm, i think as common as a packager
has similar functionality, the model is very similar as well since i just pillaged some other assets and slapped them topgether
then I recommend keeping the tick rate managed but maybe lowering the tick exponent
Do you mean lowering the tick exponent while not increasing the significance range?
Or increasing the range and lowering the exponent?
Try keeping the original significance range, and lower the tick exponent
I tried it, it did not help. I also tried increasing it without noticeable changes
I upped the range to 3x of the original (3x the significance of the packager), it can be noticed from a distance, but not as obvious as before
also I just remembered that I cannot build the building without locking it first. When I just try to place it naturally, the game says "surface is uneven" no matter how flat, even on foundations. I did not change the factory legs or collisions yet, they are the same as the packager. I can only build it by locking the hologram first
You made a custom mesh, right? It needs sockets for the legs
Fluid Freight Platform uses these settings
I will try them
heck, i think i deleted them accidentally :D
Welp, they can be added from within UE
hmm, i cant see them on the packager asset. Are the sockets components or are they property values like an array?
On the mesh itself
Not the buildable
So i have to add them in blender?
:thistbh:
If you haven't dumped the assets, the placeholder mesh won't have any sockets
https://dev.epicgames.com/community/learning/knowledge-base/4yxE/unreal-engine-how-do-you-add-a-socket-to-a-static-mesh
ooh
I think that's how it worked
At least it did when I did stuff back in U8
Do I just add the sockets? I added 6 to where the legs would be, but the problem still persists. I added them to the static mesh.
Ah, they also need to be referenced in the buildable, by name
Something about legs or feet
oh i found them
legs
It's an array of names
yes
Hmm, still not working
maybe i need to have a clearance component, not just the data on the buildable property
What exactly doesn't work? I forget
the game say surface is uneven wherever i try to place the building
if i lock it (using H) it can be placed
If you press H, can you place the building?
Logs might also say if factory legs failed to spawn
can I view the logs in game, or only in the log file?
You can run the game with the
-log
argument and it'll open a window to show logsno errors/warnings when building / selecting the machine for building
Hmmm, there's settings for feet offsets, some in hologram
Okay, found the solution:
In addition to adding the leg sockets, i had to rotate the ones on one side (the ones with negative values on X axis) 180 degrees around the Z axis
Thanks again for the help :)