что понимается под "пушка ведет себя неестественно"?
из приведенного "обрывка" кода не понятно в чем разница у вас между спавном и существующим в сцене спраитом.
вообще не ясно как "пушка" выбирает цель, есть подозрение что вообще ни как.
вы же понимаете что (target.position - transform.position ) это вектор направления в сторону цели?
вы так вращаете объект в сторону цели??
как по мне адекватный подскажет что посмотреть и где поучить, по какому принципу работает и тп, а не скинет готовый ответ.а потом уже язви.
public class GunAuto : MonoBehaviour
{
public GameObject currentProjectille;
public float shootDelay;
private float shootDelayCounter;
Rigidbody2D myRigidbody;
public int moveSpeed;
void Start()
{
}
void Update()
{
OnMouseOver();
}
void OnMouseOver()
{
if (Input.GetMouseButtonDown(0))
{
{
GameObject temp = Instantiate(currentProjectille, transform.position, Quaternion.LookRotation(transform.position + direction)) as GameObject;
Rigidbody tempRigidbody = temp.GetComponent<Rigidbody>();
tempRigidbody.AddRelativeForce(Vector2.left * moveSpeed, ForceMode2D.Impulse);
}
shootDelayCounter -= Time.deltaTime;
}
}
}
Через префаб я делал. Так и знал что проблема именно в этом)