我正在为我的游戏制作食物系统。
我希望它使用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;
}
}
}
}
答案 0 :(得分:0)
我建议使用 LayerMasks 来实现您尝试做的事情:这样您就可以节省性能,同时确保不会对不需要的项目进行光线投射。
另请注意,您可以使用Debug.DrawRay()
在场景视图中显示光线投射。