找回密码
 立即注册
查看: 246|回复: 0

Unity Physics.Raycast踩坑

[复制链接]
发表于 2022-4-26 11:26 | 显示全部楼层 |阅读模式
关键点:发射射线的起点坐标是世界坐标

关键点:发射射线的起点坐标是世界坐标

关键点:发射射线的起点坐标是世界坐标


下面在来看一下参数:
origin                              【重点】世界坐标系中的射线起点.direction                           射线的方向.hitInfo                             射线碰撞体的信息.maxDistance                         射线碰撞检测的最大距离.layerMask                           过滤层.queryTriggerInteraction             指定此查询是否应命中触发器.
具体检查方法:
private void AvoidCrossWall()    {        Vector3 cameraWorldPosition = transform.TransformPoint(cameraTransform.localPosition);        Vector3 boshiWorldPosition = transform.TransformPoint(boshiTransform.localPosition);        Vector3 dir = boshiWorldPosition - cameraWorldPosition;        RaycastHit hit;                if (Physics.Raycast(cameraWorldPosition, dir, out hit, dir.magnitude))        {            Debug.Log("----Raycast------" + hit.collider.name);        }            }
上面这段代码的意思是,从摄像机位置,发射一条射线,方向是向着boshiTransform这个物体的,射线长度为摄像机和boshiTransform这个物体之间的长度。
由于我上面的摄像机和物体,都是子物体,所以需要转成世界坐标。
懒得打字嘛,点击右侧快捷回复 【右侧内容,后台自定义】
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Unity开发者联盟 ( 粤ICP备20003399号 )

GMT+8, 2024-9-22 13:45 , Processed in 0.088322 second(s), 25 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表