Движение 3D обьекта в 2D игре

Форум для самых маленьких, а так же тех, кому недосуг читать справку самостоятельно.

Движение 3D обьекта в 2D игре

Сообщение LINESS 30 мар 2020, 14:07

Здравствуйте, есть 2D игра, с 3D лабиринтом шаром, при кручении лабиринта свайпом, шар ведет себя очень плохо, отпрыгивает от стен. Как это можно исправить?
Скрипт лабиринта:
{
[SerializeField]
float speedRotation = 5.0f;

Rigidbody rb;
Vector2 startDirection;
Quaternion startRotation;

void Start()
{
rb = GetComponent<Rigidbody>();
rb.isKinematic = true;
rb.collisionDetectionMode = CollisionDetectionMode.ContinuousDynamic;
}

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

switch (touch.phase)
{
case TouchPhase.Began:
startRotation = transform.rotation;
startDirection = GetTouchDirection(touch);
break;

case TouchPhase.Moved:
float angle = Vector2.SignedAngle(startDirection, GetTouchDirection(touch));
Quaternion needRotation = startRotation * Quaternion.AngleAxis(angle, Vector2.down);
rb.MoveRotation(Quaternion.Lerp(rb.rotation, needRotation, Time.deltaTime * speedRotation));
break;
}
}
}

Vector2 halfScreenSize => new Vector2(Screen.width / 2.0f, Screen.height / 2.0f);
Vector2 GetTouchDirection(Touch touch) => touch.position - halfScreenSize;
}
LINESS
UNец
 
Сообщения: 5
Зарегистрирован: 18 мар 2020, 14:38

Re: Движение 3D обьекта в 2D игре

Сообщение Dio5555 30 мар 2020, 18:32

Вы наверное заметили, что вам неохотно помогают. =)

Когда копируете свой код, выделили свой код и нажали на кнопку под название CS !
Изображение
Dio5555
UNIт
 
Сообщения: 83
Зарегистрирован: 06 сен 2018, 11:05


Вернуться в Почемучка

Кто сейчас на конференции

Сейчас этот форум просматривают: Google [Bot], Yandex [Bot] и гости: 33