Я пытаюсь создать своего рода функциональность, которая будет активирована при нажатии E, которая отталкивает все близлежащие объекты от игрока. Это то, что я до сих пор выполняю на FixedUpdate ():
if(Input.GetKeyDown(KeyCode.E) && staminaBar.staminaBar.value == staminaBar.staminaBar.maxValue) {
anim.SetTrigger("GroundPound");
staminaBar.ChangeStamina(-50f);
Collider[] targets = Physics.OverlapCapsule(topPoint, bottomPoint, 10f, playerMask);
Debug.Log (targets.Length + " targets found.");
foreach(Collider target in targets) {
Debug.Log ("Targeted " + target.name);
if (target.attachedRigidbody != null) {
target.attachedRigidbody.AddForce(Vector3.Scale(target.transform.position - this.transform.position, new Vector3(10f, 10f, 10f)), ForceMode.Impulse);
}
}
}
Это работает при первом нажатии E, однако при попытке сделать это снова, даже с совершенно нетронутым игровым объектом, Physics .OverlapCapsule не находит коллайдеры, даже если он находится в пределах 10 единиц от игрока.