美文网首页
Unity Physics.Raycast踩坑

Unity Physics.Raycast踩坑

作者: 114105lijia | 来源:发表于2022-04-25 20:19 被阅读0次

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

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

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

下面在来看一下参数:

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 Physics.Raycast踩坑

      本文链接:https://www.haomeiwen.com/subject/yrrqyrtx.html