Comments 74
Извиняюсь, но он сделал не движок, а программку для генерации карты нормалей из четырех черно-белых картинок, так ведь?
Скрытый текст
да
Думаю, что по алгоритму не особо сложно сделать «движок»
Не совсем. Смотреть на тень от руки в последней гифке либо перейти по ссылке на оригинал.
На первый взгляд впечатляет. Неплохо придает объему.
Это же обычный bump mapping.
Ничего нового он не придумал. А тот, кто сделал из этого новость, видимо тоже никогда раньше не слышал об этом.
Ничего нового он не придумал. А тот, кто сделал из этого новость, видимо тоже никогда раньше не слышал об этом.
Не обычный. Для bump mapping нужна карта нормалей, которую не так просто сделать для такого спрайта зомби как в статье. Куда проще нарисовать освещение с нескольких сторон. Здесь же обратный алгоритм — построение карты нормалей из нескольких освещенных картинок. Ну а после того как карта нормалей есть — там да, обычный bump mapping.
Чем описанное в статье отличается от этого (та же самая интерактивность, только на javascript)?
29a.ch/2010/3/24/normal-mapping-with-javascript-and-canvas-tag
29a.ch/2010/3/24/normal-mapping-with-javascript-and-canvas-tag
Если не ошибаюсь, данный метод используется у Double Fine Adventure в Broken Age. GDC: Broken Age's Approach to Scalability
Если прикинуть, то на каждый кадр нужно отдеьно рисовать по 4 рисунка. Из этих 4 рисунков на выходе получается вроде как обычная карта нормалей. Мне кажется легче художнику сгенерить обычную карту нормалей а потом ручками ее подправить под требуемую.
Эм… так к каждому спрайту рисовать по 3-5 изображений?
Если у нас 15 разных персонажей (это не много вроде) и по 15 состояний у каждого. То получается нам надо отрисовать 675 картинок в лучшем случае… И я так понимаю это надо сделать ручками…
Или я чего-то не понимаю?
Если у нас 15 разных персонажей (это не много вроде) и по 15 состояний у каждого. То получается нам надо отрисовать 675 картинок в лучшем случае… И я так понимаю это надо сделать ручками…
Или я чего-то не понимаю?
Так и хочется сказать, «alizar ведь». Но не скажу. Вот.
Процесс искусственно усложнен в 4 раза. Зачем? Без понятия.
А что если у нас есть, скажем, фонарь, под которым проходит этот зомби? Или просто фонарик у ГГ.
Хм, и в чем проблема?
Вручную рисовать придётся намного больше четырёх спрайтов, если мы хотим нечто подобное тому, что есть в посте.
Если только вы не имели в виду, что достаточно нарисовать карту высот, карту диффузии и карту нормалей.
Если только вы не имели в виду, что достаточно нарисовать карту высот, карту диффузии и карту нормалей.
Я имел ввиду нарисовать карту высот и из нее вычислить карту нормалей. Что вы понимаете под картой диффузии я не совсем уверен.
Судя по оценкам, я сморозил какую-то несусветную глупость. Просветит меня кто-нибудь?
Эм, а чем хуже нормалки?
Скрытый текст
это оно и есть
Скрытый текст
Почему вы отвечаете скрытым текстом? :-)
Скрытый текст
Таки почему вы спрашиваете?
Открытый текст
Заканчивайте.
Заканчивайте.
Скрытый текст
Не
хочу
заканчивать
.
Со
спойлерами
веселее!
Скрытый текст
Скрытый текст
Скрытый текст
Скрытый текст
Скрытый текст
Скрытый текст
Скрытый текст
Вам не надоело?
Скрытый текст
Скрытый текст
Скрытый текст
Скрытый текст
Скрытый текст
Скрытый текст
Скрытый текст
У вас стальные нервы.
Скрытый текст
Скрытый текст
Скрытый текст
Скрытый текст
Скрытый текст
Скрытый текст
Скрытый текст
Скрытый текст
Скрытый текст

Напоминает вот это — orteil.dashnet.org/nested.
Шикарная вещь. Мысли особенно примечательны. :)
Я скорее вдохновлялся смертями в The Lost Vikings. Там персонажи после каждого третьего возрождения (после смерти уровень начинался заново) выдавали смешные реплики вроде «Парни, у меня дежа-вю» или «Как насчёт поселиться здесь?». Диалогов было десять-пятнадцать. Под конец герои уже обращались к игроку с просьбой перестать их убивать. :) Для самых терпеливых был диалог после сотни смертей.
Я скорее вдохновлялся смертями в The Lost Vikings. Там персонажи после каждого третьего возрождения (после смерти уровень начинался заново) выдавали смешные реплики вроде «Парни, у меня дежа-вю» или «Как насчёт поселиться здесь?». Диалогов было десять-пятнадцать. Под конец герои уже обращались к игроку с просьбой перестать их убивать. :) Для самых терпеливых был диалог после сотни смертей.
Захватывающий квест!
Я дошел до котика
Я дошёл до ручки

Не так уж и далеко запрятано. (:
Вот тут francoislaberge.com/labs/normal_mapping/me/ демка, которой уже несколько лет.
Это же эффект из демок, наверное каждая пятая демка, для ZX-Spectrum, имеет этот эффект.
Вот демо, с этим эффектом:
www.youtube.com/watch?v=rIncbxgg6Jk
www.youtube.com/watch?v=rIncbxgg6Jk
Охх. Каждый раз, когда читаю финальный скролл, становится стыдно за свой английский в те времена =)
Как вы ненавязчиво заявили авторство (%.
Мне показалось или там встречается попиксельная раскраска кадра? А как это сделано, если цвет управлялся на уровне знакоместа?
Отрисовка синхронно с ходом луча.
Мультиколоры в поле кадра 4х4 пикселя. А на бордюре можно рисовать пикселями 8*1 со смещением в 2 пикселя. На пентагоне. На оригинальном спектруме ULA не позволяет такие вольности.
Мультиколоры в поле кадра 4х4 пикселя. А на бордюре можно рисовать пикселями 8*1 со смещением в 2 пикселя. На пентагоне. На оригинальном спектруме ULA не позволяет такие вольности.
Нагнал я про 8*1. 1 такт cpu = 2 пикселя на экране. Соотвественно получается минимальный размер «бордюрного пикселя» это 22х1 или 24х1 в зависимости от типа команды out
А почему нельзя вместо 4-х картинок, нарисовать всего 1: черно-белую карту высот и из нее элементарно построить карту нормалей?
Вот простой урок как в Unity сделать похожий эффект: http://robotloveskitty.tumblr.com/post/33164532086/legend-of-dungeon-dynamic-lighting-on-sprites
Да проще уже сразу 3D модель сделать
А по паре фотографий карту высот построить сможет?
Когда-то и я примерно так же коряво делал. А потом узнал про карту нормалей и высот.
Но я по крайней мере делал для спектрума так, считать было проще, но с современными вычислительными мощами это выглядит большим извращением.
P.S. посмотрел скрин, увидел карту нормаоей, но зачем так сложно? Проще сделать по карте высот.
Но я по крайней мере делал для спектрума так, считать было проще, но с современными вычислительными мощами это выглядит большим извращением.
P.S. посмотрел скрин, увидел карту нормаоей, но зачем так сложно? Проще сделать по карте высот.
Ого, «Финн Морган (Finn Morgan) разработал очень интересную и полезную технологию»!
А я дурак думал это обычный бамп/нормал маппинг и применял в своем движке: youtu.be/AjsxiHZa3Og
А я дурак думал это обычный бамп/нормал маппинг и применял в своем движке: youtu.be/AjsxiHZa3Og
Тоже активно использую :) Буквально недавно демку записал www.youtube.com/watch?v=GFPauCAjjjw
А разве в Confederate Express используется не похожая система?
habrahabr.ru/post/198626/#comment_6895788
habrahabr.ru/post/198626/#comment_6895788
Когда я делал свой 2д движок, я тоже опирался на то, что он должен уметь делать красивое объемное освещение и вообще всячески дружить с шейдерами.
Но вот карту нормалей можно построить из одной единственной карты высот и это будет явно проще. Да и утилит для этого несколько больше.
Но вот карту нормалей можно построить из одной единственной карты высот и это будет явно проще. Да и утилит для этого несколько больше.
Кмк в таком случае художнику будет проще и понятнее работать с z-координатой, то есть вокселями, чем мучаться над 4 освещенными проекциями.
Sign up to leave a comment.
Sprite Lamp: динамическое освещение 2D-объектов