Створення HUD-моделі
1. Вступ
Цей урок присвячений створенню HUD-моделей для зброї. Стаття розрахована на досвідчених користувачів 3DSMax, тому питання виду "Як створити сферу?" - не приймаються.
Для експорту моделей найкраще скористатися плагіном ogf2smd , т.к. вбудована функція експорту з OGFViewer створює по 11 полігонів на одній координаті, що дуже ускладнює процес моделлінгу та експорту в гру.
2. Робота з матеріалом
Для початку – відкриємо 3DSMax.
Імпортуємо модель, відкриваємо редактор матеріалів (за замовчуванням – кнопка М). Натискаємо на кнопку Standart , вибираємо STALKER Mtl .
Клікнемо по маленькій кнопочці навпроти Diffuse , вибираємо Bitmap , і знаходимо нашу текстуру. Далі, надамо її нашій моделі. Все, з текстуруванням покінчено.
3. Створення кісток
Для роботи з кістками зручно використовувати утиліту Bone Tools , яка знаходиться у меню Character .
Як виглядатиме розстановка кісток у HUD-моделі, ви побачите у вихіднику, але головне – треба створити одну головну кістку, і від неї вже вести скелет для рук та зброї. А самі кістки створюються через Create -> Systems -> Bones .
4. Прив'язка скелета до моделі
Після розміщення кісток вибираємо наш об'єкт, застосовуємо до нього модифікатор Physique , тиснемо кнопку Attach to node -> Rigid \ Deformable -> Initialize . Скелет готовий до прив'язування.
- Важлива деталь: До моделі зброї обов'язково має бути прив'язана кістка wpn_body, якщо її не буде, то гра обов'язково вилетить, що б ви не вписували в конфігах!
Включаємо режим Vertex і при натиснутій кнопці Select і синьому плюсі вибираємо потрібні вершини, тиснемо Attach to link . Далі, при вибраному червоному (або зеленому, якщо об'єкт твердий) плюс клікнемо по кісточці і тиснемо Lock Assignment . Повторюємо всім кісток.
3) Закінчивши прив'язку вершин для рук, в корені модифікатора Physique зберігаємо прив'язку у файл за допомогою кнопки Save to *.phy , щоб потім, завантаживши цей файл при наступній прив'язці, заощадити багато часу.
Закінчивши прив'язку, можна приступати до анімації.
4. Анімація HUD-моделі
Анімувати можна в режимі Set Key , і в режимі Auto Key , але в даному випадку буде зручніше все-таки в другому режимі.
Натискаємо кнопку Auto Key , вибираємо саме кістку (для зручності анімації можна виконати команду ПКМ -> Freeze selected у будь-якому видовому вікні), фіксуємо її положення натисканням ключа, переводимо повзунок кадрів у будь-яке положення - траєкторія руху та ключі в проміжку кадрів прорахуються автоматично.
Після того, як ми експортували модель без анімації, вибираємо нашу анімацію та в утиліті Stalker Export вибираємо E xport Motion , після чого експортуємо анімацію формат *.skl
- Якщо гра вилітає з логом "cannot find anim [назва_анім-і]_r" або з чимось подібним, то створюйте копії існуючих анімацій із закінченням _r і додайте їх разом із звичайними.
5. Налаштування параметрів в Actor Editor
Відкриваємо Actor Editor. Налаштовуємо параметри в сувої Surface . Я ставив такі:
- Shader: models\weapons
- Compile: def_shader\def_vertex
- Game Mtl: objects\small_weapon
У принципі можна спробувати й інші.
Цей пункт у Hud-і можна не чіпати - він впливає лише на World модель (вид від 3-ї особи). Далі, налаштуємо кістки у свитку Bones . У параметрах сувої виділяємо всі кістки, ставимо Type -> XXXX , впливає на поверхні дотику зброї із землею, предметами і т.д., ставити найближчий за формою - наприклад для глушника ідеально підійде type: cylinder , а також Game mtl\objects\ small_weapon , впливає на звуки та ефекти зіткнення з предметами та ГГ, натискаємо Generate shape -> All (авто підпір rotation і position для всіх)
(skl – окрема анімація, skls – кілька анімацій)
Після цього – налаштування анімації. Відкриваємо сувій Motions , натискаємо кнопку Append , виділяємо всі наші *.skl – анімації та вставляємо в модель. Редагуємо у параметрах швидкість, плавність та програвання анімації. У зброї типу MP5 є сім стандартних анімацій:
- idle
- idle_aim
- idle_sprint
- shoot
- draw
- holster
- reload
У ЗП та ЧН трохи інша система. Анімація зброї знаходиться окремо від анімації рук у файлі під назвою типу "wpn_..._hud_animation.omf" (анімація рук у файлах під назвою "wpn_hand_..._hud_animation.omf").
При використанні стандартної анімації:
Для того, щоб впровадити їх у зброю, достатньо відзначити потрібний .omf через пункт motion referense. Або імпортувати витягнутий "конвертером від Бардака" файл .skls з тієї ж анімації.
При використанні нової анімації:
Потрібно додати вашу анімацію рук до стандартної (імпортувати skls. зі стандартної та skl. вашої анімації, після чого експортувати .omf із заміною стандартної анімації), або не додаючи стандартних анімацій відзначити її в кожній моделі рук (meshes\dynamics\weapons\wpn_nand\ wpn_nand_01.ogf - wpn_nand_exo.ogf) через пункт motion referense - наприклад meshes\dynamics\weapons\wpn_p90\wpn_hand_p90_hud_animation.omf). З анімацією самої зброї чинити так само, як раніше.
Також щоб анімації не "заїдалися" під час гри треба поставити галки навпроти пунктів Stop at End та Sync Part (анімацію типу "idle" не відзначати).
Беремо з головної кістки координати і градус повороту погана, і вписуємо їх у конфіг.
У розділі конфіга wpn_..._hud редагуються параметри точки вильоту гільзи зі зброї, а також партикла пострілу. Щоб полегшити собі роботу з цими параметрами, можна створити в 3DSMax допоміжні кістки і одразу отримати їх координати при налаштуванні HUD в Actor Editor. Якщо у лозі при імпорті чи експорті вашого творіння є якісь помилки – виходить, ви щось зробили не так.
Рекомендую відразу не хапатися за складний HUD, а просто зробити анімовану штурмову-наступальну зброю під назвою "Кубік". Для того щоб все зрозуміти експортуйте в .object будь-яку модель hud-а і відкрийте через SDK і подивіться на власні очі. Наче все. Успіхів!