Создание стилизованного окружения — опыт автора ассетов для Unity Статьи редакции
Описание главных принципов.
Художник и автор ассет-пака для Unity под названием The Illustrated Nature Драгош Матковский в 2019 году опубликовал на сайте 80 Level текст, в котором подробно рассказал, как создавал свои живописные работы. Выбрали из текста главное.
По словам художника, его главная цель при создании ассетов заключалась в том, чтобы любой скриншот выглядел живописно — он стремился не к реализму, а к художественной ценности. Кроме того, для Драгоша было важно, чтобы каждый элемент мира ощущался живым.
Чтобы сделать листья, Драгош смоделировал простой меш из трёх пересекающихся квадратов с текстурой листа. Затем он создал «каркас» и наложил на него меши, чтобы это было похоже на скопление листвы на ветке. В результате получилось так, что все меши листьев имели нормали, которые смотрели в разные стороны. Автор отредактировал модели так, чтобы нормали были направлены наружу — благодаря этому скопление получилось более сглаженным.
Чтобы подготовить модель к вертексной анимации, Драгош раскрасил альфа-канал Vertex Color градиентом сверху вниз — это позволило управлять силой изгиба по оси Y. Затем он использовал зелёный канал, чтобы нарисовать ветви и листья, а также придать им дополнительное движение.
Для растительности Драгош использовал белые текстуры размером 256×256 с альфа-каналом. Все цвета в сцене можно легко и быстро поменять.
Растительность анимируется с помощью двух типов анимации — вертексной и UV. При этом оба типа реализованы на уровне шейдера.
Вертексная анимация используется для создания более крупных движений, например, раскачивания ветвей, а UV-анимация нужна, чтобы листья колыхались на ветру. Оба типа анимаций можно включать и выключать независимо друг от друга — это важно для лучшего контроля над производительностью.
В шейдере всё управляется при помощи глобальной noise-текстуры, которая влияет на весь игровой мир, а также управляет вертексным смещением и UV-анимацией текстур.
Драгош отметил, что особенно хорошо получилась UV-анимация листьев — именно она делает движения настолько достоверными. Чтобы добиться этого, автор просто двигал текстуру листьев синхронно с вертексным смещением. Такой же эффект применяется и к траве.
При компоновке объектов окружения Драгош всегда старался избегать очевидных паттернов и повторений. Он пытался ориентироваться на референсы из реальности, потому что стремился добиться общей правдоподобности. Это же касается и разных эффектов, например, отражений неба в воде.
В местах, где игрок будет проводить больше всего времени, автор добавлял больше деталей и выставлял объекты так, чтобы они вели пользователя в определённом направлении.
Автор с самого начала хотел сделать цветовую гамму стилизованной, а не реалистичной. Он использовал Amplify Shader Editor для создания и настройки всех шейдеров.
Цвет воды можно задавать при помощи специального шейдера — он позволяет менять цвет у разных областей: на глубине, на мелководье, на точках соприкосновения с другими объектами. Эффект пены создаётся при помощи шума Перлина и добавляет воде деталей, благодаря чему она лучше сочетается с остальной графикой.
А вот это реально хорошая статья которую нужно заставлять изучать всем инди разработчиками что планируют выехать на стиле и лоупольности!
Это в каком месте там лоупольность?)
Комментарий недоступен
а погуглить имя автора и посмотреть, что он делал, я так понимаю, тебе религия не позволяет?
Первой же строчкой)
Любой может купить для своей игры) Идешь на маркетплейс и смотришь кто купил. Точнее написал отзыв и дал ссылку на свою игру)
никак. Он сделал только набор ассетов
Комментарий недоступен
Ну шо сказать, минус оптимизация у бедной игры
Это тестовый уровень для демонстрации ассет пака. Что бы выглядело максимально красиво и продаваемо)
По факту такой уровень графики только полный нуб оставит у себя) Ну или максимум катсцены на них будет делать и рендерить видео.
Комментарий недоступен
Комментарий недоступен
https://youtu.be/dAba0YFxOGA
Протестил свою травушку. Тут травы, коси не хочу. На видеокарте 630M - это самая слабая видеокарта, которая поддерживает OpenGL 4.3. Характеристи писать не буду. Еще окружением толком не занимался, просто воткнул объекты на ландшафт.
5 видов трав, сделаны перекрекрестными полигонами с разными текстурами. Анимация только верхних вершин, передается только 2 значения в шейдер, для движения по 2 осям. FPS 10-30. Конечно если добавить моделей и анимационных персонажей, обработка светом упадет FPS. Но и еще не оптимизированно, дальнюю траву можно скосить, она там в таком объеме не нужна.
Если делать траву через скелетную анимацию, производительность упадет. А если гонять через таймер вершины, то это будет лучший вариант. Но еще раз скажу. Для отдельно стоящего куста не красиво.
Тоже делал через вертексную анимацию траву. Можно большие пространства заливать. Несколько типов текстур, инстенсинг, изменение координат верхних вершин (>0.0f). На калькуляторе будет незначительно тормозить и не заметно. Но вертексная анимация хороша как раз для большой заливки. Если сделать отдельный кустик, то смотрится некрасиво. Про анимацию с коорд.текстур интересно. Тоже надо попробовать. Особенно подойдет для деревьев. Тут видно заливка ландшафта травой с вертексной анимацией (видео старое).
https://youtu.be/ZkhuAwQH0A0
Только для листвы - если кидать этот эффект на стволы - деревья становятся очень "Криповыми" ибо они начинают шевелится . Издалека это не заметно - но вблизи становятся похожи на тентакли, так как такой способ шейдерной анимации приводит к визуальной пульсации меша.
Со стороны выглядит обалденно.
И стоит кстати недорого.
А вот вплотную, листве детальности уже не хватает.
И еще - не такое уж это и лоуполи.
Вплотную и в RDR2 деревьям детальности не хватает. Увы, но это все еще сложная тема для реализации.
Сейчас можно просто TreeIt использовать для ваяния деревьев. Спокойно за минут десять можно наделать моделек даже для стилизации
Как не смешно, но именно деревья и другая растительность до сих пор идет по нож оптимизации и делать что-то с ними гиперсложное всегда боль, а если к этому накладывается реалистичный стиль то вообще беда, для игр от 3 и 1 лица
Ам... Может быть кто-то из знающих Маю подскажет как повторить накладывание листьев на наш примитив, как на гифки. Чтобы располагался в центре фэйса и потом можно было с дублировать на остальные?
Используй инструмент XGEN - им еще волосы делают
полезная статья для разработчиков
Спасибо за Gamedev👍
офигенно.
криворуким из лонг дарк покажите кто-нить.