【发布时间】:2019-11-08 00:05:23
【问题描述】:
我的光线投射通过带有网格碰撞器/带层的盒子碰撞器的对象。
我似乎找不到解决方案。请帮帮我。
我尝试了不同的解决方案,但光线投射仍然通过对象。即使是难以处理的物体后面的物体也被召唤出来。
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");
}
【问题讨论】:
-
你能在检查器中显示你配置的图层蒙版吗?
-
是的,我刚刚添加了它的截图
-
其实你没有,我们想看看贴出的脚本附加到的gameObject
标签: unity3d raycasting