Стилизованная (трава) для маленьких. Часть 1

Если ты читаешь это то у тебя проблемы. Ютуб не помогает и тормозит даже на парковке а твой кабанчик хочет видеть низкополигональный луг по утру.

Для тебя мой друг есть аж 2 способа сделать по красоте от простого к сложному. (Сейчас мы рассмотрим только первый вариант)

В этом примере трава нежная и шелковистая.{844C09EA-7E29-47CE-B4FF-FE6E1F8AA732}.png

Весь цвет берется из текстуры на лендскейпе (Не важно что именно) какой то рандомный цвет или картинка.

Но обязательно ознакомься с моей прошлой статьёй про создание лендскейпа. https://render.ru/ru/Bezdarnost/post/23568

Вот так выглядит полный набор нод для для того что бы все работало. Но видеть мало! надо ещё и понимать.

{0752F085-5243-4DB3-B551-B9DEEC78BF1A}.png

Давайте пройдёмся по каждому пункту что бы было по понятней

{82561F55-FCF9-476C-8C52-0591B28B8D12}.png

(Opacity Mask) Мы берем простую форму (плашку) и с помощью черно-белой маски «вырезаем» из неё детальный силуэт травинок. Это позволяет отрисовывать тысячи травинок, не нагружая видеокарту сложной геометрией.

{01567957-51E7-4DF9-9277-3EC7F25D003C}.png

(Base Color) Главная задача здесь — «пришить» траву к ландшафту, чтобы она не смотрелась инородно.
Смешивание через RVT: Вместо того чтобы просто задать траве зеленый цвет, шейдер берет информацию о цвете прямо из-под «ног» модели (из текстуры земли).
Зачем это нужно: Это создает идеальный переход. Если на земле пятно песка — трава над ним тоже станет желтоватой. Это убирает эффект «вставных зубов», когда четко видна граница между моделью травы и поверхностью мира.

{5FFDA624-8A0F-42C3-BE37-9EFCE0DD69D5}.png

(Drawing of Grass) Чтобы поле не выглядело как однообразное зеленое полотно, в шейдер заложена динамика пятен.
Мировые координаты: Маска шума накладывается не на каждый кустик отдельно, а на всё пространство целиком. Это создает эффект крупных цветовых пятен по всему лугу.
Движение цвета: Благодаря анимации (Panner), эти пятна медленно ползут. Зритель видит не просто статичную картинку, а живую игру света и тени, как будто по полю гуляют тени от облаков.

{AE1476F3-DEEE-4F77-A1CF-793A7B7EE17D}.png

(Wind)Математика изгиба: Чтобы трава не двигалась как картонная декорация, используется градиент по высоте. Система «понимает», где у модели низ, а где верх.
Результат: Основание куста жестко зафиксировано в земле, а кончики активно реагируют на ветер. Это дает естественный силуэт качающегося растения.

{2C8AC663-7F15-49A7-A0A3-4FBF547F1FE6}.png

(Normal) Единый вектор: По умолчанию каждый полигон в пучке травы светится по-разному, из-за чего куст выглядит «битым» и резким. Здесь же нормали принудительно направлены вверх.
Эффект: Свет падает на всё поле равномерно. Трава кажется мягкой, объемной и пушистой, как единый ковер, а не как набор острых треугольников. Плюс, это скрывает швы на стыках геометрии.

И если подводит итог всего этого.

Она не «жрет» ресурсы, потому что вместо сложной 3D-лепки тут работают умные текстуры.
Она живая: колышется на ветру именно макушками, а не летает всем кустом.
Она мягкая: благодаря хитрости с нормалями, она выглядит как пушистый ковер, в который хочется прыгнуть, а не как набор острых треугольников.

552 0 850 2
0
RENDER.RU