Uncolo
offline
Опыт:
580Активность: |
движение по дуге
Приветствую.
Возникла проблема с движением по дуге, а конкретно по формуле параболы, которую я тут нашел. Когда юнит "летит" по этой параболе только в одну точку, все хорошо, а когда конечную точку сдвинуть к примеру дальше на 1000 АоЕ, то снаряд долетает по формуле, а остальное расстояние в 1000 АоЕ просто катится по земле. Если это возможно, потратить Ваше драгоценное время на создание карты-примера (v/c/jass). Словами я не пойму, туго у меня с геометрией =( Находил подобные темы, но конкретного ответа подходящего не нашел. И еще. Нужно чтобы снаряд летел на высоту цели, тоесть если цель находится в воздухе, то снаряд не приземлялся в его точку, а летел к нему даже на 1000 по Z Схемотично попытался обрисовать: 1 - как нужно, чтобы летел (приблизительно) 2 - как у меня щас летит Отредактировано Uncolo, 27.03.2012 в 14:02. |
27.03.2012, 13:48 | #1
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
ScorpioT1000
Работаем
offline
Опыт: отключен
|
код в студию |
27.03.2012, 14:08 | #2
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
Uncolo
offline
Опыт:
580Активность: |
сейчас неу возможности (пишу с планшета)
если не трудно, то было бы неплохо создать свой пример. Мой трудно читается |
27.03.2012, 14:23 | #3
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
quq_CCCP
Я белый и пушистый!
offline
Опыт:
94,338Активность: |
|
27.03.2012, 14:42 | #4
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
ScorpioT1000
Работаем
offline
Опыт: отключен
|
вызываешь GeoArcRelative(тут начало отсчета, тут конец отсчета, тут место где находится сейчас, тут минимальный нужный результат, тут максимальный нужный результат) возвращает значение между последними двумя относительно того, как далеко wayNow переместилась между первыми двумя вобще это в 2D, а надо в 3D - добавь полярные координаты, или сделай отдельно для каждого измерения... |
27.03.2012, 14:45 | #5
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
Uncolo
offline
Опыт:
580Активность: |
ScorpioT1000, в 2Д снаряд то я умею двигать, проблема только с Z координатой, вот недавно столкнулся, я даже понятия не имею, как менять высоту полета согласно формуле. Мне нужен работающий пример, если не сложно (желательно на труктурах)
В основном смотрел на примерах, где применяется парабола quq_CCCP, спасибо за подсказку, надеюсь что нить разберу |
27.03.2012, 15:24 | #6
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
ScorpioT1000
Работаем
offline
Опыт: отключен
|
ну у тебя есть Z допустим пол это 50, потолок (самый верх параболы) - это 300
юнит идет от точки 0 до точки 1000, вот он идет, идет, где он щас находится пусть будет X set unitZ = GeoArcRelative(0, 1000, X, 50, 300) |
27.03.2012, 15:40 | #7
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
Hellfim
Новичок
offline
Опыт:
79,700Активность: |
Uncolo, высота юнита меняется функцией SetUnitFlyingHeight, если что! |
27.03.2012, 23:49 | #8
+1/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
Uncolo
offline
Опыт:
580Активность: |
Hellfim, да ладно? спасибо кэп =)))) но я так то про формулу
ScorpioT1000, спасибо, справился |
28.03.2012, 10:08 | #9
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
ScorpioT1000
Работаем
offline
Опыт: отключен
|
и даже работает? чудо |
28.03.2012, 10:56 | #10
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
Uncolo
offline
Опыт:
580Активность: |
ScorpioT1000, по своему немного зделал, но на основе этих функций
|
28.03.2012, 11:14 | #11
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|