Почнемо
Я зроблю свій кущ повністю з нуля, хай новим кущем буде борщівник.
Спочатку схожу і зроблю текстури.
За своєю природою кущі мають складну будову листа, тому фон у нових текстур має бути прозорим. Також не забувайте, що ствол повинен проходити по центру малюнка, тому що надалі це полегшить процес текстурування моделі.
Текстури готові, тепер зберігаємо їх у .tga та імпортуємо через SDK
Створення моделі
Переходимо до моделювання, використовую 3d Max 8 .
Найпростіший і економічний спосіб побудови куща – це створення двох перехрещених площин із прозорими текстурами. Наприклад, ось так:
Тепер налаштовуємо матеріали.
Вибираємо STALKER Mtl та задаємо параметри матеріалу нашого куща:
- Engine Shader: flora\leaf_wave
- Compiler Shader: flora\leaf
- Game Material: materials\bush
Привласнюємо матеріалу заготовлену текстуру та накладаємо її на модель.
Повинно вийти так:
У такий же спосіб робимо решту частин.
Якщо ви плануєте рясно засаджувати новими кущами рівні, намагайтеся вкластися в 100 полігонів для куща в цілому, щоб не навантажувати гру.
У моєму випадку борщівник повинен рости практично повсюдно, тому я віддав перевагу полегшеному варіанту моделювання. Якщо ж ваші плани не відрізняються такою масштабністю, можна використовувати складнішу геометрію.
Через деякий час у мене вийшла така модель:
Поки що не дуже вражає, але не варто звертати на це уваги.
Тепер зробимо «фуфло», воно нам знадобиться для того, щоб від куща відлітало листя, коли його щось зачіпає. Для цього потрібно створити зону дії, при проходженні якої летітиме це саме «фуфло». Я взяв сплайн і створив два порожні багатокутники, один усередині іншого. Причому їх розмір має бути трохи вже самого куща.
Поміщаємо їх у центр нашого куща:
Створюємо матеріал для цієї зони та налаштовуємо його:
- Engine Shader: def_shaders\def_trans
- Compiler Shader: flora\flora_collision
- Game Material: materials\bush
Привласнюємо новому матеріалу текстуру tree_fuflo.dds із папки tree .
Наша модель готова, виділяємо її та експортуємо до SDK.
Налаштування в Level Editor
Запускаємо Level Editor і йдемо в objects \ Library editor . Знаходимо нашу модель, відзначаємо галочку навпроти preview і клацаємо по кнопці Properties .
У вікні тиснемо на Main Options , у полі Object Type вибираємо Multiple Usage .
Зберігаємо зміни кнопкою Save .
Тепер створюємо LODи , для цього потрібно натиснути на Make LOD (High Quality) , на питання системи відповісти yes і відзначити моделі, для яких ми хочемо створити LOD-текстури, в даному випадку ми відзначаємо нашу модель.
Тиснемо OK і чекаємо деякий час.
Залежно від складності нового куща та апаратних характеристик комп'ютера, процедура може тривати від хвилини і більше.
При успішному створенні має з'явитися повідомлення:
Все, новий кущ готовий, залишилося перевірити його на працездатність, попередньо не забувши перенести нові текстури куща і нові LOD з папки lod, встановленого SDK в папку з грою.
Результати
У Level Editor:
У грі
У грі на максимальних налаштуваннях з графічним модом)):
Все чудово працює, кущі шарудять, «фуфло» сипеться і верхівки навіть похитуються ( ! ).
Таким же способом можна робити і дерева, тільки для стовбура дерева необхідно використовувати такі налаштування шейдерів:
- Engine Shader: flora\trunk_wave
- Compiler Shader: flora\trunk _no_collision
- Game Material: materials\tree_trunk
І зону «фуфла» ставити буде доречно лише там, де листя, тобто. скрізь, крім ствола.
PS.
Якщо нові текстури втратили прозорість після імпортування в SDK, необхідно просто перезберегти ту ж текстуру з прозорістю в DDS, в ту папку, куди зберіг її SDK (звісно, з тим же ім'ям).
Всім дякую всі вільні.