我的raycast通过带有层的网格碰撞器/盒子碰撞器的对象。
我似乎找不到解决方法。请帮助我。
我尝试了不同的解决方案,但光线投射仍会穿过物体。即使是顽固物体后面的物体也被召唤出来。
public float maxRayDistance = 2.0f;
public LayerMask layerMask;
public GUISkin mySkin;
public bool showGui = false;
public RaycastHit hit;
void Update()
{
Vector3 dir = gameObject.transform.TransformDirection(Vector3.forward);
if (Physics.Raycast(transform.position,dir,out hit,maxRayDistance,layerMask))
{
showGui = true;
if (Input.GetButtonDown("Use"))
{
Invoke("Sendaction",0.3f);
}
}
else
{
showGui = false;
}
}
public void Sendaction()
{
GameObject target = hit.collider.gameObject;
target.BroadcastMessage("action");
}