Карта нормалей — это карта нормалей, а движок — это движок. Или сделать движок, у которого основной фичей будет вот это освещение или же сделать такое освещение плагином к другому движку, что будет более логичным.
Не обычный. Для bump mapping нужна карта нормалей, которую не так просто сделать для такого спрайта зомби как в статье. Куда проще нарисовать освещение с нескольких сторон. Здесь же обратный алгоритм — построение карты нормалей из нескольких освещенных картинок. Ну а после того как карта нормалей есть — там да, обычный bump mapping.
Если прикинуть, то на каждый кадр нужно отдеьно рисовать по 4 рисунка. Из этих 4 рисунков на выходе получается вроде как обычная карта нормалей. Мне кажется легче художнику сгенерить обычную карту нормалей а потом ручками ее подправить под требуемую.
Эм… так к каждому спрайту рисовать по 3-5 изображений?
Если у нас 15 разных персонажей (это не много вроде) и по 15 состояний у каждого. То получается нам надо отрисовать 675 картинок в лучшем случае… И я так понимаю это надо сделать ручками…
Я скорее вдохновлялся смертями в The Lost Vikings. Там персонажи после каждого третьего возрождения (после смерти уровень начинался заново) выдавали смешные реплики вроде «Парни, у меня дежа-вю» или «Как насчёт поселиться здесь?». Диалогов было десять-пятнадцать. Под конец герои уже обращались к игроку с просьбой перестать их убивать. :) Для самых терпеливых был диалог после сотни смертей.
Отрисовка синхронно с ходом луча.
Мультиколоры в поле кадра 4х4 пикселя. А на бордюре можно рисовать пикселями 8*1 со смещением в 2 пикселя. На пентагоне. На оригинальном спектруме ULA не позволяет такие вольности.
Нагнал я про 8*1. 1 такт cpu = 2 пикселя на экране. Соотвественно получается минимальный размер «бордюрного пикселя» это 22х1 или 24х1 в зависимости от типа команды out
Вот почему нельзя было сказать, что тут генерируется не только карта нормалей, но и карты высот и диффузии или хотя бы включить эту гифку? Половины комментариев бы не было.
Да потому что, теме сто лет в обед, подходы известны и их не много.
И главное, таки к играм это всё имеет очень ограниченное применение, тк на множестве различных спрайтов, сразу вылезает косячность этой генерации!
Ого, «Финн Морган (Finn Morgan) разработал очень интересную и полезную технологию»!
А я дурак думал это обычный бамп/нормал маппинг и применял в своем движке: youtu.be/AjsxiHZa3Og
Когда я делал свой 2д движок, я тоже опирался на то, что он должен уметь делать красивое объемное освещение и вообще всячески дружить с шейдерами.
Но вот карту нормалей можно построить из одной единственной карты высот и это будет явно проще. Да и утилит для этого несколько больше.
Sprite Lamp: динамическое освещение 2D-объектов