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

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

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

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

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

Все визуальные изменения происходящие с актером, а также большая часть его жизненного цикла описаны через события актера внутри актера - именно актер реагирует на события вызываемые, например, способностями, а не наоборот - способности и эффекты не говорят актеру что делать, только генерируют соответствующие события.
12
Ага, кажется понял. Буду копать в агентах. В агентах указано поведение юнита под невидимостью, левитацией, закопкой и т.д. Как они связаны с тем, что юнит должен уйти в невидимость. Как говорил о прозрачности юнита, а дефолтная способность невидимость мне не нужна из-за её лёгкой голографии (невидимого юнита видно, как он переливается на фоне поверхности). А вот прозрачный (Transparating) юнит, то что мне нужно. Но всё равно спасибо.
24
yellyex, я уверен, что там-же где-то можно и заменить "голографию" на полную невидимость.
Показан только небольшой набор комментариев вокруг указанного. Перейти к актуальным.
Чтобы оставить комментарий, пожалуйста, войдите на сайт.