У меня есть цель создать дырку от пули в месте попадания луча, для этого я сделал материал, на него накинул картинку дыры от пули, а сам материал отправил на plane, а его уже сделал префабом.
Создал переменную, в которую этот префаб закинул:
public GameObject shootPF;
и в методе Instantiate() его создаю:
if (Input.GetMouseButtonDown(0))
{
Ray ray = _camera.ScreenPointToRay(Input.mousePosition);
RaycastHit hit;
if (Physics.Raycast(ray, out hit))
{
GameObject hitObject = hit.transform.gameObject;
EnemyCodeD enemy = hitObject.GetComponent<EnemyCodeD>();
if (enemy != null)
{
enemy.Hit();
}
else
{
Debug.Log(shootPF);
Instantiate
(
shootPF,
hit.point + (hit.normal * .01f),
Quaternion.FromToRotation
(
Vector3.up,
hit.normal
)
);
}
}
Проблема в том, что почему-то shootPF равен null, хотя я передал всё в инспекторе, и с этим проблем быть не должно. Почему так? (При этом ошибки никакой не выдает)