Создание HUD-модели
1. Вступление
Данный урок посвящен созданию HUD-моделей для оружия. Статья рассчитана на опытных пользователей 3DSMax, так что вопросы вида "Как создать сферу?" - не принимаются.
Вот так наш 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 выбираем Export Motion, после чего экспортим анимацию формат *.skl
* Если игра вылетает с логом "cannot find anim [название_аним-и]_r" или с чем-то подобным, то создавайте копии существующих анимаций с окончанием _r и добавляйте их вместе с обычными.
5. Настройка параметров в Actor Editor
Открываем Actor Editor. Настраиваем параметры в свитке Surface. Я ставил такие:
* models\weapons
* 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 и посмотрите своими глазами. Вроде всё. Удачи!
6. Исходники
Вариант 1 - модель рук привязана к скелету Biped (Ссылка)
Вариант 2 - модель привязана к обычным костям (Ссылка)
Вариант 3 - модель привязана к костям, сделана камера для контроля анимаций (вид HUD-а как в игре) (Ссылка)
Авторы
Статья создана: Egorych
Благодарности: Haron, tambovski