FatalBlade
offline
Опыт:
7,398Активность: |
Как сделать что бы платформы поднимали не всех
У меня в ланде есть платформы, которые я использую в качестве мостов над обрывами. Очень удобно и работает как надо. Неважно на какую высоту их поднять, юниты всегда ходят по ним. Ну сам наврено знаете, не буду обьяснять.
Дело в том, что платформа действует как на наземных так и на летающих юнитов. Как сделать что бы платформы поднимали ТОЛЬКО наземных юнитов? А то не красиво получается, что летит себе юнит, а под ним мост из платфом, и тут вдруг высота юнита резко меняется. А ещё если можно, то что бы они НЕ ПОДНИМАЛИ юнитов с типом передвижения Hover. |
01.10.2012, 13:56 | #1
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
16GB
GhostOne User
offline
Опыт:
60,317Активность: |
только если триггерно менять высоту полёта, пока по мосту ходишь |
01.10.2012, 14:12 | #2
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
FatalBlade
offline
Опыт:
7,398Активность: |
16GB:
Как вычислить юнита на мосту. Только надо что бы точно было. Дело в том что платформа то квадратная, и простым расстоянием между координатами это не вычислить. Почему это так важно? Потому что стоит юниту наступить на платформу, его высота тут же меняется. И я не хочу что бы триггерно менялась высота когда юнит рядом с платформой но не на ней, или наоборот, на краю платформы, но с точки зрения триггера не на ней. Для этого идеально подходят области - они квадратные. Но платформ у меня на карте 480. Не создавать же мне 480 областей?... |
01.10.2012, 14:51 | #3
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
Cosonic5
Моймозггоритогнем
offline
Опыт:
13,584Активность: |
а почему бы собственно и не создать, создай область на весь мост ровную, ну а дальше вошел добавить полет удалить полет,изменить высоту а как уходит из области то снижать канечно криво но больше решения нету. |
01.10.2012, 15:19 | #4
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
pAxsIs
offline
Опыт:
2,389Активность: |
Вот так попробуй как я сделал. и не придется делать области. range сделаешь под край моста и все Вот смотри: Подходит? |
01.10.2012, 15:40 | #5
+0/−1
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
FatalBlade
offline
Опыт:
7,398Активность: |
pAxsIs, в том то и дело, что в радиусе 512 это... РАДИУС! Круг. А платформа квадратная. Проверка не даст точный результат.
З.Ы. Кстати то что ты щас написал убьёт карту за пару минут :) |
01.10.2012, 15:47 | #6
+1/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
Cosonic5
Моймозггоритогнем
offline
Опыт:
13,584Активность: |
удали к чертям эти платформы поставь клифы закрой декором и не парься.
Cosonic5 добавил: вот смотри как мост сделан... Отредактировано Cosonic5, 01.10.2012 в 16:03. |
01.10.2012, 15:55 | #7
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
FatalBlade
offline
Опыт:
7,398Активность: |
Cosonic5, над клифами юниты тоже меняют высоту :) |
01.10.2012, 16:29 | #8
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
pAxsIs
offline
Опыт:
2,389Активность: |
тебе нужно чтобы летающие юниты могли пролететь под мостом, так?
|
01.10.2012, 16:41 | #9
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
FatalBlade
offline
Опыт:
7,398Активность: |
pAxsIs:
нет мне нужно что бы когда они летали НАД МОСТОМ, их высота не менялась |
01.10.2012, 17:30 | #10
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
pAxsIs
offline
Опыт:
2,389Активность: |
Цитата:
Высота относительно чего? Земли под мостом, земли до моста, моста конкретней изъяснись пожалуйста |
|
01.10.2012, 17:48 | #11
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
FatalBlade
offline
Опыт:
7,398Активность: |
Относительно моста. Ведь мост находится выше земли.
FatalBlade добавил:
Cosonic5: Ок а если платформы находятся на разной высоте? Как вычислить на сколько поднята платформа от земли. Дело в том что триггерное вычисление высоты юнита делается относительно земли. Если юнит на земле, то его высота равна 0. Но этот "ноль" меняется там где есть платформы, и новым "нулём" становится сама платформа. В результате чего, если высота юнита от земли равна например 400, то когда этот юнит находится над платформой, эти 400 единиц отсчитываются от платформы, а не от земли карты. То же самое не только с платформами, но и с клиффами и возвышениями. Я был бы очень рад если бы кто нибудь показал/сделал мне наработку, с помощью которой юниты будут летать на одной и той же высоте НЕЗАВИСИМО ОТ РЕЛЬЕФА |
01.10.2012, 18:40 | #12
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
16GB
GhostOne User
offline
Опыт:
60,317Активность: |
вроде в TcX такое было сорсы есть, но там полностью же нестандартная система движения так что..... |
01.10.2012, 18:52 | #13
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
FatalBlade
offline
Опыт:
7,398Активность: |
16GB:
В ТсХ помоему все возвышенности - декор. Но там прыжки тоже на разных высотах. Да и там гигантская система ещё и на cJass или vJass, когда я шарю только в обычном джассе. Мне бы хотя бы знать в чём заключается наработка, как она работает (в теории). Я уже что нибудь попробую сделать на основе этой теории. А то единственное что приходит на ум, это триггер с периодическим таймером в 0.03 секунды или меньше, где будут проверяться высоты всех юнитов на карте... Сами знаете, что это значит для производительности. Да и даже если сделать так, всё равно, разве можно вычислить высоту юнита по оси Z относительно самого пространства (куба) игры, а не относительно земли?
Есть ещё одна извращённая идея. Всю область которая должна быть непроходимой (в моём случае это альфа тайл), заставить НЕВИДИМЫМИ платформами, и поднять их на высоту моста. Таким образом всё что летает над мостом и над альфа тайлом - будет летать на одной высоте. Отредактировано FatalBlade, 01.10.2012 в 20:21. |
01.10.2012, 20:10 | #14
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
FatalBlade
offline
Опыт:
7,398Активность: |
Мне интересно ещё кое что. Как автор ТсХ смог использовать аж 25 тайлов вместо 12 и 4 клифа вместо 2?
FatalBlade добавил: И так, как вычислить/изменить высоту юнита по оси Z относительно самого пространства (куба) игры, а не относительно земли? |
02.10.2012, 00:08 | #15
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
quq_CCCP
Я белый и пушистый!
offline
Опыт:
94,266Активность: |
FatalBlade, есть тактика фишка как картинку на земле расположить (забыл как называется) ну судя по всему этим способом... |
02.10.2012, 07:11 | #16
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
FatalBlade
offline
Опыт:
7,398Активность: |
quq_CCCP, ты про ось Z или про ТсХ? Если про ось Z, то что мне поможет картинка? Если ей указывается Z по отношению пространства (куба) игры, то это так заложено в варике. Юниту таким образом не укажешь такой же параметр. |
02.10.2012, 10:22 | #17
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
Nerevar
I'll be back!
offline
Опыт:
18,352Активность: |
ну можно 1 точку глобальную сделать udg_PointZ==Location(0,0)
тогда функция будет выглядеть так
в итоге функция возвращает текущую полную высоту юнита |
02.10.2012, 13:07 | #18
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|