Vlod:
Почему неизвестна? Она поднимает или опускает попавшие в радиус вершинки на указанную высоту. Если пройтись по рельефу и сохранить высоты, то рельеф можно воссоздать. Единственная проблема это скорость.
Но на небольшом террейне вполне можно попытаться.
и генерирует которые есть данные и создает а не рандомный...
Даже в рандомном террейне можно по хорошему указать статичные ключевые точки: лагеря монстров, поселения людей и прочее.
К примеру реки и дороги в моем проекте хоть и рандомные но строятся между опорных точек, которые также спавняться рандомно, но учитывая нужные условия. Но ничего не мешает установить их фиксировано.
читать данные прямо в jass и генерировать например типо блокнотом
Ну теоретически можно пройтись по всей карте триггером, с проверками высоты и тайла, затем выгрузить это в текстовик. (получиться что то вроде карты высот)
Но для 100 процентной четкости нужно пройтись по каждому полику. Такая генерация займет много времени уже на средней карте. Но 32x32/64x64 можно попытаться.
Jack-of-shadow, свет буду печь я, только на отдельную карту теней,а то одних текстур будет мегабайт 200. Только я за созданием моделей засиделся, возможно с конкруса вылечу, отдельно выложу тогда
Второй ув сет mdx вроде как не держит, но можно конечно запечь текстуру теней низкого разрешения и заблендить в материале.
Но тогда нужно избегать повторение деталей на развертке
PT153
Немного поэкспериментировал с boolexpr, получилось создать массив функций для баффов через них, не используя даже кэш, раньше делал массив функций через массив триггеров с экзекутом + кеш, для прокачки и использования триггерных спеллов.
Есть конечно ограничение по кол-ву юнитов, но мне больше и не нужно.
Для непериодических баффов у меня были обычные жасовые функции с изменением нужных переменных героя, и аттач эфекта с таймером удаления.
Для остальных юзалась другая логика. В общем, не то что бы прям мешанина была, для большинства я тупо копировал шаблон и менял атрибуты.
Но столкнулся с проблемой что бафф может быть наложен дважды, и получался просто стак. Но минус в том что висели лишние эффекты.
А простая проверка на имеющийся бафф требовала нахождения таймера который уже мог быть запущен, то бишь нужно было хранить его хендл, а там еще всякие коллизии начинали возникать.
Поэтому захотелось все таки покурить структуры и придумать более изящный вариант.
Дык ты уже рассписал какраз все что тебе нужно. Юнит на которого применена способность - это GetSpellTargetUnit() или "Реакция на событие - Target unit of ability being cast" в триггерах.
Имеется ввиду шрифт на лоадскрине? Если руки дойдут то я картинку другую запилю в 1.03.
Последнее время очень редко удается добраться до варика, по этому релиз слегка затянулся. Но все же работа над улучшением проекта не стоит на месте. ссылка
да, игре похер, какой путь до модели, объект создается всегда
блин как то раньше об этом не задумывался, получается локальные спецефекты через пустую строку плодят утечки у остальных игроков..хмм
а хотя нет. эфект же всеравно будет удаляться потом (ну если по хорошему), тогда и у остальных удалиться как раз если не будет проблем с пустой строкой.
Dezard:
Кривой перевод как всегда. Мне как раз кстати обратный эффект нужен был, что бы подходя к деревьям вплотную можно было видеть противника дабы устраивать засады.
Dezard:
ну вот например тут на карте генерится 30 к декора и тормоза идут только от объектов в камере.
Кстати да, самый жесткий декор это тот по которому можно ходить, уже 100 объектов могут вызывать тормоза и ломать поиск путей у юнитов. Из-за этого пришлось целую систему проверки высот писать.
Кстати есть такая тема, что у декора анимации проигрываются только когда ты на них смотришь. Тобишь если ты хайдиш 12 к декора анимацией "death", и потом летаешь камерой по карте, то только в момент когда ты на них посмотришь анимация "death" и проиграется. По этому после сокрытия будут тормоза при первом попадении в камеру.
вот тут 22 к флагов насажал. И после сокрытия очень хорошо видно, что хайдится они начинают только при попадении в камеру.
С террейном тоже самое. Если сгенерировать терейн то будут черные дыры на каждом полике, пока один раз не попадут в камеру и не отрендерятся.
Разницы с видимым декором вообще никакой. Такие же просадки фпс начинаются.
По идее не должно. В примере 2 к флагов в одной точке вызывают жуткие лаги. После скрытия все тормоза пропадают. Возможно проблема в анимации твоих моделей. (например если в анимации объект скрывается только прозрачностью материала)
Я своем проекте как раз использую сокрытие мелкого декора и источников освещения, как настройку для занижения графики. Прирост производительности получается довольно ощутимый.
DracoL1ch:
Разве локальное проигрывание анимаций вызывает десник у декора? Всегдаж работало вроде, исключение декор с галочкой "можно пройти" при триггерной проверке высоты на нем.
Нет, есть лимит. И даже если каким то волшебством его удастся превысить, то скорее всего у юнитов будут проблемы с поиском путей. В конце концов можно уменьшить модели в 2-3 раза. Но раз уж ты моделиш сам, с нуля, то не майся фигней, качай анриал, или уж юнити на крайняк, и радуйся жизни.
поправочка, I2S забыл. теперь вроде должно сработать. Для сохранения нужно включить доступ к локальным файлам и указать переменные : YourHash YourBdHandle YourFolderPath
Отредактирован Jack-of-shadow
» WarCraft 3 / Как копировать данные ландшфат?
Почему неизвестна? Она поднимает или опускает попавшие в радиус вершинки на указанную высоту. Если пройтись по рельефу и сохранить высоты, то рельеф можно воссоздать. Единственная проблема это скорость.
Но на небольшом террейне вполне можно попытаться.
» WarCraft 3 / Как копировать данные ландшфат?
К примеру реки и дороги в моем проекте хоть и рандомные но строятся между опорных точек, которые также спавняться рандомно, но учитывая нужные условия. Но ничего не мешает установить их фиксировано. Ну теоретически можно пройтись по всей карте триггером, с проверками высоты и тайла, затем выгрузить это в текстовик. (получиться что то вроде карты высот)
Но для 100 процентной четкости нужно пройтись по каждому полику. Такая генерация займет много времени уже на средней карте. Но 32x32/64x64 можно попытаться.
» WarCraft 3 / Как копировать данные ландшфат?
Отредактирован Jack-of-shadow
» Crazy Dwarf Race / Главная страница
Аххах мда, я тот ещё грамматей, с обновлением поправлю)
Отредактирован Jack-of-shadow
» Crazy Dwarf Race / Главная страница
» WarCraft 3 / Конкурс ландшафтов - XGM [Halloween]
Но тогда нужно избегать повторение деталей на развертке
» WarCraft 3 / Конкурс ландшафтов - XGM [Halloween]
Отредактирован Jack-of-shadow
» Crazy Dwarf Race / Главная страница
Отредактирован Jack-of-shadow
» Crazy Dwarf Race / Главная страница
WarCraft_Font
Snap_ITC_Font
» WarCraft 3 / Триггерный бафф
Немного поэкспериментировал с boolexpr, получилось создать массив функций для баффов через них, не используя даже кэш, раньше делал массив функций через массив триггеров с экзекутом + кеш, для прокачки и использования триггерных спеллов.
globals
constant integer BMax = 50 Макслимальное бафов, 8192/UntitMax = BMax
boolexpr array BCode Функция бафа
timer array BTimer Таймер бафа
integer array BUnitIdArray ид юнита прикрепояемый к тайммеру
integer array BBuffIdArray ид бафа прикрепояемый к бафу
integer array BEffectArray ид эффекта прикрепояемого к бафу
boolean BDestroy = true аттрибут_функции_Удаления бафа
integer BUnitId = 0 аттрибут_функции_Ид юнита
force BForce = CreateForce()
endglobals
timer t = GetExpiredTimer( )
integer i = R2I(TimerGetRemaining(t)+0.5)
BUnitId = BUnitIdArray[i]
BDestroy = true
ForceEnumPlayers(BForce, BCode[BBuffIdArray[i]])
DestroyTimer (t)
}
t = CreateTimer()
TimerStart(t, I2R(b), false, null)
PauseTimer(t)
TimerStart(t, d, false, function BuffEnd )
ForceEnumPlayers (BForce, BCode[BBuffIdArray[b]])
}
integer id = unitid*BMax+buffid
BDestroy = false
BUnitId = unitid
BUnitIdArray [id] = unitid
BBuffIdArray [id] = buffid
BTimerEx(BTimer[id],id,time)
}
endlibrary
if BDestroy {
Msg("Buff1_Destroy"+" for unit "+I2S(BUnitId))
}else{
Msg("Buff1"+" for unit "+I2S(BUnitId))
}
return false
}
if BDestroy {
Msg("Buff2_Destroy"+" for unit "+I2S(BUnitId))
}else{
Msg("Buff2"+" for unit "+I2S(BUnitId))
}
return false
}
BuffIni(1,function Buff1)
BuffIni(2,function Buff2)
}
» WarCraft 3 / Триггерный бафф
Для остальных юзалась другая логика. В общем, не то что бы прям мешанина была, для большинства я тупо копировал шаблон и менял атрибуты.
Но столкнулся с проблемой что бафф может быть наложен дважды, и получался просто стак. Но минус в том что висели лишние эффекты.
А простая проверка на имеющийся бафф требовала нахождения таймера который уже мог быть запущен, то бишь нужно было хранить его хендл, а там еще всякие коллизии начинали возникать.
Поэтому захотелось все таки покурить структуры и придумать более изящный вариант.
Отредактирован Jack-of-shadow
» WarCraft 3 / Как сделать чтобы триггер узнавал на кого действует способность?
Отредактирован Jack-of-shadow
» Crazy Dwarf Race / Главная страница
» WarCraft 3 / Как повернуть кость Bone_Root
Отредактирован Jack-of-shadow
» WarCraft 3 / Вращение свечения героя
» WarCraft 3 / Респаун разрушаемых декораций
Отредактирован Jack-of-shadow
» WarCraft 3 / Где можно найти хорошие предметы?
Profit!
Отредактирован Jack-of-shadow
» WarCraft 3 / Удаление спецэффекта с null'евым путем к моделе
» WarCraft 3 / Видимость через декорацию
Кривой перевод как всегда. Мне как раз кстати обратный эффект нужен был, что бы подходя к деревьям вплотную можно было видеть противника дабы устраивать засады.
Отредактирован Jack-of-shadow
» WarCraft 3 / Оптимизация карты при большом количестве декораций
ну вот например тут на карте генерится 30 к декора и тормоза идут только от объектов в камере.
Кстати да, самый жесткий декор это тот по которому можно ходить, уже 100 объектов могут вызывать тормоза и ломать поиск путей у юнитов. Из-за этого пришлось целую систему проверки высот писать.
вот тут 22 к флагов насажал. И после сокрытия очень хорошо видно, что хайдится они начинают только при попадении в камеру.
Отредактирован Jack-of-shadow
» WarCraft 3 / Оптимизация карты при большом количестве декораций
» WarCraft 3 / Оптимизация карты при большом количестве декораций
Разве локальное проигрывание анимаций вызывает десник у декора? Всегдаж работало вроде, исключение декор с галочкой "можно пройти" при триггерной проверке высоты на нем.
Отредактирован Jack-of-shadow
» WarCraft 3 / Карта размером в 2048х2048?
Отредактирован Jack-of-shadow
» WarCraft 3 / Система спавна по ID юнита (Пример ID:hfoo(Пехотинец)
Отредактирован Jack-of-shadow
» WarCraft 3 / Система спавна по ID юнита (Пример ID:hfoo(Пехотинец)
YourHash
YourBdHandle
YourFolderPath