You need to enable JavaScript to run this app. Unity2D巡逻敌人巡逻时凭空消失但仍可触发碰撞的问题求助
优惠活动
大模型
产品
解决方案
定价
更多

Unity2D巡逻敌人巡逻时凭空消失但仍可触发碰撞的问题求助

问题排查与修复方案

问题根因

  • 视觉消失的核心原因:2D精灵默认开启单面渲染,你通过Y轴旋转实现翻面时,精灵背面朝向相机,引擎不会渲染背面,因此看起来敌人凭空消失。但敌人的碰撞体、逻辑脚本都正常运行,所以玩家靠近敌人原位置仍会被攻击命中。
  • 代码存在两处明确错误:
    • 旋转值设置错误:转向时Y轴赋值为-200,而非翻面所需的180度,会导致精灵朝向进一步异常。
    • 类型赋值错误:transform.eulerAngles是Vector3三维向量,你传入Vector2类型时Z轴会被默认赋值为0,如果敌人原有Z轴旋转值会被覆盖,也可能引发显示异常。
  • 额外隐患:Y轴旋转会带动子物体groundDetection同步旋转,后续地面检测射线的位置/方向都会错位,巡逻逻辑会逐步失效。

修复方案

2D游戏不推荐用Y轴旋转实现翻面,建议选择以下更安全的方案:

方案1:修改localScale实现翻面(兼容性最高)

直接修改X轴缩放实现翻面,不会影响子物体朝向,修改后代码如下:

using UnityEngine;

public class PatrollingEnemy : MonoBehaviour
{
    public float speed; 
    private bool movingRight = true;
    public Transform groundDetection; //地面检测子节点

    void Update()
    {
        transform.Translate(Vector2.right * speed * Time.deltaTime);
        RaycastHit2D groundInfo = Physics2D.Raycast(groundDetection.position, Vector2.down, 2f);

        if (!groundInfo.collider)
        {
            // 翻转X轴缩放实现翻面
            transform.localScale = new Vector3(-transform.localScale.x, transform.localScale.y, transform.localScale.z);
            movingRight = !movingRight;
        }
    }
}

方案2:通过SpriteRenderer的flipX属性翻面

如果敌人挂载了SpriteRenderer组件,可以直接调用内置的翻面属性,代码修改如下:

using UnityEngine;

public class PatrollingEnemy : MonoBehaviour
{
    public float speed; 
    private bool movingRight = true;
    public Transform groundDetection;
    private SpriteRenderer enemySr;

    void Awake()
    {
        enemySr = GetComponent<SpriteRenderer>();
    }

    void Update()
    {
        transform.Translate(Vector2.right * speed * Time.deltaTime);
        RaycastHit2D groundInfo = Physics2D.Raycast(groundDetection.position, Vector2.down, 2f);

        if (!groundInfo.collider)
        {
            enemySr.flipX = !movingRight;
            movingRight = !movingRight;
        }
    }
}

如果坚持要用Y轴旋转实现翻面,需要同步做两处修改:

  1. 将Y轴旋转值改为180度而非-200度
  2. 给精灵材质开启双面渲染,确保背面也能被相机渲染。

内容的提问来源于stack exchange,提问作者WarlockGames

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.08 22:24:00