光线投射的问题

本文关键字:问题 光线投射 | 更新日期: 2023-09-27 18:15:19

我正在为我的游戏制作一个食物系统。

我想用Raycast,这样你就可以把它捡起来,但我不能让它工作。当我点击带有标签的对象时,它不起作用。

public Text FoodUI;
public int FoodAmount;
public float Distance;
public GameObject Hands;
void Start()
{
    FoodUI.text = "Food: " + FoodAmount;
}
void FixedUpdate()
{
   Ray ray = Camera.main.ScreenPointToRay(Input.mousePosition);
   RaycastHit hit;
    if (Input.GetKeyDown(KeyCode.E))
    {
        if (Physics.Raycast(ray, out hit))
        {
            if (hit.collider.tag.Equals("Food"))
            {
                FoodAmount += 40;
            }
        }
    }
}

光线投射的问题

我建议使用 layermask 来实现你想要做的事情:这样你可以节省性能,同时确保不会光线投射不需要的项目。另外,你可以使用Debug.DrawRay()场景视图中显示光线投射。