Kerrax
Почетный форумчанин
- Регистрация
- 19 Фев 2008
- Сообщения
- 222
- Благодарности
- 682
- Баллы
- 220
ASC-файлы: объекты и модели
Объекты
Объекты, содержащиеся в ASC-файле, можно разбить на четыре основные группы:
1) меши, 2) кости, 3) вспомогательные и 4) иные.
- Меши имеют имя, начинающееся с букв zm_, и в игре обычно покрываются текстурой. В _3D Studio Max_ меши имеют тип Editable Mesh (к которому также может быть применен модификатор Physique).
- Кости имеют имя, начинающееся с букв Bip01, и в игре не отображаются. Основное назначение костей заключается в том, что к ним привязывается меш и затем по записанной анимации костей можно вычислить движение меша. Способов привязки меша к костям два: первый - кнопка Select and link в главной панели 3D Studio Max, второй - применение к мешу модификаторов Physique или Skin (если вы работаете в 3dsmax'е). Кости должны быть привязаны друг к другу, то есть каждая кость должна иметь родителя - другую кость. Кость, находящаяся на вершине иерархии - главный родитель всех костей - должна называться Bip01. Число костей для одной модели не должно превышать 256.
- Вспомогательные объекты имеют имя, начинающееся с букв zs_ и отмечают позиции, важные для игры. Текстурой такие объекты не обтягиваются, следовательно, игрой непосредственно не отображаются.
- Иные объекты имеют имя, начинающееся не с zm_, не с Bip01, и не с zs_. Иные объекты не используются игрой (они даже не пишутся в MDL-файл при компиляции ASC-файла). Создавать иные объекты (к примеру IK-цепочки или Dummy) стоит разве что для удобства моделлера.
Модели
В ASC-файле или в наборе ASC-файлов может содержаться различная информация:
1) статическая модель, 2)динамическая модель, 3) анимация меша. Представленный импортер способен работать с моделями всех трех типов.
- Модель является статической, если она не содержит костей. Примеры ASC-файлов: kotelok_mob, bed_1_oc, bench_1_nc. При импорте статической модели никаких опций импортер не предоставляет, так что тут все просто.
- Модель является динамической, если она содержит систему костей. При этом каждой динамической модели обычно соответствует один ASC-файл с мешем и несколько ASC-файлов с анимацией. Примеры ASC-файлов с мешем динамической модели: ARMOR_LESTER, MBG_BODY, GOBBO_SKELETON_BODY, LUR_BODY. Примеры ASC-файлов с анимацией динамической модели:SCA_PICKGROUND_M01, MBG_DEAD_A02,WARAN_LOOK_KM01.
Чтобы работать с динамической моделью в 3D Studio Max, нужно вначале воссоздать систему костей. Импортер ASC-моделей не всегда удачно воссоздает систему костей, и иногда требуется подправить ее вручную. Для этого нужно в панели иерархии _3D Studio Max_ нажать кнопку Pivot, а затем сделать активным режим Affect Object Оnly. После этого можно менять размеры костей или перемещать их. Модификатор Physique и анимация привязываются только к pivot'ам костей, поэтому изменение масштаба и перемещение костей в этом режиме ничему не навредит. Приведя кости модели в приемлемый вид, лучше отключить режим Affect Object Оnly и нажать кнопку Link Info, чтобы заблокировать перемещение костей относительно друг друга и масштабирование (оставив доступными только повороты костей относительно друг друга). Естественно, не надо блокировать перемещение корневой кости Bip01, чтобы модель можно было перемещать целиком. Также, если требуется, можно создать IK-цепочки, скажем для рук, ног или хвоста персонажа.
Если кости уже созданы и есть в текущей сцене, а меш находится в ASC-файле (такая ситуация часто бывает, когда несколько динамических моделей используют один и тот же набор костей - например, все ASC-файлы с броней для людей-мужчин). Тогда можно импортировать ASC-файл с объединением моделей, привязав меш из файла к готовым костям из сцены.
Анимацию динамической модели можно загружать только в том случае, когда кости уже созданы и есть в текущей сцене. - Анимация меша обычно сохраняется в нескольких ASC-файлах: один файл хранит исходный меш (пример: ORC_HEADWARRIOR.ASC - голова орка-воина), а остальные - собственно анимации (пример: ORC_HEADWARRIORTALK.ASC - голова говорящего орка-воина). Вначале нужно импортировать исходный меш, затем - одну из его анимаций.