Как отодвинуть объект «плавно» от другого объекта? - PullRequest
0 голосов
/ 29 января 2020

Моя игра - базовая c игра с качанием веревки, и у меня ObjectA (стена) отходит от ObjectB (мяч качается с веревки), а затем ObjectA возвращается в исходное положение, когда ObjectB больше не находится в вызывать. Когда ObjectA возвращается в свое исходное положение, оно гладкое, как масло, но когда объект B отталкивает его с пути, он становится нестабильным, особенно на высоких скоростях (но мне нужно, чтобы он двигался на высоких скоростях, см. Код ниже, чтобы понять). Чтобы быть понятным, мой код функционирует полностью, я просто ищу хитрый трюк или совет, чтобы помочь сгладить эффект «отталкивания», так же, как это, когда он возвращается к BaseWallPosition.

void Update() {
         if (BallInTrigger) {
             target.position = Vector2.MoveTowards(target.position, new Vector2(transform.position.x, BaseWallPosition.y), -1 * rb.velocity.magnitude * Time.deltaTime);
         }
         else {
             target.position = Vector3.MoveTowards(target.position, BaseWallPosition, WallMoveSpeed * Time.deltaTime);
         }
     }

     void OnTriggerStay2D(Collider2D col) {
         if (col.tag == "Wall") {
             BallInTrigger = true;
         }    
     }

Очевидно, что в этом коде гораздо больше, но это важный момент в проблеме

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