У меня есть простая пушка, которую я пытаюсь запрограммировать, чтобы стрелять снарядом.У меня есть 4 игровых объекта:
- Объект-танк
- A Pivot Object (дочерний элемент танка)
- A Cannon Object (дочерний элемент Pivot)
- Пустой GameObject с именем Tip, который находится чуть выше пушки (потомка пушки)
Мой код для объекта пушки приведен ниже:
public class cannon: MonoBehaviour
{
public float power = 1.0f;
public Transform projectile;
void Update()
{
if (Input.GetButtonDown("Fire1"))
{
Transform bullet;
Vector2 pos = transform.GetChild(0).position;
bullet = Instantiate(projectile, pos, Quaternion.identity);
Rigidbody2D bullet_rb = bullet.GetComponent<Rigidbody2D>();
bullet_rb.AddForce(pos * power);
}
}
}
Кажется, все работает нормальноДо тех пор, пока я не посмотрел на траекторию снаряда, когда пушка направлена прямо вдоль оси X.В приложенной силе все еще есть небольшой компонент y, которого я не ожидал и не желал.
Вот изображение:
![enter image description here](https://i.stack.imgur.com/hBeVR.gif)
Что может быть причиной такого поведения?