Обратный стелс

В играх обычно герой прячется от монстров, а я решил наплевать на устои и сделать чтобы монстр прятался от героя. Если на монстра падает мало света, то его Health Bar не виден и на него нельзя навестись для атаки.

Если интересно как, то я поставил несколько маленьких незаметных камер на монстра и стал обрабатывать через RenderTexture. Может кому-то будет полезно.

А вот и скрипт подъехал.

Обратный стелс

Можно было и проще сделать, рэйкастами от источников света, например, но как по мне такое решение проще тестировать, и вообще интуиция подсказывает что надо так.

2828
23 комментария

Какой-то велосипед который сломается в полевых условиях, правильнее бы было сделать через триггеры - зашел в триггер от источника света - тебя видно, вышел - не видно, и в зависимости от мощности света триггер меняет размер

4
Ответить

ну может я и поменяю подход, но мне как раз история с триггерами кажется костылями. Мало ли я захочу добавить Direct Light. И я не хочу себя жестко ограничивать триггерами, потому что так я могу регулировать отталкиваясь от уровня освещенности напрямую, а не делая вычисления, когда монстр находится на грани освещенности.

4
Ответить

В редакторе DTF есть инструмент "Код", так что можно и не скрином.

4
Ответить

спасибо, буду знать

Ответить

Могу ошибаться, но ты каждую итерацию в GC добавляешь мусор, может стоит переиспользовать рефересны на переменные текстуры?

3
Ответить

да здесь переменные не закэшированы, не оптимизировал ещё. Очень спешил поделиться :)

2
Ответить

Похоже на Алана Уэйка

2
Ответить