Войти
UnityФорумПрограммирование

Перемещение объекта А относительно объекта В

#0
(Правка: 19:27) 19:26, 13 янв. 2022

Всем привет!

Делаю Top Down шутер в 2D для мобильной платформы.

Есть персонаж, который перемещается свободно и есть прицел, который перемещается независимо от персонажа.

У персонажа есть 2 режима перемещения:

1.БОЕВОЙ РЕЖИМ:  режим я описал выше, т.е. персонаж и прицел перемещаются независимо. Перемещаться и прицеливаться удобно, но переходить между локациями неудобно, т.к. нужно и прицел и персонажа двигать одновременно. Поэтому есть второй режим =>

2.ПОХОДНЫЙ РЕЖИМ: это режим как раз таки и не получается сделать. В нем персонаж перемещается так же, как и раньше, но прицел должен поворачиваться вместе с персонажем и оставаться на том же расстоянии, которое было в предыдущем режиме.

ВОПРОС: как сделать второй режим? Было много разных попыток. И если сохранить расстояние между персонажем и прицелом не составляет труда, то поворачивать вектор направления прицела у меня не получается.

https://gamedev.ru/files/images/?id=159751 ссылка на файл с кодом

памагите

P.S. если не совсем понятно, могу сделать схему с объектами


#1
6:31, 14 янв. 2022

Тут бы еще уточнение: прицел должен быть перед персонажем в походном режиме или где был на момент перехода в походный режим от туда и вращается?

#2
12:09, 14 янв. 2022

DemiosFantasimo
Да, чтобы прицел был последней позиции, в которой он был перед переходом в походный режим. Это не является главной проблемой. Сохранить позицию не трудно(именно вектор расстояния).

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

#3
12:23, 14 янв. 2022

Тогда в теории получается так:
Позиция цели будет равна:
Получить направление от объекта к цели и нормализовать.
Получить дистанцию.
Направление умножить на дистанцию и прибавить координаты объекта

Но это не точно.

UnityФорумПрограммирование