角色翻转后武器localScale未同步且无法正确瞄准鼠标的问题
武器瞄准鼠标与父物体翻转同步问题解决
当玩家及武器挂载的父物体翻转时,武器的localScale未同步翻转。原本设置武器始终瞄准鼠标,但父物体翻转后该逻辑无法正确执行。
原代码
//获取鼠标位置 worldPos = Camera.main.ScreenToWorldPoint(Mouse.current.position.ReadValue()); _direction = (worldPos - (Vector2)weapon.transform.parent.position).normalized; weapon.transform.parent.right = _direction; //瞄准后方时翻转 angle = Mathf.Atan2(_direction.y, _direction.x) * Mathf.Rad2Deg; Vector3 localScale = new Vector3(1, 1, 1); if (angle > 90 || angle < -90) { localScale.y = -1f; } else { localScale.x = 1f; } weapon.transform.localScale = localScale;
尝试过的修改代码
我手动调整过武器的localScale,但结果要么武器上下颠倒,要么还是无法对准鼠标,修改后的代码如下:
//获取鼠标位置 worldPos = Camera.main.ScreenToWorldPoint(Mouse.current.position.ReadValue()); _direction = (worldPos - (Vector2)weapon.transform.parent.position).normalized; weapon.transform.parent.right = _direction; //瞄准后方时翻转 angle = Mathf.Atan2(_direction.y, _direction.x) * Mathf.Rad2Deg; Vector3 localScale = new Vector3(1, 1, 1); if (angle > 90 || angle < -90) { localScale.x = -1f; localScale.y = -1f; } else { localScale.x = 1f; localScale.y = 1f; } weapon.transform.localScale = localScale;
解决方案
修正思路
问题核心是父物体翻转后,武器的缩放逻辑未关联父物体当前状态,导致方向与缩放同步出错。需基于父物体缩放调整武器localScale,同时确保瞄准方向不受父物体变换干扰。
修正后代码
//获取鼠标位置,固定Z轴为相机近平面避免坐标异常 Vector3 worldPos = Camera.main.ScreenToWorldPoint(Mouse.current.position.ReadValue()); worldPos.z = Camera.main.nearClipPlane; //计算世界空间下的瞄准方向,不受父物体缩放影响 Vector2 direction = (worldPos - weapon.transform.parent.position).normalized; //让父物体朝向鼠标方向 weapon.transform.parent.right = direction; //通过方向X轴正负判断是否需要翻转武器 bool needFlip = direction.x < 0; //以父物体缩放的绝对值为基础,确保武器与父物体缩放同步 Vector3 parentScale = weapon.transform.parent.localScale; Vector3 weaponScale = new Vector3(Mathf.Abs(parentScale.x), Mathf.Abs(parentScale.y), 1f); //仅在需要时翻转武器X轴,避免Y轴颠倒 if (needFlip) { weaponScale.x *= -1; } weapon.transform.localScale = weaponScale;
关键优化点
- 用世界坐标计算瞄准方向,规避父物体缩放对向量的干扰
- 基于父物体缩放绝对值设置武器基础缩放,同步父物体的缩放变化
- 通过方向X轴正负判断翻转,替代复杂的角度区间判断,逻辑更简洁
- 仅调整X轴缩放,保持Y轴与父物体一致,防止武器上下颠倒
内容的提问来源于stack exchange,提问作者S. Mazii
相关产品推荐
相关产品推荐

