@kaliboba

Почему GameObject null?

У меня есть цель создать дырку от пули в месте попадания луча, для этого я сделал материал, на него накинул картинку дыры от пули, а сам материал отправил на 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, хотя я передал всё в инспекторе, и с этим проблем быть не должно. Почему так? (При этом ошибки никакой не выдает)
  • Вопрос задан
  • 111 просмотров
Решения вопроса 1
@DrRen7
shootPF передан со сцены или это пребаб? при запуске гейммода shootPF на месте?
[SerializeField] GameObject shootPF;
как вариант для отсечения взаимодействия со стороны от других скриптов
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы