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

Принятый ответ

Вот поделюсь примером, единственное они у меня ниже 0 слегка, надо мешь поднять наверно будет в mdlvis

менять модель примерно так:
 DestroyEffect(HpBar[i]) 
 HpBar[i] = AddSpecialEffectTarget("HpBar_"+I2S(R2I(GetUnitLifePercent(u)/5))+".mdx","overhead")
Загруженные файлы
`
ОЖИДАНИЕ РЕКЛАМЫ...

Показан только небольшой набор комментариев вокруг указанного. Перейти к актуальным.
0
25
5 лет назад
0
Можно поменять порядок рендера материала для хп бара в его модели, тогда он будет рисоваться всегда поверх юнита.
кстати прогресс бар там нормально масштабируется.
Загруженные файлы
1
32
5 лет назад
Отредактирован Берги
1
могу попробовать выдрать текстаговые хп бары из своего старого проекта
они и перекрашиваются и настраиваются (размер и положение)
0
29
5 лет назад
0
А может просто текстурку замените?
Загруженные файлы
0
19
5 лет назад
0
Как раз не нравятся стандартные из-за их огромного размера. Но, вообще, было бы интересно посмотреть, может я заменю на какие-то другие символы
NazarPunk, и так изменена, но это особого эффекта не дает.
Jack-of-shadow, надо посмотреть как прогрессбар там создан. Но это завтра наверное, спать хочу.
0
25
5 лет назад
Отредактирован Jack-of-shadow
0
кстати прогресс бар там нормально масштабируется.
а нет, он по дефолту выше
А так самый простой вариант это делать на эффектах, как советовал темой ниже и прикреплять на "overhead", тогда всегда на месте будет. Да и легче производительности, так как двигать их не надо будет.
0
19
5 лет назад
0
Jack-of-shadow, разве для эффектов есть аналоги SetUnitX?
А, можно же прикрепить к юниту
0
29
5 лет назад
0
разве для эффектов есть аналоги SetUnitX?
В последнем патче даже Z, Yaw, Pitch есть))
1
25
5 лет назад
Отредактирован Jack-of-shadow
1
Вот поделюсь примером, единственное они у меня ниже 0 слегка, надо мешь поднять наверно будет в mdlvis

менять модель примерно так:
 DestroyEffect(HpBar[i]) 
 HpBar[i] = AddSpecialEffectTarget("HpBar_"+I2S(R2I(GetUnitLifePercent(u)/5))+".mdx","overhead")
Загруженные файлы
Принятый ответ
0
19
5 лет назад
0
Jack-of-shadow, приеду с колледжа и попробую повозиться с этим, спасибо.
Jack-of-shadow, я сделал так:
 nothing Trig_hpbar_Actions ( ){ 
   int i = 1
   int iend = g_unitCounter
   loop{
    exitwhen i > iend
    DestroyEffect( g_hpbar[i] )
    if GetUnitState(g_unitID[i], UNIT_STATE_LIFE)>0.00 {g_hpbar[i] = AddSpecialEffectTarget("war3mapImported\\HpBar_"+I2S(R2I(GetUnitLifePercent(g_unitID[i])/5))+".mdx", g_unitID[i], "overhead")}
    i++
   }
 }

 nothing InitTrig_hpbar ( ){ 
   gg_trg_hpbar = CreateTrigger( )
   TriggerRegisterTimerEvent( gg_trg_hpbar, 0.2, true )
   TriggerAddAction( gg_trg_hpbar, function Trig_hpbar_Actions )
 }
Но, если снизить период, то начинает подлагивать. Или есть более оптимизированный способ реализовать это? Можно создавать таймер для каждого юнита на карте, который будет запускать функцию обновления хп бара, но мне кажется, что это еще хуже способ. Можно было бы привязать к событию получения урона, но а как отследить лечение?
Я наверное сделаю секундный период, на всякий случай.
Показан только небольшой набор комментариев вокруг указанного. Перейти к актуальным.
Чтобы оставить комментарий, пожалуйста, войдите на сайт.