При создании нескольких спецэффектов, наблюдаю неприятную картинку в местах их наложения друг на друга.
Кто сталкивался с чем-то подобным или какие есть предложения по борьбе с этим? Файлы моделей и текстур прилагаются.
Чем больше прозрачность ставлю тем заметнее эффект.
`
ОЖИДАНИЕ РЕКЛАМЫ...
2
19
5 лет назад
2
Похожие вопросы:

ответ
Уничтожая эффект, ты заставляешь его проигрывать анимацию Death. Если у эффекта только 1 анимация, будет проиграна эта единственная анимация. Если анимаций несколько, но нет анимации Death, эффект просто исчезнет.
ответ
Diaboliko, я тебе и говою, сразу модель кучки спецэффектов, модель огоньков на земле, где их штук 20. Видел такую модель в доте, там еще зачем то модель на 5 огоньков.
ответ
Для тебя самый простой способ: Получает предмет, добавить способность пассивную, которая имеет модель оружия, а когда теряет этот предмет, удалить способность.
ответ
В редакторе скелета
ответ
function check takes nothing returns boolean
    local unit u = GetFilterUnit()
    local player p = GetOwningPlayer(caster)
    local real coneAngle = TransferDegrees(bj_RADTODEG * Atan2(GetUnitY(u) - GetUnitY(caster), GetUnitX(u) - GetUnitX(caster)))
    local real sector = 30
    local boolean answer =  u != caster and IsUnitEnemy(u, p) and IsUnitVisible(u, p) and IsUnitAliveBJ(u) and GetUnitFacing(caster) - coneAngle <= sector and GetUnitFacing(caster) - coneAngle >= sector - sector*2
    set u = null
    set p = null // игрока можно не обнулять, их всё же очень конечное количество.
    return answer
endfunction
На кол-во handles это никак не повлияло.
Потому что никто из твоих FilterUnit() не был убран из игры. Без обнуления после удаления юнита хэндл бы остался, а с обнулением, был бы освобождён для нового использования.
У них стандартное время смерти 5 секунд, смотри игровые константы.
Поставь в игровых константах Decay Time - Effects время меньше, но не очень маленькое, а то анимация смерти эффекта проигрываться не будет.

Чтобы не плодить переменные эффекта, сделай такие функции:
function CreateEffectPoint takes string s, real x, real y returns nothing
    call DestroyEffect(AddSpecialEffect(s, x, y))
endfunction

function CreateEffectTarget takes string s, widget w, string att returns nothing
    call DestroyEffect(AddSpecialEffectTarget(s, w, att))
endfunction
Во время сохранения при включённой оптимизации кода и выключенном режиме дебага эти 2 функции будут "раскрыты", и в конечном коде будут только DestroyEffect(AddSpecialEffectTarget(...)).
У Inline оптимизации есть некоторые требования для передаваемых параметров, потому функции не в некоторых случаях не будут "раскрыты".

0
13
5 лет назад
0
Никаких идей?
0
24
5 лет назад
0
Рассчитать так чтобы не было наложений?
Изменить тип прозрачности в материале?
Не использовать прозрачность?
0
13
5 лет назад
Отредактирован Nelloy
0
prog, объясните, что значит другой тип прозрачности? По расчетам они и не пересекаются. Без прозрачности никак
0
26
5 лет назад
0
Не понимаю, в чём конкретно проблема, что кнопки минимизировать и закрыть как бы позади, либо полоса здоровья впереди?
0
13
5 лет назад
Отредактирован Nelloy
0
8gabriel8, проблема в горизонтальных светлых полосах. И нет, не минимизировать) Регулировка размера
0
25
5 лет назад
0
Nelloy:
prog, объясните, что значит другой тип прозрачности? По расчетам они и не пересекаются. Без прозрачности никак
Прозрачность в бленд материале непредсказуемая штука. Порядок рендера может скакать туда сюда. Сделай кнопки transparent, а меню blend.
0
13
5 лет назад
Отредактирован Nelloy
0
Jack-of-shadow, ага с порядком рендера тоже были проблемы, но грешил на мой корявый z-буффер. Попробую
Jack-of-shadow, на всем стоит Transparent, с Blend - хуже
Такой фон получается если поставить на фон Blend
Получается для спецэффектов рендер совсем по-другому работает?
Потому что когда та же система была на юнитах таких проблем не было.
Загруженные файлы
2
32
3 года назад
2
Принятый ответ
Чтобы оставить комментарий, пожалуйста, войдите на сайт.