Main/System/SpineUpdateManager.cs
@@ -67,15 +67,12 @@ continue; } if (!sg.isActiveAndEnabled) continue; // 手动驱动动画更新:Update(float)不检查freeze,直接更新动画状态 sg.Update(dt); } } void LateUpdate() { // 隔帧更新Mesh:动画状态每帧更新保证事件准确,但Mesh重建(开销大)隔帧即可 // 数量少时每帧都更新,数量多于8个时隔帧更新以减少CPU负担 bool skipMesh = managedSpines.Count > 8 && (frameCount & 1) == 0; for (int i = managedSpines.Count - 1; i >= 0; i--) @@ -89,7 +86,6 @@ } if (!sg.isActiveAndEnabled) continue; if (skipMesh) continue; // 手动驱动Mesh更新:直接调用UpdateMesh(),不经过LateUpdate()的freeze检查 sg.UpdateMesh(); } }