Всем привет! Все вы знаете, что стандартная невидимость в старкрафте 2 имеет некую голографическую основу (юнит переливается на фоне). Я захотел сделать действительно полную невидимость. Посмотрел в актёре на два замечательных поля, которые отвечают за прозрачность юнита (картинка ниже). Вот только теперь не знаю, как менять актёров на единице. Сделал по-простому два триггера с нажатиями на кнопки. Одна кнопка прикрепляет актёр с полупрозрачностью 0, а вторая возвращает старый актёр. Только вот актёры нагромождаются один на другой. Пробовал удалить актёр перед добавлением, но не нашёл такой триггер. Триггер kill actor scope не помогает.

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

Set Opacity в событиях актера управляет его прозрачностью динамически. Беда в том, что нельзя просто взять и скрыть актера полностью - его нужно скрывать только для тех, кто его не должен видеть, иначе владелец юнита тоже перестанет его видеть. Кроме того, прозрачный актер по прежнему остается выделяемым и атакуемым (не критично если совмещать со стандартной системой невидимости).
И ты, кажется, не совсем понял что я написал в последнем сообщении.
Модель пустышка не поможет - пустышка просто выключит все изменения отрисовки при невидимости, юнит станет всегда видимым, но без возможности атаковать его когда он должен быть невидим - нужна не пустышка, а модель аналогичная стандартной модели невидимости, но с такими анимациями материала чтобы в состоянии невидимости был полностью прозрачный материал. Технически, такую модель должно быть не сложно реализовать, да и на специализированных сайтах вполне может быть готовая модель для этих целей - ты наверняка не первый задался вопросом полной невидимости.
А еще стоит посмотреть что творится в героях шторма - там возможно есть полная невидимость для героев - а значит и готовая модель невидимости должна существовать, движок то один и тот же.
`
ОЖИДАНИЕ РЕКЛАМЫ...

Показан только небольшой набор комментариев вокруг указанного. Перейти к актуальным.
2
24
6 лет назад
2
А что мешает отдавать актеру команду стать прозрачным вместо чехарды с несколькими актерами?

Более того, подозреваю что вполне реально откорректировать стандартное поведение и не извращаться с костылями.
0
11
6 лет назад
0
Через дату или триггеры? В триггерах не нашёл команду сделать юнита прозрачным.
0
24
6 лет назад
0
yellyex, через дату или через прямые актерские команды отправляемые из триггеров. Актеров вобще лучше триггерами не трогать без крайней необходимости.
0
11
6 лет назад
0
Я в дате не знаю, как обращаться к актёрам, кроме как через агент самого юнита. Не разбирался во внутренностях. А что за прямые актёрские команды в триггерах? Send Actor Messages?
0
24
6 лет назад
Отредактирован prog
0

Но я бы смотрел скорее в сторону редактирования стандартного поведения - насколько я помню, там есть отдельный набор инструкций определяющих что делать актеру при невидимости и других особых состояниях.
0
11
6 лет назад
0
Ты имеешь ввиду валидаторы? Мне бы строчку найти изменяющую прозрачность юнита хоть как. Либо в триггерах, либо в дате.
0
24
6 лет назад
Отредактирован prog
0
Лучше всего такие вещи делать через события актеров/агентов в дате. А конкретно в случае невидимости, насколько я помню, существует пресет содержащий описание событий определяющих поведение актера под невидимостью и этот пресет по умолчанию выдан всем актерам юнитов.

Все визуальные изменения происходящие с актером, а также большая часть его жизненного цикла описаны через события актера внутри актера - именно актер реагирует на события вызываемые, например, способностями, а не наоборот - способности и эффекты не говорят актеру что делать, только генерируют соответствующие события.
Показан только небольшой набор комментариев вокруг указанного. Перейти к актуальным.
Чтобы оставить комментарий, пожалуйста, войдите на сайт.