Пишем свой аналог Substance Painter внутри Godot 4: процедурные шейдеры, кисти Фотошоп и BVH‑рейкастинг на лету
Habr ·

Думаю, многие инди‑разработчики сталкивались с ситуацией: делая небольшую игру в Godot, вам хотелось просто взять кисточку и нарисовать грязь, мох или потёртости прямо поверх 3D‑модели в самом редакторе движка. Нужно добавить немного грязи по краям — и начинается: уходим в Blender / 3D Coat / тяжёлый Substance Painter, текстурируем, печём маски, экспортируем, возвращаем в движок, смотрим во вьюпорте, находим косяк, повторяем. Для продакшен‑ассета это нормальный пайплайн, для прототипа или маленькой инди‑игры — непомерно дорого по времени. К тому же, мне посчастливилось (или не очень) быть обладателем довольно‑таки старенького ПК прямиком из 2008 года, а это, на минутку, Core 2 Duo E8400, 6 GB RAM DDR2 (расширенные из 2 GB, потому что иначе выжить невозможно, хах), ATI Radeon HD Series 4600. Использование таких программ, как Substance, для меня невозможно в принципе (если только не ковырять какие‑то совсем древние версия, в работоспособности которых с данной конфигурацией я тоже не уверен), Blender выше версии 2.79 открывается только с программной эмуляцией Mesa3D , что делает его непригодным для комфортного использования. В итоге мой арсенал — Cinema 4D R21 , 3DS Max для особых случаев, Blender с костылями — только на крайний случай в качестве комбайна. Также проблема в том, что версии Godot выше 4.4.1 я не могу запускать физически — новые сборки требуют поддержки от процессора инструкций AVX (и, вероятно, SSE4.2), коих у меня нету, а существующие решения для Godot часто либо предназначены для новых версий Godot (4.5/4.6+), либо слишком громоздки, либо вовсе сломаны (как VPainter, оставшийся в эпохе Godot 3). Читать далее...
Думаю, многие инди‑разработчики сталкивались с ситуацией: делая небольшую игру в Godot, вам хотелось просто взять кисточку и нарисовать грязь, мох или потёртости прямо поверх 3D‑модели в самом редакторе движка. Нужно добавить немного грязи по краям — и начинается: уходим в Blender / 3D Coat / тяжёлый Substance Painter, текстурируем, печём маски, экспортируем, возвращаем в движок, смотрим во вьюпорте, находим косяк, повторяем. Для продакшен‑ассета это нормальный пайплайн, для прототипа или маленькой инди‑игры — непомерно дорого по времени. К тому же, мне посчастливилось (или не очень) быть обладателем довольно‑таки старенького ПК прямиком из 2008 года, а это, на минутку, Core 2 Duo E8400, 6 GB RAM DDR2 (расширенные из 2 GB, потому что иначе выжить невозможно, хах), ATI Radeon HD Series 4600. Использование таких программ, как Substance, для меня невозможно в принципе (если только не ковырять какие‑то совсем древние версия, в работоспособности которых с данной конфигурацией я тоже не уверен), Blender выше версии 2.79 открывается только с программной эмуляцией Mesa3D , что делает его непригодным для комфортного использования. В итоге мой арсенал — Cinema 4D R21 , 3DS Max для особых случаев, Blender с костылями — только на крайний случай в качестве комбайна. Также проблема в том, что версии Godot выше 4.4.1 я не могу запускать физически — новые сборки требуют поддержки от процессора инструкций AVX (и, вероятно, SSE4.2), коих у меня нету, а существующие решения для Godot часто либо предназначены для новых версий Godot (4.5/4.6+), либо слишком громоздки, либо вовсе сломаны (как VPainter, оставшийся в эпохе Godot 3). Читать далее...