关键点:发射射线的起点坐标是世界坐标
关键点:发射射线的起点坐标是世界坐标
关键点:发射射线的起点坐标是世界坐标
下面在来看一下参数:
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这个物体之间的长度。
由于我上面的摄像机和物体,都是子物体,所以需要转成世界坐标。
网友评论