Страница 1 из 1

Движение обьекта

СообщениеДобавлено: 22 мар 2020, 20:38
LINESS
Здравствуйте, вопрос такой, как можно этот скрипт переделать для 3д обьекта, который будет в 2д игры, чтобы он двигался так же, как и 2д обьект до этого с этим скриптом?


{
Rigidbody2D rb2D;
Vector3 oldDirection;
float speed = 21.5f;

void Start()
{
rb2D = GetComponent<Rigidbody2D>();

// Это можно поставить в инспекторе
rb2D.isKinematic = true;
rb2D.collisionDetectionMode = CollisionDetectionMode2D.Continuous;
}

void Update()
{
if (Input.touchCount > 0)
{
Touch touch = Input.GetTouch(0);

switch (touch.phase)
{
case TouchPhase.Began:
oldDirection = GetWorldTouchPosition(touch) - transform.position;
break;

case TouchPhase.Ended:
rb2D.angularVelocity = 0.0f;
break;

case TouchPhase.Moved:
var currentDirection = GetWorldTouchPosition(touch) - transform.position;
float angle = Vector2.SignedAngle(oldDirection, currentDirection);
rb2D.angularVelocity = Mathf.Lerp(rb2D.angularVelocity, angle * speed, Time.deltaTime * 3.0f);
oldDirection = currentDirection;
break;
}
}
}

Vector3 GetWorldTouchPosition(Touch touch)
{
return Camera.main.ScreenToWorldPoint(touch.position);
}
}

Re: Движение обьекта

СообщениеДобавлено: 30 мар 2020, 18:31
Dio5555
Вы наверное заметили, что вам неохотно помогают. =)

Когда копируете свой код, выделили свой код и нажали на кнопку под название CS !
Изображение