碰撞体问题

用点检测2d物体是否有物体
  • 功能要求是点击空白处取消选中,点击棋子选中
  • 所以我做了一个射线检测。
  • 但是脑子的惯性让我用的是3D的射线检测。
  • 但我们这是一个2D游戏啊。
Vector3 mousePos = pos;
        mousePos.z = 10f; // 假设你需要转换到距离相机10单位的世界位置
        Vector3 worldPos = Camera.main.ScreenToWorldPoint(mousePos);
        Debug.Log("世界坐标位置:" + worldPos);
        Collider2D hit = Physics2D.OverlapPoint(worldPos);
        if (hit != null && hit.gameObject.GetComponent<Piece>() != null)
        {
            return true;
        }
        return false;
  • 我一开始为了进行检测,用的是3D那个射线,而且还把棋子的碰撞体改成boxCollider了,但是完全得不偿失。
角色走路
  • 走路碰撞体还是用Capusle胶囊体比较好。
  • 不然boxCollider很容易和地缝卡在一起。导致角色无法动弹
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值