Как стать автором
Обновить

unity 2d bolt движение по лини взгляда

Решил поизучать unity и пришла идея попробовать сделать шутер с видом сверху и столкнулся с проблемой. А как заставить персонажа двигаться по направлению взгляда?В итоге пришел вот к этому.

Я делал все в Bolt но принципы схожи с C#.

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

сначала я пользовался transform.rotation(get) он выдает уголь поворота в пределах от 180 до -180, потом перешел на transform.eulerAngles(get) он выдает значения от 0 до 360

Зная направление взгляда можно представить его так.

https://myslide.ru/presentation/1597251389_sinus--kosinusxAi-tangens-ugla
https://myslide.ru/presentation/1597251389_sinus--kosinusxAi-tangens-ugla

И разделить на вектора по осям x и y. Т.е. если гипотенуза ОМ равна 1 то:

OD=OM*cos(α)

MD=OM*sin(α)

и так как гипотенуза в нашем случае равна 1 то:

OD=cos(α)

MD=sin(α)

Почему именно синус или косинус?

https://matematika-club.turbopages.org/matematika.club/s/articles/trigonometry/
https://matematika-club.turbopages.org/matematika.club/s/articles/trigonometry/

Потому что они дают нужные нам значения от -1 до +1 в нужном нам направлении.

Теперь переведя градусы в радианы , я очень долго не мог понять почему не работает пока это не сделал) . Что перевести градусы в радианы, нужно число градусов умножить на π и разделить на 180 градусов.

Далее перемножаем со скоростью передвижения и передаем в вектор (new vector2(x,y) ) который передаем в rigidbody2D.velocity(set)

Спасибо за прочтение, это моя первая статья, поэтому простите за ошибки.

Статьи, которые помогли мне во все разобраться:

https://matematika-club.turbopages.org/matematika.club/s/articles/trigonometry/

https://poschitat.online/storony-pryamougolnogo-treugolnika

И 2 обсуждения по этой же теме:

https://vk.com/away.php?utf=1&to=https%3A%2F%2Fdtf.ru%2Fask%2F284053-unity-2d-top-down-dvizhenie-po-linii-vzglyada-personazha-resheno%3Fcomment%3D8156260

http://www.unity3d.ru/distribution/viewtopic.php?f=105&t=21397#p151717

Теги:
Хабы:
Данная статья не подлежит комментированию, поскольку её автор ещё не является полноправным участником сообщества. Вы сможете связаться с автором только после того, как он получит приглашение от кого-либо из участников сообщества. До этого момента его username будет скрыт псевдонимом.