Есть:
using UnityEngine;
public class Bow : AWeapon
{
public Transform arrowSpawnPoint;
public GameObject arrowPrefab;
public float shootMaxPower;
public virtual float Damage
{
get;
private set;
}
public void Shoot()
{
GameObject arrow = Instantiate(arrowPrefab, arrowSpawnPoint.position, arrowSpawnPoint.rotation);
arrow.GetComponent<Rigidbody>().AddForce(shootMaxPower* GetWeaponOwner().transform.forward, ForceMode.Force);
Arrow arrow_cs = arrow.GetComponent<Arrow>();
arrow_cs.weaponOwner = weaponOwner;
arrow_cs.Damage = Damage;
}
}
И пока лук стреляет, придавая стреле максимальную скорость. Но если цель стоит ниже, то нужно задавать не максимальную скорость, а ту, которая при ее потери прилетит в цель. Как расчитать эту силу?