Мы можем снимать игровые объекты в Unity, но если не давать им крутиться, движение выглядит не очень реалистично. Чтобы это выглядело реалистично, если у объекта есть твердое тело, мы можем придать ему угловую скорость в направлении движения и наблюдать, как он вращается в направлении своего курса.

Я создал видеоурок по этому поводу на канале Devsplorer на YouTube.

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

Вектор угловой скорости не параллелен вектору направления, а перпендикулярен ему.
Здесь, на изображении выше, направление белых цилиндров для шаров указывает на положение игрового объекта, который находится на цели. Но их вектор угловой скорости, который мы должны использовать, чтобы они вращались в направлении движения, цель представлена ​​черными цилиндрами.

Чтобы вычислить направление вектора угловой скорости, чтобы объект вращался в направлении движения, в случае приведенного выше изображения в направлении целевой позиции, мы применяем перекрестное произведение к двум векторам, которые соединяют выбранный игровой объект.

Цилиндр, соединенный со сферой на земле, представляет вектор положения объекта. Сфера на самом деле находится в позиции 0,0,0. Другой цилиндр, соединенный с выбранным объектом, является вектором направления, через который объект пройдет, когда начнет двигаться.

Когда мы используем эти векторы для перекрестного произведения, мы находим направление, представляющее угловую скорость, и можем применить его к нашему игровому объекту.

Подробности можно посмотреть в видео выше 👆

Надеюсь, это будет полезно для ваших проектов.
Если что-то неясно, дайте мне знать.
До встречи в следующих исследованиях 🙋

🌟 Источники, которые способствовали этой реализации

⭐ HyperPhysics — векторы вращения
http://hyperphysics.phy-astr.gsu.edu/hbase/rotv.html#rvec1
⭐ Unity Docs — Cross Product https://docs.unity3d.com/ ScriptReference/Vector3.Cross.html
⭐ Википедия — Угловая скорость
https://en.wikipedia.org/wiki/Angular_velocity

👉 Чудесные ассеты от KayKit — пакет разнообразия мини-игр:
https://kaylousberg.itch.io/kay-kit-mini-game-variety-pack
👉 Изменение текстуры курсора нажатием мыши: < br /> https://youtu.be/jis0Lq1FLD8
👉 Похожие серии съемок:
https://youtube.com/playlist?list=PLGXzgnKhu_mCTmg_AS66j8U7duSzcsub7
👉 Учебное пособие по масштабированию цилиндров
https://youtu.be/s6qhqm3ec28
👉 Предыдущее видео о стрельбе по мишеням
https://youtu.be/qA7WbcJmhUM

Первоначально опубликовано на http://devsplorer.wordpress.com 9 января 2021 г.