raycast не видит объектов
Создаю луч из камеры, то есть центра экрана на позицию мыши, однако луч не видит объекты с тегом Enemy. С интернетом сверился, код более менее правильный, так почему враги не видны рейкасту?
Код:
using UnityEngine;
using static UnityEngine.GraphicsBuffer;
public class Choseenemy : MonoBehaviour
{
public Camera Cam;
public Material NewMat;
public Material OrigMat;
RaycastHit hit;
Ray ray;
void Start()
{
ray = Cam.ScreenPointToRay(Input.mousePosition);
Cam = Camera.main;
}
void Update()
{
if (Input.GetMouseButtonDown(0))
{
if (Physics.Raycast(ray, out hit) && hit.collider.tag == "Enemy")
{
Debug.Log("hit");
}
else
{
Debug.Log("No hit");
}
//if (Physics.Raycast(ray, out hit) && hit.collider != null)
//{
// if (hit.collider.gameObject.tag == "Enemy")
// {
// Debug.Log(hit.collider.gameObject.name);
// hit.collider.gameObject.transform.GetChild(0).GetComponent<Renderer>().material = NewMat;
// }
//}
////else hit.collider.gameObject.transform.GetChild(0).GetComponent<Renderer>().material = OrigMat;
}
}
}
Источник: Stack Overflow на русском