Когда вы звоните Destroy
, вы теряете свою активную пулю GameObject
, но когда вы звоните Instantiate
, она на самом деле не возвращается к вашей ссылке bulletObj
.
Быстрый ипростое исправление:
bulletObj = Instantiate(bulletObj, bulletPos, Quaternion.identity, playerPos);
Возможно, есть и другие улучшения, которые могут быть сделаны, но это суть проблемы.
Одна рекомендация, которую я хотел бы сделать, - использовать bulletObj.SetActive(false)
и bulletObj.SetActive(true)
вместо Destroy
и Instantiate