2D: Найдите угол между положением мыши и gameObject

У меня пивная бутылка расположена над стаканом на 90%. Я хочу повернуть его вокруг своей оси, которая находится вверху. Для этого я пытаюсь найти угол между положением мыши (mp) и бутылкой и повернуть с его помощью ti.

введите здесь описание изображения

Центр вращения - это текущая позиция GameObject, так как Pivot спрайта находится наверху. Я попытался найти два вектора, один из которых является вектором от точки MP до центра вращения, а другой - положением бутылки. Затем я использовал: gameObject.transform.Rotate (Vector3.Forward, Vector3.Angle (v2, v1)).

Результат, конечно, не такой, как я ожидал. Я новичок в этой игровой математике, буду признателен за объяснение.

(Это игра для Android, и я собираюсь перетащить бутылку вверх и вниз от 90 до 180 градусов).


person Ljupco    schedule 29.04.2017    source источник


Ответы (1)


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

Посмотрите этот ответ:

Расчет угла между двумя линиями без рассчитать уклон? (Java)

person MrApnea    schedule 03.05.2017