XGM Forum
Сайт - Статьи - Проекты - Ресурсы - Блоги

Форуме в режиме ТОЛЬКО ЧТЕНИЕ. Вы можете задать вопросы в Q/A на сайте, либо создать свой проект или ресурс.
Вернуться   XGM Forum > Warcraft> Академия: форум для вопросов> Jass
Ник
Пароль
Войти через VK в один клик
Сайт использует только имя.

Закрытая тема
 
Uncolo

offline
Опыт: 580
Активность:
движение по дуге
Приветствую.

Возникла проблема с движением по дуге, а конкретно по формуле параболы, которую я тут нашел. Когда юнит "летит" по этой параболе только в одну точку, все хорошо, а когда конечную точку сдвинуть к примеру дальше на 1000 АоЕ, то снаряд долетает по формуле, а остальное расстояние в 1000 АоЕ просто катится по земле.

Если это возможно, потратить Ваше драгоценное время на создание карты-примера (v/c/jass). Словами я не пойму, туго у меня с геометрией =(

Находил подобные темы, но конкретного ответа подходящего не нашел.

И еще. Нужно чтобы снаряд летел на высоту цели, тоесть если цель находится в воздухе, то снаряд не приземлялся в его точку, а летел к нему даже на 1000 по Z

Схемотично попытался обрисовать:
1 - как нужно, чтобы летел (приблизительно)
2 - как у меня щас летит
Миниатюры
Кликните на картинку для увеличения
Название:  пример.jpg
Просмотров: 32
Размер:  14.6 Кбайт  

Отредактировано Uncolo, 27.03.2012 в 14:02.
Старый 27.03.2012, 13:48
ScorpioT1000
Работаем
online
Опыт: отключен
код в студию
Старый 27.03.2012, 14:08
Uncolo

offline
Опыт: 580
Активность:
сейчас неу возможности (пишу с планшета)
если не трудно, то было бы неплохо создать свой пример. Мой трудно читается
Старый 27.03.2012, 14:23
quq_CCCP
Я белый и пушистый!
offline
Опыт: 93,024
Активность:
Uncolo, а как насчёт броска тини? из доты АС, там юнит цель летит точно за целью, как снаряд...
В опен доте есть на сайте, а еще есть в Pudge_Wars, тут дествительно крутой тосс но увы на кэше...
Вот открытая версия пудж варс
Старый 27.03.2012, 14:42
ScorpioT1000
Работаем
online
Опыт: отключен

function geoArc takes real wayAbsolute returns real
    return sin((bj_PI / 2.0) * wayAbsolute)
endfunction

function GeoArcBetweenReal takes real wayMin, real wayMax, real wayNow returns real
    return geoArc((wayNow-wayMin) / (wayMax-wayMin))
endfunction

function GeoArcRelative takes real wayMin, real wayMax, real wayNow, real resultMin, real resultMax returns real
    return (GeoArcBetweenReal(wayMin,wayMax,wayNow) * (resultMax-resultMin)) + resultMin
endfunction
вызываешь GeoArcRelative(тут начало отсчета, тут конец отсчета, тут место где находится сейчас, тут минимальный нужный результат, тут максимальный нужный результат) возвращает значение между последними двумя относительно того, как далеко wayNow переместилась между первыми двумя
вобще это в 2D, а надо в 3D - добавь полярные координаты, или сделай отдельно для каждого измерения...
Старый 27.03.2012, 14:45
Uncolo

offline
Опыт: 580
Активность:
ScorpioT1000, в 2Д снаряд то я умею двигать, проблема только с Z координатой, вот недавно столкнулся, я даже понятия не имею, как менять высоту полета согласно формуле. Мне нужен работающий пример, если не сложно (желательно на труктурах)

В основном смотрел на примерах, где применяется парабола

quq_CCCP, спасибо за подсказку, надеюсь что нить разберу
Старый 27.03.2012, 15:24
ScorpioT1000
Работаем
online
Опыт: отключен
ну у тебя есть Z допустим пол это 50, потолок (самый верх параболы) - это 300
юнит идет от точки 0 до точки 1000, вот он идет, идет, где он щас находится пусть будет X
set unitZ = GeoArcRelative(0, 1000, X, 50, 300)
Старый 27.03.2012, 15:40
Hellfim
Новичок
offline
Опыт: 79,637
Активность:
Uncolo, высота юнита меняется функцией SetUnitFlyingHeight, если что!
Старый 27.03.2012, 23:49
Uncolo

offline
Опыт: 580
Активность:
Hellfim, да ладно? спасибо кэп =)))) но я так то про формулу

ScorpioT1000, спасибо, справился
Старый 28.03.2012, 10:08
ScorpioT1000
Работаем
online
Опыт: отключен
и даже работает? чудо
Старый 28.03.2012, 10:56
Uncolo

offline
Опыт: 580
Активность:
ScorpioT1000, по своему немного зделал, но на основе этих функций
Старый 28.03.2012, 11:14
Закрытая тема

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск

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

BB-коды Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход



Часовой пояс GMT +3, время: 23:16.