qq_45018987 2022-09-19 00:26 采纳率: 66.7%
浏览 29
已结题

Unity 给一个精灵添加两个碰撞会覆盖其中一个?

问题是这样的,我给一个精灵添加了两个碰撞,外面的BoxCollision是trigger,里面的Capsule不是;
现在我做了一条从上往下的射线,因为我不想让他检测到外面的Box,所以写了if(hit.collider.istrigger==false);
但是问题就出现了,射线忽略Box之后也会顺带忽略capsule,从而直接穿过物体,如果先检测到的是Capsule则不会出现这种状况;
因为我还需要用box和其他射线碰撞,所以不能直接把查询命中触发器取消勾选;
所以还有什么好的解决方法吗

img

  • 写回答

2条回答 默认 最新

  • 新进干员 2022-09-19 09:15
    关注

    可以给UI绑一个空的子物体,用来加另一个碰撞,将两个碰撞分离

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
  • 於黾 2022-09-19 08:14
    关注

    射线只触发它第一个碰到的物体,并不能穿透,所以box在前,你就只能得到box;cap在前,你就只能得到cap
    所以不是忽略box顺带忽略cap,是你要么只能得到box,要么只能得到cap
    要不然你就别用射线,自己写脚本判断鼠标到底点在哪里

    评论 编辑记录
查看更多回答(1条)

报告相同问题?

问题事件

  • 系统已结题 9月27日
  • 已采纳回答 9月19日
  • 修改了问题 9月19日
  • 创建了问题 9月19日

悬赏问题

  • ¥15 c++图Djikstra算法求最短路径
  • ¥15 Linux操作系统中的,管道通信问题
  • ¥15 ansible tower 卡住
  • ¥15 等间距平面螺旋天线方程式
  • ¥15 通过链接访问,显示514或不是私密连接
  • ¥100 系统自动弹窗,键盘一接上就会
  • ¥50 股票交易系统设计(sql语言)
  • ¥15 调制识别中这几个数据集的文献分别是什么?
  • ¥15 使用c语言对日志文件处理
  • ¥15 请大家看看报错原因,为啥会这样