1. Гость, мы просим Вас ознакомиться с Правилами Форума и Отказом от ответственности!

Последнее сообщение от Sedusker

  1. Sedusker
  2. Sedusker
  3. Sedusker
    По всей видимости, за анимацию моба в спокойном, не заагренном состоянии отвечают блоки типа: FxFilePath: №ЦОп\НЁУГ\ПЙЅзКҐК№Ж®ґш1.gfx HookName: HH_Spine HookOffset: 0.298701, -0.723829, -0.598996 HookYaw: 0.053880 HookPitch: -0.091789 HookRot: -0.084222 BindParent: 1 FadeOut: 1 UseModelAlpha: 1 GfxScale: 0.700000 GfxAlpha: 1.000000 GfxSpeed: 1.000000 GfxOuterPath: 0 GfxRelToECM: 1 GfxParamCount: 0 EventType: 100 StartTime: 0 TimeSpan: -1 Once: 0 где параметр HookName: может иметь различные значения - HH_fx03, HH_fx04, HH_fx02, HH_Head и т.д. К ним привязанны так же и эффекты (gfx и wav) Кстати, эти функции работают нормально, их даже не надо фиксить. Практически во всех модельках как в родных, так и из ДжД есть НН_****, но мне попалось исключение. В первоначальном файле такого блока не было. Попытка перетянуть из другой модели, похожей по габаритам и фигуре, ничего не дали. Если вдруг кто-нибудь пробовал рыть в этом направлении - давайте будем думать вместе. HookName - переводится как Имя крюка, "крюк" это параметр перемещения и т.к. этот параметр находится в пределах блока эффекта, то относится он к типу перемещения эффекта на модели, а координаты ниже это конкретные параметры позиции эффекта на модельке. HH_fx03 - НН наверное расшифровывается как Hook Hight, fx - это эффект. Head - голова, т.е. эффект для головы(наверное). я понял что есть несколько блоков в структуре ecm. Первый блок(командный) начинается со строки MOXTVersion - в ней указывается версия редактора с помощью которого был сгенерирован этот файл(как мне кажется, но могу ошибаться) Дальше строка SkinModelPath: - путь до .SMD файла тут ничего не надо объяснять. Дальше OrgColor: ffffffff SrcBlend: 5 DestBlend: 6 OuterNum: 8 Float: 1.000000 Float: 1.000000 Float: 1.000000 Float: 1.000000 Float: 1.000000 Float: 1.000000 Float: 1.000000 Float: 1.000000 что означает эта ерунда я не знаю, да и наверное не важно. Затем идут строки с размеров модели, по умолчанию у всех моделей стоит NewScale: 1 BoneNum: 0 но что бы поменять размер нужно две этих строки заменить на BoneNum: 1 BoneIndex: 0 BoneSclType: 1 BoneScale: 3.000000, 3.000000, 3.000000 где цифра 3 и есть размер модели(по умолчанию 1, а 3 - это в три раза больше модель) Дальше идут строки DefSpeed: 1.000000 ChannelCount: 0 ChannelCount: 16 ChannelMask: -1 ChannelMask: -1 ChannelMask: -1 ChannelMask: -1 ChannelMask: -1 ChannelMask: -1 ChannelMask: -1 ChannelMask: -1 ChannelMask: -1 ChannelMask: -1 ChannelMask: -1 ChannelMask: -1 ChannelMask: -1 ChannelMask: -1 ChannelMask: -1 ChannelMask: -1 CoGfxNum: 2 ComActCount: 12 Тут CoGfxNum: - я уже описывал что это такое, ComActCount: - это наверное количество тех самых пресловутых действий тобишь количество ActName. Всё на этом командны блок закончился. Начинается Второй блок(эффектов) Любой блок эффекта начинается со стоки EventType: и заканчивается GfxParamCount: Внутри ссылка на файл .gfx Если вы хотите удалить или добавить эффект на модель, делать это нужно исключительно в пределах этих строк и не надо забывать про CoGfxNum: и изменять это значение в зависимости от количества эффектов(нужно указывать точное значение). Если один эффект повторяется несколько раз, то он считается как один. И кстати строка GfxRelToECM: 1 - это мусор из-за неё может эффект не работать, я эту строку удалял всегда. Третий блок(движения) Начинается этот тип блока со строки CombineActName и заканчивается строкой EventCount. Каждый такой блок отвечает за одно движение, такие блоки могут располагаться между блоками эффектов или друг за другом. Четвертый блок(звук) Начинается как и блок эффекта со строки EventType: и заканчивается строкой MaxDist.Внутри ссылка на файл .wav Вот такой небольшой конспект. Наверное всё, но кое где я мог ошибиться, возможно даже во всём. За любую анимацию (именно движения, а не светилки и прочие эффекты) отвечают CombineActName, именно в них указывается название действия при котором вызывать анимацию модели, какую именно анимацию пишется в BaseActName. Другими словами CombineActName зависит только от клиента, а BaseActName - от модели. Тоесть насколько я понял строка CombineActName - это то как ведет себя модель в клиенте, а BaseActName - это команды посылаемые на сервер. То есть если даже все строки CombineActName будут пустые, модель все ровно будет выполнять задаваемые ей действия, а если BaseActName будет неправильным то модель не будет выполнять корректно команды.
    Сообщение от: Sedusker, 8 янв 2011 в разделе: PW Клиент
  4. Sedusker
  5. Sedusker
    Берем *.ecm модельки, открываем его блокнотом и заменяем следующие значения параметров. Заменять нужно только эти строки. Первое что попадается нам на пути это строка "MOXTVersion:" у боссов из ЖД там может быть любой номер, как правило его изменение не влияет на поведение модели в ПВ, но из любого правила есть исключения. Если изменение всех параметров на нужные не помогли - попробуйте понизить значение этого параметра до 33 или 29. Следующие параметры отвечают за движение модели Первый параметр это бег,в ЖД эта строка выглядит так CombineActName: 奔跑 что бы наш босс начал бегать в ПВ, меняем его на этот параметр CombineActName: 快速移动 Дальше идут параметры атаки CombineActName: 普通攻击1 Эта строка отвечает за удар.У боссов 2 типа ударов руками и 4 типа ударов ээфектом.1ый тип удара руками - 普攻1起 второй тип - 普攻2起. Как правило второй тип удара более динамичный, поэтому я оставил его. Атака 1 CombineActName: 技能攻击1 меняем на CombineActName: 普攻1落 Атака 2 CombineActName: 技能攻击2 меняем на CombineActName: 普攻2落 (дальше дополнительные строки - у каких то моделей они есть у каких то нет) Атака 3 CombineActName: 技能攻击3 меняем на CombineActName: 普攻3落 Атака 4 CombineActName: 技能攻击4 меняем на CombineActName: 普攻4落 Атака 5 CombineActName: 技能攻击5 меняем на CombineActName: 普攻5落 Следующие строки есть у всех Обычная атака CombineActName: 普通攻击1 меняем на CombineActName: 普攻1落 Обычная атака 2 CombineActName: 普通攻击2 меняем на CombineActName: 普攻4落 Эта строка отвечает за второй удар. Эффект удара босса состоит из 4х частей. Первая часть - 普攻1落, это удар рукой, вторая часть 普攻2落 удар рукой и часть эффекта. 普攻4落 - это комбинация всех частей и выглядит наиболее зрелищно. Строку CoGfxNum: менять нельзя!!! Хотя в некоторых моделях значение этой строки нуждается в увеличении, эта строка отвечает за количество эффектов на модельке. Не смотря на эти изменения всё ровно попадаются "упёртые" модели которые нивкакую не желают фиксится поэтому нужно прописать "универсальный блок", это блок функций который подойдёт ко всем моделям, блок помогает фиксить модели не только из ЖД, но и из Форсакена,Ред Клиффа и других игр, правда эффекты на модели похерятся, но зато она будет двигаться и атаковать нормально. Вот "Универсальный блок": CoGfxNum: 0 ComActCount: 16 CombineActName: 愤怒施放落 LoopCount: 1 RankCount: 0 EventChannel: 0 BaseActCount: 1 BaseActName: 战斗站立 ActStartTime: 0 LoopCount: 1 EventCount: 0 CombineActName: 愤怒施放起 LoopCount: 1 RankCount: 0 EventChannel: 0 BaseActCount: 1 BaseActName: 站立 ActStartTime: 0 LoopCount: 1 EventCount: 0 CombineActName: 愤怒吟唱 LoopCount: 1 RankCount: 0 EventChannel: 0 BaseActCount: 1 BaseActName: 战斗站立 ActStartTime: 0 LoopCount: -1 EventCount: 0 CombineActName: 技能施放落 LoopCount: 1 RankCount: 0 EventChannel: 0 BaseActCount: 1 BaseActName: 战斗站立 ActStartTime: 0 LoopCount: 1 EventCount: 0 CombineActName: 技能施放起 LoopCount: 1 RankCount: 0 EventChannel: 0 BaseActCount: 1 BaseActName: 技能攻击4 ActStartTime: 0 LoopCount: 1 EventCount: 0 CombineActName: 技能吟唱 LoopCount: 1 RankCount: 0 EventChannel: 0 BaseActCount: 1 BaseActName: 技能攻击3 ActStartTime: 0 LoopCount: -1 EventCount: 0 CombineActName: 戒备 LoopCount: 1 RankCount: 0 EventChannel: 0 BaseActCount: 1 BaseActName: 站立 ActStartTime: 0 LoopCount: -1 EventCount: 0 CombineActName: 快速移动 LoopCount: 1 RankCount: 0 EventChannel: 0 BaseActCount: 1 BaseActName: 奔跑 ActStartTime: 0 LoopCount: -1 EventCount: 0 CombineActName: 慢速移动 LoopCount: 1 RankCount: 0 EventChannel: 0 BaseActCount: 1 BaseActName: 行走 ActStartTime: 0 LoopCount: -1 EventCount: 0 CombineActName: 普攻1落 LoopCount: 1 RankCount: 0 EventChannel: 0 BaseActCount: 1 BaseActName: 技能攻击1 ActStartTime: 0 LoopCount: 1 EventCount: 0 CombineActName: 普攻1起 LoopCount: 1 RankCount: 0 EventChannel: 0 BaseActCount: 1 BaseActName: 普通攻击1 ActStartTime: 0 LoopCount: 1 EventCount: 0 CombineActName: 普攻2落 LoopCount: 1 RankCount: 0 EventChannel: 0 BaseActCount: 1 BaseActName: 技能攻击2 ActStartTime: 0 LoopCount: 1 EventCount: 0 CombineActName: 普攻2起 LoopCount: 1 RankCount: 0 EventChannel: 0 BaseActCount: 1 BaseActName: 普通攻击2 ActStartTime: 0 LoopCount: 1 EventCount: 0 CombineActName: 死亡 LoopCount: 1 RankCount: 0 EventChannel: 0 BaseActCount: 1 BaseActName: 死亡 ActStartTime: 0 LoopCount: 1 EventCount: 0 CombineActName: 休闲 LoopCount: 1 RankCount: 0 EventChannel: 0 BaseActCount: 1 BaseActName: 休闲 ActStartTime: 0 LoopCount: 1 EventCount: 0 CombineActName: 站立 LoopCount: 1 RankCount: 0 EventChannel: 0 BaseActCount: 1 BaseActName: 站立 ActStartTime: 0 LoopCount: -1 EventCount: 0 ScriptCount: 0 AddiSkinCount: 0 ChildCount: 0 Этот блок начинается со строки(перед этой строкой не должно быть пробелов) CoGfxNum: 0 и заканчивается строкой: ChildCount: 0 Дальше в ecm файле никаких строк быть не должно. Огромное спасибо alexdnepro за информационную поддержку, а так же всем кто когда либо писал гайды. С Уважением Sedusker!!! Специально для http://mmorpg-devs.ru. С НОВЫМ ГОДОМ!!!!!
    Автор темы: Sedusker, 4 янв 2011, ответов - 8, в разделе: PW Клиент
  6. Sedusker
  7. Sedusker
  8. Sedusker
  9. Sedusker
    Гыы за что минусы то?
    Сообщение от: Sedusker, 16 дек 2010 в разделе: Архив
  10. Sedusker
  11. Sedusker
  12. Sedusker
  13. Sedusker
  14. Sedusker