{"id":4008,"url":"\/distributions\/4008\/click?bit=1&hash=3e0e24714242dbbafe0bc5f0070ccccc83480de788b38ffe56426b16d15d7a5e","title":"\u0423\u0437\u043d\u0430\u043b\u0438, \u0447\u0435\u0433\u043e \u0436\u0434\u0443\u0442 \u043e\u0442 \u043d\u043e\u0443\u0442\u0431\u0443\u043a\u0430 \u043b\u044e\u0434\u0438 \u0440\u0430\u0437\u043d\u044b\u0445 \u043f\u0440\u043e\u0444\u0435\u0441\u0441\u0438\u0439","buttonText":"","imageUuid":"","isPaidAndBannersEnabled":false}

Создание стилизованного окружения — опыт автора ассетов для Unity Статьи редакции

Описание главных принципов.

Художник и автор ассет-пака для Unity под названием The Illustrated Nature Драгош Матковский в 2019 году опубликовал на сайте 80 Level текст, в котором подробно рассказал, как создавал свои живописные работы. Выбрали из текста главное.

По словам художника, его главная цель при создании ассетов заключалась в том, чтобы любой скриншот выглядел живописно — он стремился не к реализму, а к художественной ценности. Кроме того, для Драгоша было важно, чтобы каждый элемент мира ощущался живым.

Чтобы сделать листья, Драгош смоделировал простой меш из трёх пересекающихся квадратов с текстурой листа. Затем он создал «каркас» и наложил на него меши, чтобы это было похоже на скопление листвы на ветке. В результате получилось так, что все меши листьев имели нормали, которые смотрели в разные стороны. Автор отредактировал модели так, чтобы нормали были направлены наружу — благодаря этому скопление получилось более сглаженным.

Если разместить скопления листьев вдоль ветвей дерева, то они сформируют крону. Ствол и ветви сделаны с помощью сплайнов

Чтобы подготовить модель к вертексной анимации, Драгош раскрасил альфа-канал Vertex Color градиентом сверху вниз — это позволило управлять силой изгиба по оси Y. Затем он использовал зелёный канал, чтобы нарисовать ветви и листья, а также придать им дополнительное движение.

Для растительности Драгош использовал белые текстуры размером 256×256 с альфа-каналом. Все цвета в сцене можно легко и быстро поменять.

Художник рассказал, что он намеренно сделал все текстуры абстрактными. Например, листья представлены квадратами со скруглёнными углами
Так выглядит быстрая настройка цвета 

Растительность анимируется с помощью двух типов анимации — вертексной и UV. При этом оба типа реализованы на уровне шейдера.

Вертексная анимация используется для создания более крупных движений, например, раскачивания ветвей, а UV-анимация нужна, чтобы листья колыхались на ветру. Оба типа анимаций можно включать и выключать независимо друг от друга — это важно для лучшего контроля над производительностью.

В шейдере всё управляется при помощи глобальной noise-текстуры, которая влияет на весь игровой мир, а также управляет вертексным смещением и UV-анимацией текстур.

Драгош отметил, что особенно хорошо получилась UV-анимация листьев — именно она делает движения настолько достоверными. Чтобы добиться этого, автор просто двигал текстуру листьев синхронно с вертексным смещением. Такой же эффект применяется и к траве.

При компоновке объектов окружения Драгош всегда старался избегать очевидных паттернов и повторений. Он пытался ориентироваться на референсы из реальности, потому что стремился добиться общей правдоподобности. Это же касается и разных эффектов, например, отражений неба в воде.

Слева — реальное видео, справа — эффект

В местах, где игрок будет проводить больше всего времени, автор добавлял больше деталей и выставлял объекты так, чтобы они вели пользователя в определённом направлении.

Драгош разместил почти всё окружение при помощи Prefab Painter 2

Автор с самого начала хотел сделать цветовую гамму стилизованной, а не реалистичной. Он использовал Amplify Shader Editor для создания и настройки всех шейдеров.

Цвет воды можно задавать при помощи специального шейдера — он позволяет менять цвет у разных областей: на глубине, на мелководье, на точках соприкосновения с другими объектами. Эффект пены создаётся при помощи шума Перлина и добавляет воде деталей, благодаря чему она лучше сочетается с остальной графикой.

Ещё один шейдер отвечает за цвет дымки — автор добавил настройку, которая позволяет менять плотность тумана вблизи и вдали от камеры
0
92 комментария
Написать комментарий...
Ярослав

А вот это реально хорошая статья которую нужно заставлять изучать всем инди разработчиками что планируют выехать на стиле и лоупольности!

Ответить
Развернуть ветку
Dmitriy

Это в каком месте там лоупольность?)

Ответить
Развернуть ветку
2 комментария
Аккаунт удален

Комментарий недоступен

Ответить
Развернуть ветку
Необходимый волк

а погуглить имя автора и посмотреть, что он делал, я так понимаю, тебе религия не позволяет?

Ответить
Развернуть ветку
9 комментариев
Ярослав
"Художник и автор ассет-пака для Unity под названием The Illustrated Nature"

Первой же строчкой)
Любой может купить для своей игры) Идешь на маркетплейс и смотришь кто купил. Точнее написал отзыв и дал ссылку на свою игру)

Ответить
Развернуть ветку
12 комментариев
Владимир Семыкин
Автор

никак. Он сделал только набор ассетов

Ответить
Развернуть ветку
Аккаунт удален

Комментарий недоступен

Ответить
Развернуть ветку
13 комментариев
Артём Артёмов

Ну шо сказать, минус оптимизация у бедной игры

Ответить
Развернуть ветку
Ярослав

Это тестовый уровень для демонстрации ассет пака. Что бы выглядело максимально красиво и продаваемо)
По факту такой уровень графики только полный нуб оставит у себя) Ну или максимум катсцены на них будет делать и рендерить видео.

Ответить
Развернуть ветку
14 комментариев
Аккаунт удален

Комментарий недоступен

Ответить
Развернуть ветку
21 комментарий
Аккаунт удален

Комментарий недоступен

Ответить
Развернуть ветку
5 комментариев
Владислав Румянцев

https://youtu.be/dAba0YFxOGA
Протестил свою травушку. Тут травы, коси не хочу. На видеокарте 630M - это самая слабая видеокарта, которая поддерживает OpenGL 4.3. Характеристи писать не буду. Еще окружением толком не занимался, просто воткнул объекты на ландшафт.
5 видов трав, сделаны перекрекрестными полигонами с разными текстурами. Анимация только верхних вершин, передается только 2 значения в шейдер, для движения по 2 осям. FPS 10-30. Конечно если добавить моделей и анимационных персонажей, обработка светом упадет FPS. Но и еще не оптимизированно, дальнюю траву можно скосить, она там в таком объеме не нужна.

Ответить
Развернуть ветку
Владислав Румянцев

Если делать траву через скелетную анимацию, производительность упадет. А если гонять через таймер вершины, то это будет лучший вариант. Но еще раз скажу. Для отдельно стоящего куста не красиво.

Ответить
Развернуть ветку
Владислав Румянцев

Тоже делал через вертексную анимацию траву. Можно большие пространства заливать. Несколько типов текстур, инстенсинг, изменение координат верхних вершин (>0.0f). На калькуляторе будет незначительно тормозить и не заметно. Но вертексная анимация хороша как раз для большой заливки. Если сделать отдельный кустик, то смотрится некрасиво. Про анимацию с коорд.текстур интересно. Тоже надо попробовать. Особенно подойдет для деревьев. Тут видно заливка ландшафта травой с вертексной анимацией (видео старое).
https://youtu.be/ZkhuAwQH0A0

Ответить
Развернуть ветку
Ярослав
Про анимацию с коорд.текстур интересно. Тоже надо попробовать. Особенно подойдет для деревьев.

Только для листвы - если кидать этот эффект на стволы - деревья становятся очень "Криповыми" ибо они начинают шевелится . Издалека это не заметно - но вблизи становятся похожи на тентакли, так как такой способ шейдерной анимации приводит к визуальной пульсации меша.

Ответить
Развернуть ветку
1 комментарий
Харгард Морозный

Со стороны выглядит обалденно.
И стоит кстати недорого.
А вот вплотную, листве детальности уже не хватает.
И еще - не такое уж это и лоуполи.

Ответить
Развернуть ветку
AlexKnight

Вплотную и в RDR2 деревьям детальности не хватает. Увы, но это все еще сложная тема для реализации.

Ответить
Развернуть ветку
Kebeta Jazz

Сейчас можно просто TreeIt использовать для ваяния деревьев. Спокойно за минут десять можно наделать моделек даже для стилизации

Ответить
Развернуть ветку
Mark Quincy

Как не смешно, но именно деревья и другая растительность до сих пор идет по нож оптимизации и делать что-то с ними гиперсложное всегда боль, а если к этому накладывается реалистичный стиль то вообще беда, для игр от 3 и 1 лица

Ответить
Развернуть ветку
Денис Щепин

Ам... Может быть кто-то из знающих Маю подскажет как повторить накладывание листьев на наш примитив, как на гифки. Чтобы располагался в центре фэйса и потом можно было с дублировать на остальные?

Ответить
Развернуть ветку
Ярослав

Используй инструмент XGEN - им еще волосы делают

Ответить
Развернуть ветку
Анна Ермакова

полезная статья для разработчиков

Ответить
Развернуть ветку
Духнич Дмитрий

Спасибо за Gamedev👍

Ответить
Развернуть ветку
Gordon Freeman

офигенно.
криворуким из лонг дарк покажите кто-нить.

Ответить
Развернуть ветку
Читать все 92 комментария
null