Physics.OverflowCapsule работает только один раз - PullRequest
0 голосов
/ 09 апреля 2020

Я пытаюсь создать своего рода функциональность, которая будет активирована при нажатии 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 единиц от игрока.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...