This commit is contained in:
2026-10-12 15:32:36 +08:00
parent e4cdbd25ba
commit 1d7e30540d
14 changed files with 473 additions and 529 deletions
@@ -589,9 +589,9 @@ public class FlyTurretData : TurretData
_prewarmOrigScale = plane.localScale;
_prewarmOrigActive = plane.gameObject.activeSelf;
// 只开入场要用的 Body+护盾、关掉免费三类——避免把五十来个粒子系统全部初始化(反而更重)
// 只开入场要用的 Body、关掉免费三类——避免把五十来个粒子系统全部初始化(反而更重);
// ⭐ 护盾粒子拆到下一帧再开:和 Body 骨架/粒子挤同一帧 = 单帧尖峰(90% 收尾窗口卡顿的来源之一)
SetPlaneChildActive(plane, "Body", true);
SetPlaneChildActive(plane, "PW_Effect_Defend", true);
SetPlaneChildActive(plane, "FreeEffect", false);
SetPlaneChildActive(plane, "FreeEffect_Crit", false);
SetPlaneChildActive(plane, "FreeEffect_Speedup", false);
@@ -602,8 +602,10 @@ public class FlyTurretData : TurretData
plane.SetParent(holder, true);
plane.localScale = Vector3.zero;
plane.gameObject.SetActive(true);
yield return null;
yield return null; // 让骨架首帧网格、粒子首帧模拟都跑到
yield return null; // Body 骨架首帧网格
SetPlaneChildActive(plane, "PW_Effect_Defend", true); // 护盾粒子单独一帧开
yield return null; // 护盾首帧模拟
yield return null; // 再等一帧让首帧网格上传铺开
FinishPrewarmRestore();
Debug.Log($"[XJMH入场] 飞机预热完成({plane.name})");