1
This commit is contained in:
@@ -482,21 +482,24 @@ public class MonsterContral : MonoBehaviour
|
||||
// ⭐ 缓存 yzID 前3字符前缀,避免 UpdateYZMovement 每帧每鱼 Substring 产生 GC
|
||||
SetYzPrefix(yzID);
|
||||
|
||||
// 鱼阵特殊处理:700 系扇形阵根据起点 y 值翻转朝向
|
||||
if (isyuzhen && _yzPrefix == "700")
|
||||
// ⭐ 700系扇形阵按起点y值翻转朝向:绕Z轴+180°旋转
|
||||
// (原为 scale.y 镜像翻转,负缩放有法线翻转/特效异常等副作用;
|
||||
// rotation 由 Pool.Get 每次重置为本次生成角度,天然无池复用残留)
|
||||
bool flipY700 = isyuzhen && _yzPrefix == "700" && bezierData.start.y < 0;
|
||||
if (flipY700)
|
||||
{
|
||||
if (bezierData.start.y < 0)
|
||||
{
|
||||
var scale = transform.localScale;
|
||||
scale.y *= -1f;
|
||||
transform.localScale = scale;
|
||||
}
|
||||
transform.Rotate(Vector3.forward, 180f, Space.Self);
|
||||
}
|
||||
|
||||
// ⭐ 预计算 700/701 直线阵的世界起点 + 方向系数
|
||||
// 原逻辑每帧每鱼 CanvasToWorld(start) + 判断 goUp,现 Init 一次性算好
|
||||
CacheYzLineMoveData(bezierData);
|
||||
|
||||
// ⭐ 翻转(Z+180°)后 transform.up 反向,700 直线阵移动方向同步取反,
|
||||
// 保持实际游向与翻转前一致(否则起点y<0的700阵鱼会反向游)
|
||||
if (flipY700)
|
||||
_yzLineDir = -_yzLineDir;
|
||||
|
||||
fishenum = (FishTypeEnum)monsterData.fishTypeConfig.fishType;
|
||||
|
||||
// isMove=false 的鱼不需要移动路线,直接归位到 (0,0,0)
|
||||
|
||||
Reference in New Issue
Block a user