В настоящее время я создаю игру в Unity, в которой вы перемещаете шар, используя OnMouseDrag()
, CircleCollider2D
и RigidBody2D
. Вот как я устанавливаю положение мяча:
private void OnMouseDrag()
{
Vector2 mouseInWorld = Camera.main.ScreenToWorldPoint(Input.mousePosition);
playerRb.position = new Vector3(mouseInWorld.x, mouseInWorld.y, 0);
}
Я все еще хочу, чтобы шар скользил при столкновении, пока мышь двигается вокруг. Есть ли способ сделать это?
Я пробовал RigidBody2D.MovePosition()
, но мяч перескочил из одной точки в другую, и Raycast
с, но не смог заставить это работать.
РЕДАКТИРОВАТЬ: Это то, что я получил сейчас:
playerRb.velocity = new Vector3(mouseInWorld.x - playerRb.position.x, mouseInWorld.y - playerRb.position.y, 0);
Теперь проблема в том, что мяч отстает от мышки.