Редактирование рельефа средствами jass
Я знаю, что стандартными средствами это нельзя.
Но может кто-то пытался это делать? Насколько успешно?
Если кому из шарящих будет скучно, он может написать как приступил бы к такой задаче.

Лучший ответ:
Но в JASS много чего нет, что потом как-то добавили, вроде мемхака.
В мемхаке пока нет функционала для изменения рельефа. И его может и не быть, зависит от того, как чтение рельефа реализовано.


Views: 151

PT153 #1 - 2 months ago 2
Голосов: +2 / -0
В гуи посмотри категорию деформация рельефа. Это единственный способ менять ландшафт.
rsfghd #2 - 2 months ago 1
Голосов: +1 / -0
Как и описали выше, можно и на гуи редачить спокойно
Снегопад
map_maiker #3 - 2 months ago 0
Голосов: +0 / -0
PT153:
В гуи посмотри категорию деформация рельефа. Это единственный способ менять ландшафт.
rsfghd:
Как и описали выше, можно и на гуи редачить спокойно
Снегопад
Ну уровни же рельефа, а не холмы.
rsfghd #4 - 2 months ago 1
Голосов: +1 / -0
map_maiker, а.. никогда в жизни не видел динамического рельефа через уровни, вероятно (если даже на мемхаке нет такой возможности) тут только исхищряться с особым ландом без уровней и через декорации. То бишь когда изначально всё водой заливаешь и через плато сушу делаешь
PT153 #5 - 2 months ago (изм. ) 2
Голосов: +2 / -0
Ну уровни же рельефа, а не холмы.
С помощью JASS менять уровень рельефа нельзя.
map_maiker #6 - 2 months ago 0
Голосов: +0 / -0
а.. никогда в жизни не видел динамического рельефа через уровни, вероятно (если даже на мемхаке нет такой возможности) тут только исхищряться с особым ландом без уровней и через декорации.
Я думал про возможность как-то редактировать файл рельефа... хз даже как, правда. Ну, из самой игры. Хотя не уверен что изменения будут обновляться...
То бишь когда изначально всё водой заливаешь и через плато сушу делаешь
О, к слову, а что там надо чтобы адекватный рельеф был? Проходимость, летаемость и всё такое.
PT153:
Ну уровни же рельефа, а не холмы.
С помощью JASS менять уровень рельефа нельзя.
Да, я так и написал. Но в JASS много чего нет, что потом как-то добавили, вроде мемхака. Вряд ли он был запланирован близзами, верно?
rsfghd #7 - 2 months ago (изм. ) 0
Голосов: +0 / -0
О, к слову, а что там надо чтобы адекватный рельеф был? Проходимость, летаемость и всё такое.
map_maiker, скорее всего ты имеешь ввиду про кастомную текстуру пути через фотошоп)
Альтернативный способ наложения карты путей

Вряд ли он был запланирован близзами, верно?
Хех, ну memory hack не о чем не говорит?)
думаю близы бы не "хакнули" сами себя. Там есть куча полезных функций и даже работа с фреймами, но по поводу уровней рельефа я хз, ибо им никогда не пользовался
map_maiker #8 - 2 months ago 0
Голосов: +0 / -0
map_maiker, скорее всего ты имеешь ввиду про кастомную текстуру пути через фотошоп)
Ну вот недавно я сделал мелкую воду на карте, потом поднимал/опускал триггерами. Глубокой воды так и не появилось, а через высокие холмы пролетал дирижабль. В см - насквозь.
PT153 #9 - 2 months ago 0
Голосов: +0 / -0

Но в JASS много чего нет, что потом как-то добавили, вроде мемхака.
В мемхаке пока нет функционала для изменения рельефа. И его может и не быть, зависит от того, как чтение рельефа реализовано.
Vlod #10 - 2 months ago 2
Голосов: +2 / -0
map_maiker, уровни делаешь через холмы, выставляешь проходимость. Вода. Создаешь карту с глубокой водой, потом поднимаешь рельеф, или вода как декор. С летающими хз, но GetLocationZ() отрабатывает корректно, поэтому всегда есть возможность менять высоту в динамике
map_maiker #11 - 2 months ago 0
Голосов: +0 / -0
выставляешь проходимость.
Как?
Vlod:
Создаешь карту с глубокой водой, потом поднимаешь рельеф
Только по этому рельефу нельзя ходить и всё такое.
Jack-of-shadow #12 - 2 months ago (изм. ) 1
Голосов: +1 / -0
map_maiker:
Лучше не поднимать рельеф из воды (т.к все равно пена и проходимость не будут работать), а использовать декор воды, как в ссылке выше.

Самый простой способ, это продавливать водоемы, параллельно спавня в эти места декор с текстурой проходимости "вода" (не помню какой цвет) соответствующий размеру кисти.

Второй способ, это таймером проверять высоту под юнитами и топить (или выполнять другие действия) если глубоко.
Для оптимизации можно делать это в 2 таймера. Первый таймер обновляется редко 1 раз в сек,
проверяет юнитов на высоте > 200 от воды, иначе перебрасывает их во второй таймер,
который обновляется чаще (< 0.1 сек).
Так же придется дополнительно обрабатывать разнообразные телепортации, проверки при строительстве и прочее.
Можно оптимизировать еще сильнее если заменить первый таймер на области с событием входа/выхода.
Тут нужно что бы области спавнились вместе с кистью которой ты проминаешь водоемы.



Еще момент, это процедурная расскраска рельефа не сохраняется при сохранении карты. Тобишь нужно будет создать событие загрузки карты, которое будет заного расскрашивать тайлы.

Так же лучше отказаться от способностей вроде stamp и wave, которые времено деформируют рельеф.

Летающих юнитов придется заменить на пеших с дамми способностью полет и отключить им коллизии. Иначе онибудут летать сквозь поднятый рельеф.
map_maiker #13 - 2 months ago 0
Голосов: +0 / -0
Занятно, если импортировать файл рельефа из другой карты (подходящей по размеру, то рельеф заменится. Интересно, можно ли это как-то использовать?...

Собственно, пример.
Прикрепленные файлы