Візуалізація рослин: трава

  1. зміни

У цій статті описується, як реалізувати трав'яний покрив за допомогою системи частинок.

Сцена складається з наступних ключових об'єктів: поверхню землі, яка виступає в ролі генератора частинок (ground), набір з п'яти різновидів снопів трави (grass_1-5), і великий камінь-валун (stone), службовець джерелом тіні. Службові об'єкти: об'єкт пустушка для фіксації фокуса камери (Empty) і джерело вітру (Field)

Службові об'єкти: об'єкт пустушка для фіксації фокуса камери (Empty) і джерело вітру (Field)

Підготовку сцени почнемо з виготовлення білбордів трави. Білборди будуть не плоскі, а злегка викривлені для імітації обсягу.

Білборди будуть не плоскі, а злегка викривлені для імітації обсягу

Призначимо площинах матеріал, що містить текстуру травинок з маскою прозорості. Текстура трави продемонстрував нижче (колірна складова і альфа-канал). Зверніть увагу, що в колірної складової навколо травинок передбачений певним чином нанесений неконтрастний фон. Це дозволяє уникнути mipmap артефактів. Артефакти проявляються на відстані від камери (коли WebGL використовує текстуру з низьким дозволом), якщо фон за межами маски залишений контрастним (чорним або білим).

Артефакти проявляються на відстані від камери (коли WebGL використовує текстуру з низьким дозволом), якщо фон за межами маски залишений контрастним (чорним або білим)

Схема нодів матеріалу трави:

Схема нодів матеріалу трави:

Налаштування прозорості:

Налаштування прозорості:

Наступним кроком буде тиражування трави по галявині. В уроці використовується об'єкт в формі диска з помірною деталізацією. Для того, щоб згладити перехід між вертикально орієнтованими білбордами і горизонтальної землею, потрібно підібрати текстуру з відповідною кольоровою гамою.

Для того, щоб згладити перехід між вертикально орієнтованими білбордами і горизонтальної землею, потрібно підібрати текстуру з відповідною кольоровою гамою

Схема матеріалу підкладки під траву приведена нижче:

Схема матеріалу підкладки під траву приведена нижче:

Тепер займемося посадкою трави. Для тиражування трави використовується група об'єктів, які випадковим чином розподіляються на обраному ділянці заважав. Район розподілу часток обмежується групою вершин grass_1.

Район розподілу часток обмежується групою вершин grass_1

На панелі Render потрібно вибрати поведінку Billboard з випадковим типом обертання - Random. Кнопки Wind bending дозволяють вибрати, який об'єкт буде являтся джерелом налаштувань для ефекту колихання на вітрі. Є кнопки Parent (батько) і Instance (екземпляр). В даному випадку нас цікавить опція Instance, так як саме з трави будуть скопійовані настройки ефекту.

В даному випадку нас цікавить опція Instance, так як саме з трави будуть скопійовані настройки ефекту

Вертексний колір дає можливість забарвити тиражовану траву в кольори вершин заважав. В даному прикладі вершини заважав землі пофарбовані в усереднені кольору дифузійної составляюшей матеріалу ground. Таким чином досягається різноманітність за кольором трав'яного покриву, а так само велика схожість колірної гами трави і підкладки.

Параметри запікання в кольори вершин заважав:

Налаштування ефекту колихання на вітрі налаштовуємо на об'єктах з групи grass. В налаштуваннях доступний кут відхилення від центру об'єкта (Angle) і частота коливання (Frequency). Для роботи даного ефекту обов'язково потрібно джерело вітру.

Для роботи даного ефекту обов'язково потрібно джерело вітру

Посилання на інтерактивну сцену

Вихідний blend-файл ви можете знайти в Blend4Web SDK в директорії: blend4web / blender / tutorials / basic / grass /.

зміни

[2014-05-15] Початкова публікація.

[2014-07-07] Вилучена друга вертексних група для розподілу трави, тому що вона не чинила суттєвого впливу на кінцевий результат.

[2015-09-10] Текст та ілюстрації змінені у зв'язку з оновленням інтерфейсу.

[2017-01-12] Виправлені некоректні / биті посилання.