You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

CircleCast命中返回点规则及RaycastHit2D.distance取值咨询

Physics2D.CircleCast 对应 RaycastHit2D 返回值逻辑说明

直接给两个核心问题的明确结论,附验证场景参考:

  • 关于命中点RaycastHit2D.point的归属
    该字段返回的是被命中碰撞体表面的精确接触点,不是圆形投射物自身的中心点。
    命中瞬间圆形自身的中心点坐标可以直接通过公式计算:castOrigin + castDirection.normalized * hit.distance,不需要额外做几何推导。
  • 关于RaycastHit2D.distance的实际含义
    该字段返回的是圆形从投射起点出发,到刚好与碰撞体产生接触时,圆形中心点的实际移动距离,并非碰撞接触点到投射原点的直线距离。

验证场景参考

你可以搭一个极简场景复现验证数值逻辑:

  1. 设置圆形投射参数:圆心起点为(0,0),半径0.5,投射方向为X轴正方向,最大投射距离10
  2. 在场景中放置一个静态碰撞体,碰撞面垂直X轴,位于x=3的位置
  3. 调用CircleCast拿到命中结果后,输出字段值会完全符合以下规律:
    • hit.point坐标为(3, 0),落点在静态碰撞体的表面
    • 命中瞬间圆形中心点坐标为(2.5, 0),距离碰撞面刚好差一个圆形半径的长度
    • hit.distance返回值为2.5,和圆形中心点的移动距离完全一致,比接触点到原点的距离3少了一个圆形半径的长度——这也符合2D物理引擎的投射判定逻辑:当圆形表面刚接触到碰撞体时就会触发命中,不会等圆心移动到碰撞面位置。

特殊情况提示:如果发起CircleCast时,传入的起点位置本身就和其他碰撞体重叠,此时返回的hit.distance会为0,hit.point会返回重叠区域内的任意点,这类起点穿透的场景需要单独写逻辑容错。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.01 22:40:50