Для тех, кто не очень заинтересован во всем этом, а зашел сюда лишь из-за картинки выше ^^^ - это просто один экспериментальный мод. Не знаю, когда он выйдет, сорян. Но теперь вы можете делать то же самое, используя "GTA Chars And Anim Helper"! И любую другую упоротую фигню. Смешайте это с CarRec, и вы получите что-то вроде Quantum Break плюс Uncharted плюс Resident Evil плюс [вставьте вашу Любимую Игру].
Теперь, если вам стало интересно...
Это MaxScript для Autodesk 3ds Max.
Описание: "GTA Chars And Anim Helper" позволяет вам пропустить унылые этапы скиннинга и анимирования персонажей для GTA: Vice City and San Andreas. НЕКОТОРЫЕ опции потенциально могут быть использованы для моддинга GTA 3/4/5, или других игр.
Установка: Поместите "GTACharsAndAnimHelperBeta.ms" в вашу папку "3dsmax/scripts".
Как использовать: Наведите курсор мыши на интересующую кнопку, чтобы увидеть дополнительную информацию.
На этом всё, чувачилы.
Ок, вот немного расширенного описания для тех кнопок:
Каждая кость в скелетной иерархии в GTA VC/SA имеет специальные свойства(выберите кость, кликните "ПКМ/Object Properties/User Defined" и увидите их):
* BoneID: Специальный идентификационный номер для использования в игре. Например, 24я кость "держит" оружие(обычно это кость кисти правой руки). Необходим для IG(InGame, геймплейных) моделей, не имеет значения для CS(CutScene, катсценовых) персонажей(но может использоваться для опкода 0524). * BoneIndex: Порядковый номер, начиная с кости Root(0) и заканчивая последней костью в иерархии(взгляните на иерархию объектов сцены в обозревателе сцены, чтобы понять, но только если отображение обозревателя отсортировано по дате). Очень важно, чтобы данный параметр был правильно задан и совпадал с реальным порядковым номером кости в иерархии! * FrameName: Мусор, оставшийся от работы скриптов KAM-а. Откровенно говоря, ВСЕ эти параметры остаются от скриптов KAM-а, но конкретно этот - бесполезный и не используется нигде, кроме одной маленькой бессмысленной опции переименования "Restore" в скрипте "DFF IO". * BoneType: 1 или 3 - кости, не имеющие дочерних костей 0 или 2 - кости, имеющие дочерние кости Если под родительской костью несколько дочерних - то все дочерние должны быть 2 или 3, за исключением последней: она должна быть 0 или 1. Если дочерняя кость одна - она должна быть 0 или 1.
Так как же этот максскрипт поможет вам со всем этим? Очень легко: вам не нужно каждый раз лезть в "ПКМ/Object Properties/User Defined" - просто для каждой кости используйте поле "Set BoneID", чтобы установить нужный BoneID, после чего выделите любую кость иерархии и один раз нажмите кнопку "Calculate for all hierarchy", чтобы скрипт автоматически высчитал и установил параметры BoneType и BoneIndex для всей скелетной иерархии! Да, вы можете создать совершенно новую скелетную иерархию с нуля(64 кости максимум для CS моделей и 24 - для IG, но помните, что нет лимитов для тех, кто хочет создать что-то новое), используя кнопки "Create bones", после чего выставить вышеописанным способом параметры костей, заскинить полученным скелетом вашего персонажа, используя стандартный модификатор "Skin", экспортировать и использовать персонажа в игре!
Итак, у вас есть персонаж и вы хотите анимировать его. Вероятно, следующие кнопки облегчат этот процесс:
1) Секция "Select bones": "All" выделит все кости в иерархии, если была выделена любая из них. "Except Root" - выделит все кости в иерархии, кроме Root-кости. "Only Root" - выделит только Root-кость. Не спрашивайте зачем, но эти кнопки помогут вам, когда придет время.
2) Секция "Skin Mesh Triggers": Иногда вам нужно зафиксировать модель вашего персонажа, чтобы он случайно не выбирался, когда вы пытаетесь выбрать кость. Иногда вам нужно видеть сквозь вашу модель. Для таких случаев: Выберите модель или одну из её костей и нажмите "Freeze", чтобы зафиксировать модель вашего персонажа. В последствии выделите любую кость(потому что теперь вы не можете просто так выбрать вашу модель без ковыряния в заднице 3dsmax) и нажмите "Freeze" снова, чтобы разблокировать вашу модель. Те же инструкции для кнопки задания прозрачности "Transparency".
3) Секция "Create/Delete HI Solver": HI Solver - это исторически независимый контроллер инверсной кинематики. В двух словах - эта штука облегчит вам процесс анимирования рук, ног и глаз персонажа. Обычно всё это не применимо к GTA-анимациям, но вы сможете использовать это при помощи следующих инструментов:
"One bone" создает HI Solver для выделенной кости. Выберите ОДНУ кость/хэлпер и нажмите эту кнопку.
"Bone + Joint" создает HI Solver для выделенной кости и её родительского сустава. Выберите ОДНУ кость/хэлпер(стопа или кисть руки, например) и нажмите эту кнопку.
"Eyes" создает HI Solver для выделенных костей зрачков глаз. Выберите ВСЕ кости/хэлперы зрачков глаз и нажмите эту кнопку. Как вы видите(ВИДИТЕ, кек), необходимо предварительно создать кости зрачков глаз и поместить их в зрачки глаз перед процессом анимирования. Вы сможете удалить эти кости после окончания работы над анимацией.
Если вы передумали и не хотите использовать HI Solver - используйте "Delete for all selected". Это удалит выделенные HI Solver-ы или HI Solver-ы для выделенных костей. Работает только с HI Solver-ами, созданными через этот скрипт! Выделите все необходимые кости или HI solver-ы и нажмите эту кнопку.
Но если работа над анимированием вашей руки/ноги/глаз завершена - вам понадобится секция "Before Export: Bake HI anim": Кнопка "For all selected bones/solvers" создаст ключи анимации для всех выделенных костей, имеющих HI Solver-ы или костей, которые используют выделенные HI Solver-ы. HI Solver(ы) исчезнет(ут), но анимация "запечется" на костях персонажа! Работает только для HI Solver-ов, созданных этим скриптом! Анимация не "запечется", если не было создано никакой анимации этими HI Solver! Используйте это перед экспортом анимации. Выделите все необходимые кости и/или HI solver-ы и нажмите эту кнопку. Галочка "Detailed" - запекает более детальную анимацию, создавая дополнительные ключи анимации каждые несколько кадров. Разумеется, вы хотите более детальную анимацию, так что это по-умолчанию включено. Выберите интервал в поле "Int"(каждый 1.0 кадр по-умолчанию).
Простейший пример использования HI Solver:
4) Секция "Attach/Detach object": Иногда в катсценах вам требуется, чтобы ваш персонаж подобрал какой-то объект. Но вы же не можете подгонять позицию и поворот этого объекта под руку персонажа каждый кадр, раз за разом! И вы не можете присоединить объект стандартными средствами 3dsmax, потому что в этом случае объект не сохранит свою анимацию.
Что ж, да помогут вам эти кнопки:
"Attach to selected" присоединит объект к выбранной кости/хэлперу/другому объекту. Выберите ОДНУ кость/хэлпер/объект и жмите эту кнопку.
Если вы передумали и не хотите использовать это соединение - нажмите "Detach". Это отсоединит выбранные присоединенные объекты или объекты, присоединенные к выбранным костям/хэлперам/объектам. Работает только для объектов, которые были присоединены этим скриптом! Выберите все необходимые кости/хэлперы/объекты и жмите эту кнопку.
Но если работа над анимированием вашего объекта завершена(или вы просто создали его первый и последний ключи анимации), вам понадобится Секция "Before Export: Bake Attached": "For all selected objects" создаст ключи анимации для всех выбранных присоединенных объектов или объектов, присоединенных к выбранным костям/хэлперам/объектам. Работает только для объектов, которые были присоединены этим скриптом! Анимация не "запечется", если не было создано никаких ключей анимации для вашего объекта! Используйте это перед экспортом анимации. Выберите все необходимые кости/хэлперы/объекты и нажмите эту кнопку. Галочка "Detailed" - запекает более детальную анимацию, создавая дополнительные ключи анимации каждые несколько кадров. Разумеется, вы хотите более детальную анимацию, так что это по-умолчанию включено. Выберите интервал в поле "Int"(каждый 1.0 кадр по-умолчанию).
5) Секция "Change animation speed": Вы сделали крутую анимацию, но вдруг поняли, что было бы еще круче немного ускорить/замедлить её? Не беспокойтесь, просто используйте кнопку "Increase...": это ускорит выбранную анимацию во столько раз, во сколько указано в поле справа. Если вы хотите замедлить анимацию в 2 раза - выберите "0,5" в этом поле. Выберите все необходимые кости/хэлперы/объекты, затем выберите необходимый интервал ключей анимации или первый и последний ключи необходимого интервала, а затем нажмите эту кнопку. Галочка "Accuracy": Округляет число кадров нового диапазона полученной анимации до точности, указанной в поле справа. Если вы ускорили вашу анимацию, которая состояла из 25,0 кадров, в 2,0 раза - тогда новый диапазон будет равен 12,5 кадрам. Но если ЭТА галочка была отмечена и было указано значение "1,0" - новый диапазон будет равен 13,0 кадрам.
6) Секция "Before Export: Delete anim keys": Вы знаете эту довольно известную проблему, когда персонаж в игре на долю секунды "превращается в шар" или делает дурацкое выражение лица при проигрывании новой анимации: <<< Это происходит из-за "ключей позиции" в анимации.
Все кости, кроме Root, должны иметь только ключи поворота(зеленые на шкале анимации), поэтому вам необходимо удалить ключи позиции(красные) для них. Используйте кнопку "Del Pos keys(all except Root)" перед экспортом анимации. Выберите все необходимые кости(кроме Root) и нажмите эту кнопку.
Ок, кости могут иметь ключи поворота(зеленые, все кости) и позиции(красные, только Root), но также рекомендуется удалить ключи растяжения(синие) для них. Вообще-то, нет свидетельств того, что ключи растяжения могут навредить вашей анимации, потому что похоже на то, что игра не "читает" их. Но я сделал эту опцию для будущих нужд, а также потому что я могу. Используйте(или не используйте) кнопку "Del Scale keys(not important)" перед экспортом анимации. Выберите все необходимые кости и нажмите эту кнопку.
Я не знаю, когда это выйдет, именно поэтому я публикую эту версию 0.9b скрипта сейчас. До выхода версии 1.0 вы можете обратить внимание на "GTA Animation XML IO" от Wesser. Этот скрипт позволяет конвертировать анимации между скелетной иерархией GTA и Biped.
2) Секция "Bones System settings": Не используйте это, если вы не знаете преимуществ системы костей. Основано на скрипте "Helper Manager" под авторством Lorne Brooks. Эта секция может исчезнуть в будущих версиях из-за ненадобности("Biped" будет намного лучше).
ВНИМАНИЕ! Замена Скелетной Иерархии Системой Костей приведет к невозможности экспортировать вашего персонажа в игру в дальнейшем! Эта замена может быть необходима только для упрощения процесса анимирования, поэтому СОХРАНИТЕ или СДЕЛАЙТЕ БЭКАП ВАШЕГО ПЕРСОНАЖА, ПРЕЖДЕ ЧЕМ ЗАМЕНЯТЬ ЕГО СКЕЛЕТНУЮ ИЕРАРХИЮ!
"Replace With Bones System" - дублирует выбранную иерархию Системой Костей. Если будет найдена связанная заскиненная модель, скрипт сделает её рескин подходящей иерархией пойнт-хэлперов, которая будет привязана к новым костям. Эти хэлперы будут добавлены в новый слой сцены, названный #__SkinHelpers__# , а затем будут заморожены. Галочка "X-Axis Aligned Bones": Существующая иерархия выравнивается так, чтобы суставы были направлены по оси X. Это стандартное выравнивание для новосозданной Системы Костей. Галочка "M": Отобразить сообщение, когда галочка выравнивания костей по оси X отключена и нажата кнопка "Replace With Bones System". Галочка "Create Display Bones": будут созданы специальные кости Отображения между реальными костями. Кости Отображения будут помещены в новый слой сцены, названный #__DisplayBones__# , а затем будут заморожены. Галочка "Keep Original Hierarchy": Оригинальная иерархия не будет удалена после замены системой костей. Галочка "Skin Mesh "X-Ray" Mode": Задает прозрачность модели персонажа после того, как замена костей будет осуществлена. Галочка "Show bones as boxes": Отображает новые кости, как прямоугольные параллелепипеды(некоторые версии 3ds Max не корректно отображают новые кости в режиме сетки, так что отметьте эту галочку, если у вас эта проблема).
Beta 0.91(чуть более доработанная и исправленная, но старую всё равно не удаляю на всякий случай): CharsAndAnimHelper-0.91-Beta.zip [29,35 Kb] (cкачиваний: 154)
К сожалению, я не знаю ничего про файловый формат .anm/.ska file format(анимации катсценовых голов) кроме этого, но для IFP юзайте следующую инструкцию:
Для начала скачайте этот файл. Как использовать: 1) Откройте в 3ds Max 2009(или новее) файл gta3player.chr 2) Запустите скрипт Kamа "IFP IO", нажмите "Load ifp" и выберите peds.ifp 3) Выделите части тела игрока 4) Выберите нужную анимацию в скрипте и нажмите "apply animation" 5) Измените анимацию, как вам нужно 6) Снова выберите части тела игрока и нажмите кнопку "Replace" в скрипте. Вот и всё, анимация сохранена, можно тестировать её в игре.
Я работаю над туториалом по катсценам в VC. Большая его часть(быть может вся) подойдет и для SA. Какие-то части подойдут для III/IV/V. Не знаю, когда это выйдет, но 100% после релиза GTA Chars & Anim helper 1.0. Но уже сейчас, если вы знаете, как создавать внутриигровые(геймплейные) анимации и у вас есть готовая сцена в 3ds max, всё, что нужно сделать - это экспортировать анимации персонажей как обычные анимации, используя "ANPK Tool", после чего посмотрите этот пример(код имеет подробные комментарии), чтобы понять, как активировать всё это дело в скрипте/миссии.
Если у кого-либо возникнут какие-либо вопросы по катсценам в VC - пишите мне: постараюсь помочь, как только смогу.
Также - печальные известия: сайт yelmi.com(пионер моддинга катсцен) почил. Yelmi не видит смысла в его восстановлении, но он сказал мне, что попытается опубликовать всё полезное оттуда(туториалы и проги). До того, как выйдет мой туториал, вы можете скачать архив туториалов yelmi, Andræs и моих заметок по катсценам(мои заметки касаются только VC!). Также, зацените OAD Exporter 1.2.3 от Andrew(aka Andræs) для GTA IV. Как вы можете заметить, материалы по VC/SA выглядят не связно: вот почему я хочу сделать это дело проще и автоматизированнее, и вот почему мне нужно закончить этот максскрипт перед тем, как завершить работу над туториалом: для меня гораздо проще сделать некоторые процессы автоматизированными("Char Helper" в этом максскрипте), чем пытаться объяснить их. Если кто-то сделает другой туториал до меня - будет замечательно.