Как стать автором
Обновить

Рендеринг прекрасных кадров God of War на PC

Время на прочтение23 мин
Количество просмотров7.5K

После выпуска God of War на PC я был просто обязан попробовать её. Я играю с 90-х годов, поэтому совершенно не против снова и снова проходить игру с линейным сюжетом. В этом есть большая ценность. На данный момент моей самой переигрываемой линейной игрой является Max Payne (первая часть), я целиком проходил её на разных платформах более 15 раз. Но всё равно чаще всего я играю на PC. Когда я впервые играл в GoW на PS4, то надеялся приобрести её для PC, мне нравится коллекционировать игры и ачивки Steam, поэтому благодаря выпуску игры для компьютера я решил снова к ней вернуться. Но на этот раз я решил прихватить с собой рабочие инструменты, ведь мне было очень любопытно, как устроен движок/рендерер этой игры.

В этом нет ничего нового для меня, я переигрываю в любимые игры и изучаю их технологии; насколько я помню, этот синдром появился с Max Payne 3, и с тех пор я много раз я пробовал делать это с другими играми, но, к сожалению, так никогда и не завершил ни одной статьи. Я выполняю захваты кадров, рассматриваю их, делаю какие-то заметки, начинаю сохранять скриншоты, а потом бах! — и начинаю заниматься чем-то другим. Последними двумя жертвами моей лени стали The Medium и Halo Infinite, возможно, я когда-нибудь их закончу, выпущу черновик поста и освобожу кучу места, которую занимают их файлы! Однако с GoW получилась совершенно иная история: как только я получил письмо со Steam о выпуске игры, я решил переиграть её, по крайней мере, ради ачивок, а также на этот раз завершить анализ рендеринга.
Читать дальше →
Всего голосов 27: ↑27 и ↓0+27
Комментарии0

Cell Shading. Имитация плоского в объёме или как сделать аниме без аниме

Время на прочтение9 мин
Количество просмотров21K

После долгого перерыва с вами вновь рубрика 3D для чайников, и сегодня мы вам поведаем в двух словах о том, что такое cell shading, как он облегчает работу мультипликаторам и одновременно упрощает и усложняет её тридешникам, а также увеличивает стоимость новых «плоских» мультиков и удешевляет игры.
Читать дальше →
Всего голосов 67: ↑66 и ↓1+65
Комментарии17

Вычисление касательного базиса налету

Время на прочтение8 мин
Количество просмотров1.9K

Этот пост написан автором в далёком 2013 году как дополнение к статье из 2006 года. Тем не менее, предпосылки к отказу от хранения предрассчитанных касательных справедливы и в 2022, а вывод формул изложен понятно и без излишеств. В наше время расчёт касательных для каждого пикселя обычно работает быстрее чем их выборка из буфера вершин. Давайте же разберёмся как из интерполированной нормали, координат вершины и текстурных координат сделать правильный базис касательного пространства прямо во фрагментном шейдере.

Читать далее
Всего голосов 6: ↑6 и ↓0+6
Комментарии0

Шейдеры, голограммы и утечка света на чистом CSS

Время на прочтение7 мин
Количество просмотров3.8K

К старту курса по Fullstack-разработке на Python рассказываем, как на чистом современном CSS имитировать шейдеры аккуратным наложением слоёв и эффектов. За подробностями и демонстрациями приглашаем под кат.

Читать далее
Всего голосов 4: ↑4 и ↓0+4
Комментарии2

Технологии UNIGINE 2: визуальный редактор материалов

Время на прочтение8 мин
Количество просмотров3.7K

Если во времена Half-Life 2 в моде были фототекстуры, то сегодня материалы поверхностей в 3D-графике реального времени воссоздаются с нуля. Для этого используются шейдеры, написанные программным кодом. Но не все художники владеют программированием! Специально для них в UNIGINE 2 есть визуальный редактор материалов, в котором большинство операций прозводится простым соединением узлов (нод) в граф. Так можно быстро прототипировать и создавать сложные материалы, которые не только имеют правдоподобный рельеф, но еще и взаимодействуют со светом как в жизни.

В этой статье расскажем про то, как устроены материалы в UNIGINE 2, а также как работает наш визуальный редактор материалов.

Читать далее
Всего голосов 10: ↑9 и ↓1+8
Комментарии4

Делаем крутые эффекты с помощью Animation Curve

Время на прочтение6 мин
Количество просмотров4.2K

Всем привет. Меня зовут Гриша Дядиченко, и я технический продюсер. Сегодня мы поговорим о том, как жить без математики или почему можно делать интересные визуальные эффекты и шейдеры с нулевыми познаниями в построении сложных 2д кривых. Так же разберём Unity Animation Curve. Если вам интересна тема генерации текстур, кастомных редакторов, шейдеров и визуальных эффектов — добро пожаловать под кат!

Читать далее
Всего голосов 4: ↑4 и ↓0+4
Комментарии1

Обновление Flutter 3.7: перевод официального релиза и комментарии

Время на прочтение12 мин
Количество просмотров3.1K

Улучшенная поддержка Material 3, обновления DevTools, новые виджеты – Google представил очередное обновление кроссплатформенного фреймворка.
По традиции, команда Flutter-разработчиков
Friflex делится первым переводом официального релиза новой версии фреймворка с комментариями.

Читать далее
Всего голосов 12: ↑12 и ↓0+12
Комментарии2

Способы замены цветов текстур при помощи Shader Graph в Unity

Время на прочтение11 мин
Количество просмотров3.7K

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

В статье приведены примеры в Shader Graph, однако есть и ссылки на документацию Shader Graph (Node Library), где можно просмотреть сгенерированный код на HLSL.

Эти методики могут использоваться в следующих случаях:

  • Цвета игроков/команд, например, в RTS или в многопользовательских командных играх, или для изменения внешнего вида игрока.
  • Вариации цветов на пропсах окружения, растительности/листве, вариантах врагов и так далее.
  • Настраиваемые цвета и линейные градиенты, применяемые для VFX/эффектов частиц.
  • Заменяемые цвета палитры для пиксель-арта (спрайтов/карт тайлов). Могут использоваться для эстетики или связаны с геймплеем.
  • Эффекты постобработки, но это уже выходит за рамки моего поста.

Обычно в таких методиках в качестве входных данных используются какие-то текстуры (однако некоторые могут работать с шумами или процедурными формами, созданными из функций расстояний со знаком). Кроме того, неважно, будут ли использоваться текстуры для 3D-модели, 2D-спрайта, UI и так далее.
Читать дальше →
Всего голосов 5: ↑5 и ↓0+5
Комментарии0

Движок C3D Vision управляет отображением 3D-текстур «на лету»

Время на прочтение5 мин
Количество просмотров1.9K

Движок визуализации C3D Vision пополнился новым функционалом. Теперь у пользователей есть возможность создания объемных текстур и отображения их в сцене. В этой заметке мы расскажем об объектах API Vision, непосредственно работающих с текстурами, а также продемонстрируем на уровне кода, как с этими объектами может взаимодействовать пользователь.

Читать далее
Всего голосов 5: ↑5 и ↓0+5
Комментарии12

Как создать анимированные шейдеры в Jetpack Compose

Уровень сложностиПростой
Время на прочтение3 мин
Количество просмотров2.8K
Jetpack Compose — молодой, но бурно развивающийся фреймворк для разработки под Android, который обладает множеством не всегда очевидных фичей. Сегодня я хотел бы описать одну из таких встроенных возможностей: речь идет об использовании OpenGL-шейдеров. Они позволяют делать красивые анимированные интерфейсы, как на картинке ниже.
image
Читать дальше →
Всего голосов 13: ↑13 и ↓0+13
Комментарии12
12 ...
7