PDA

Просмотр полной версии : [Вопрос] Ровное следование объекта за игроком.



Faker
26.02.2020, 01:11
После очень долгих страданий и быстрого изучения тригонометрии(или что это вообще), я так и не смог сделать эту систему - у меня появляются мысли, что это невозможно. :sad:

Вообщем, как видно на рисунке( 2 разные ситуации ):
https://i.yapx.ru/GeNvk.png
Мне нужно как-то заставить объект ровно(перпендикулярно) переместиться к точке около персонажа(коричневая), которую я не знаю как получать. Через GetPlayerPos мне не подходит, так как координаты берутся именно персонажа, а мне нужно около игрока и в направлении к объекту, не смотря в какую сторону смотрит игрок, точка должна быть около игрока и в направлении к объекту, сложно объяснить, но думаю, что рисунок поможет понять.

Направить ли кто-то на путь истинный?

Faker
26.02.2020, 03:01
Добавлю, вот что смог сделать:

GetObjectPos(zan, x, y, z);
GetPlayerPos(playerid, x1, y1, z1);
new Float:d = GetPlayerDistanceFromPoint(playerid, x, y, z1);

new Float: alfa = (x1-x)/d;

d += 2;

x2 = d*floatsin(alfa);
y2 = d*floatcos(alfa);

MoveDynamicObject(zan, x2, y2, z1, 10.0, 0,0,0);


Но все равно есть некое смещение, то влево чутка, то вправо, смотря как отбежишь от объекта, в какую сторону от него.

DeimoS
29.02.2020, 08:23
Если вопрос ещё не решён, то могу предложить глянуть инклуд 3DTryg (https://forum.sa-mp.com/showthread.php?t=591010)

Faker
29.02.2020, 20:58
Если вопрос ещё не решён, то могу предложить глянуть инклуд 3DTryg (https://forum.sa-mp.com/showthread.php?t=591010)

Спасибо, решил, с помощью проекций на оси координат(высоту игнорировал)(выходил ровный треугольник, и с помощью соотношений - можно получить косинус/синус) + теорема Пифагора и две тригонометрические формулы, именно на новые х/у координаты.

Вот где пригодилась геометрия.:awesome: