Unity - A计划(一年有效期) 扫二维码继续学习 二维码时效为半小时

(66评价)
价格: 1299.00元
1对1 答疑即时回复7天无理由退款30天价保提问必答

服务保障

1对1 答疑

提供专属的一对一在线答疑,快速答疑解惑。

即时回复

及时响应学习咨询,帮助解决问题。

7天无理由退款

购买后7天内可申请无理由退款。

30天价保

购买后30天内如遇降价,可申请价保。

提问必答

对于提问做到有问必答,帮您扫清学习过程中的种种障碍

关于射线检测Layermask设置的问题
三鲜卷发起了问答2018-01-15
2
回复
2355
浏览

秘密行动里 ,我不想让相机的射线检测检测到激光门的collider,所以想用layermask来指定检测某些层的碰撞,但是设置了没有什么作用,设置如下:

如果代码里不加layermask参数,射线检测是正常的,加了就没反应了,代码是这样写的:

public LayerMask layer;

if (Physics.Linecast(temp, player.position+Vector3.up, out raycastHit,layer.value))//加了这个就检测不到了

在unity里选定了这个public layermask layer为ui

 

整个env场景包括子物体我也把layer设置成了UI,然后射线检测就什么都检测不到了,靠近墙相机也不自动改变位置。

请问这样设置layermask的方法和代码对不对,如果想实现只检测某些层级collider该怎么正常设置

 

所有回复
  • siki • 2018-01-15

    不用使用layer.value,直接使用 layer就可以了

    还有-5条回复,点击查看
    你还没有登录,请先登录或注册!
  • 三鲜卷 • 2018-01-16

    我找到为什么摄像机视角为什么不变的原因了

    因为我射线检测只加入了UI层,忘记把主角那一层放进去了crying

    射线检测就默认一直检测不到主角,遍历5个点位置的代码就会一直continue,找不到看到主角的点,所以镜头位置就不会改变= =

    还有-5条回复,点击查看
    你还没有登录,请先登录或注册!
发表回复
你还没有登录,请先 登录或 注册!