Пользовательская Анимация.

Scorpio9999, огромное спасибо за идею, вижу ее интересной, единственное (заранее прошу прощение) совсем не понял — что Вы имели ввиду под «линкованием». Честно говоря, я с анимацией человек совсем новый…

И еще — если я правильно понял, такое решение будет удобным, если мне нужно будет реализовать на земле поворот крыла, а в воздухе смещение телеги?

Scorpio9999, огромное спасибо за идею, вижу ее интересной, единственное (заранее прошу прощение) совсем не понял — что Вы имели ввиду под «линкованием». Честно говоря, я с анимацией человек совсем новый…

И еще — если я правильно понял, такое решение будет удобным, если мне нужно будет реализовать на земле поворот крыла, а в воздухе смещение телеги?

Линкование покажу на примере.
Суть в том, что поворачивая или сдвигая деталь «родитель» автоматически поворачивается или сдвигается деталь «потомок» относительно пивота «родителя».
Представьте своё плечо и предплечье. Сгибая плечевой сустав Вы автоматически за плечом тянете и поворачиваете предплечье (если не двигать локтевым суставом).
На первой картинке создаём два объекта: кубик и цилиндр.
Выделяем объект «потомок» и давим третью кнопку слева в панели инструментов (она выделена на второй картинке).

1.jpg

Далее либо сразу кликаем мышкой на объект «родитель» либо выбираем его из списка (так меньше ошибок можно совершить). В списке собственно кликаем на имя объекта и нажимаем кнопку Link.

2.jpg

Теперь лучше лишний раз кликнуть на стрелку (5-я слева кнопка), чтобы не прикрутить что-нибудь в придачу.

Для проверки созданной иерархии открываем список объектов и включаем опцию Display Subtree.

3.jpg

Результат будет виден в виде ступенчатого списка деталей. Самый левый это «родитель», правее все «потомки» вплоть до пра-пра-пра… внуков.

А вот различие поведения в воздухе и на земле надо тестировать. Прям сходу не скажу.
Возможно, что в теле кода анимации надо будет устраивать проверку «земля-воздух».
Но вообще-то тут свою непоследнюю роль должны сыграть точки контакта и параметры амортизаторов.

Scorpio9999, искренне благодарю за информацию… вечером обязательно попробую. Насчет различия поведения в воздухе и на земле я уже понял, что нужно будет уже писать в коде необходимые условия. Интересовало следующее:

Итак, что получается:
Если я Вас правильно понял, то можно внутри узла подвески телеги к крылу спрятать два маленьких кубика. К этим кубикам прилинковать все детали телеги за исключением рук пилота. Один кубик будет для поворота тележки вверх-вниз, другой для поворота телеги влево-вправо. К этим двум кубикам поставить еще два (для крыла) прилинковать к ним все части крыла, тоже анимировать (вверх-вниз, влево-вправо). А затем в коде уже прописывать условия какая анимация будет проигрываться в зависимости от того — где аппарат находится. Я знаю, что это возможно, потому как видел в мотодельтаплане от ЛАГО такую штуку — в полете нельзя осуществлять горизонтальные повороты.

Не вытерпел.. уже попробовал линки… — все стало более чем понятно с этим делом. А симулятор эту фишку поймет?

Сразу же здесь еще вопрос: предположим, у меня промежуток из 100 кадров. Анимация делается одновременно для всех деталей в этом промежутке (т.е. сразу все возможные действия совершаются одновременно — и телега поворачивается, и крыло (во всех 4х направлениях), и руки пилота), или нужно разбивать этот промежуток на отрезки (т.е. крыло анимируется в промежутке от 0 до 49 во всех 4х направлениях, телега анимируется в промежутке от 50 до 100 также во всех направлениях)?

К этим кубикам прилинковать все детали телеги за исключением рук пилота.

Плечи рук прилинковать к туловищу, предплечья к плечам. кисти к предплечьям. Голову прилинковать к туловищу (надеюсь виртуальный пилот будет ей крутить в сторону поворота и вверх-вниз).

Один кубик будет для поворота тележки вверх-вниз, другой для поворота телеги влево-вправо.

Да.

К этим двум кубикам поставить еще два (для крыла) прилинковать к ним все части крыла, тоже анимировать (вверх-вниз, влево-вправо). А затем в коде уже прописывать условия какая анимация будет проигрываться в зависимости от того — где аппарат находится. Я знаю, что это возможно, потому как видел в мотодельтаплане от ЛАГО такую штуку — в полете нельзя осуществлять горизонтальные повороты.

Думаю что ещё пара кубиков будет не нужна. Возможно многое, пока не упрётесь в ограничения компилятора. Об этом в других темах написано.

А симулятор эту фишку поймет?

А я для симулятора и пишу вроде как. Кстати, под какую версию пепелац с гравицапой? А чтобы отпали сомнения прикрепляю картинку из своего творчества. Это работает даже на FS2004.

Subtree.jpg

Сразу же здесь еще вопрос: предположим, у меня промежуток из 100 кадров. Анимация делается одновременно для всех деталей в этом промежутке (т.е. сразу все возможные действия совершаются одновременно — и телега поворачивается, и крыло (во всех 4х направлениях), и руки пилота), или нужно разбивать этот промежуток на отрезки (т.е. крыло анимируется в промежутке от 0 до 49 во всех 4х направлениях, телега анимируется в промежутке от 50 до 100 также во всех направлениях)?

Длина анимации должна соответствовать SDK. Если положено уложиться между кадрами 0-50 (тумблеры кажись), значит именно так надо делать.
Если между 0-200 (стойки шасси), то именно между ними. А вот если прописываете кастомную анимацию, то ограничение у Вас 0-1024. Больше низзя.
Т.е. двигая ползунок анимации Вы увидите одновременную работу всех анимированных деталей, а не одну за другой.

Спасибо. Я так полагаю, что анимация и будет кастомной. Голову пилота поворачивать — планирую и постараюсь сделать. МДП делаю для 2004 симулятора.

Спасибо. Я так полагаю, что анимация и будет кастомной. Голову пилота поворачивать — планирую и постараюсь сделать. МДП делаю для 2004 симулятора.

Я спрашивал про версию сима, чтобы определится с анимацией рук. В FSX там несколько по-другому. А так из примера в SDK можете выдернуть человечка из самоля и изучать его телодвижения. У него насколько помню одна рука на РУСе, другая на РУДе. Вам только углы поворота менять придётся, ну и наверное ещё один кубик в плече для крена, хотя сразу трудно сказать.

Кстати, я могу попробовать посмотреть в ACM или типа него дефолтный мотодельтаплан из FSX на предмет что и как там шевелится в анимации. Я всё думаю тележка относительно крыла или крыло относительно тележки.

Чертовщина какая-то.
Вообще-то после c_gear может идти любой суффикс кроме зарезервированного слова.
Я бы на вашем месте проверил длину этой анимации в кадрах.
Насколько я припоминаю шасси имеют 200 кадров максимум.
Как крайняя мера убить анимацию начиная с последнего кадра и до первого и анимировать снова.
Без скринов с анимацией трудно поставить диагноз.

Спасибо. Убил все строю по одной детали. Пока получилсь одна створка бьюсь со второй.

А так из примера в SDK можете выдернуть человечка из самоля и изучать его телодвижения. У него насколько помню одна рука на РУСе, другая на РУДе.

Ну, здесь, все-таки движения рук и ног пилота будут отличаться. В общем, посмотрим — что получится.

Товарищи разработчики.
А как сделать чтобы прибором можно было управлять из ВК. Например кремальерой высотомера. Т.е. есть гау прибор, в котором кремальера, естественно, вертит стрелочки и есть она же трехмерная в ВК с анимацией, но вот как управлять высотомером?

Доброго времени суток.

1.   Делаю анимацию шасси передней стойки. Стойка не управляемая т.е. сама ездит куда ей захочется.

      Вопрос:

      как сделать чтоб колесо, например в повороте если остановиться, тоже замерло в том положении?

2.   Не могу найти параметр для сжатия передней стойки, когда на земле пустой, в воздухе и когда полное сжатие.

Stoz 

В Х-е исходя из поведения модели в симе(мдл не ковырял, но по поведению-так) — Тележка — родитель, а крыло потомок. 

И надо делать так-же я думаю, иначе в полете мы получим эффект такого плана что камера будет привязана к крылу, а пилот будет чисто визуально наклонять не крыло а телегу вместе с собой. Эффект будет странновато выглядеть. — Все-же предполагается что мы смотрим глазами пилота, даже снаружи, а не камерой на крыле.

Если этот вопрос ещё кого волнует.

Drum27

Прибором управлять из ВК можно только если намапить на трехмерные элементы управления — сам прибор. Тут где-то в статьях это было- посмотрите подробнее. Либо делать кастомную анимацию с обработкой действий мыши, но тут нужен будет исходник прибора, что-бы «завязать» одно с другим.

SimmakeR

Самоорентируемое колесо по идее прописывается в айркафт.кфг и после этого обычное C_Wheel будет так работать. Хотя сам дело с самоорентирующимися не имел- не уверен.

Сжатие и выпуск шасси одно и то-же- это одна деталь и одна переменная. Кадры: 0 убрано 100 выпущенно 150 сжато на стоянке 200 полностью сжато. Повязано это дело на переменные выпуска шасси. Т.е. для выпуска и сжатия одни и те-же переменные.

SimmakeR

Самоорентируемое колесо по идее прописывается в айркафт.кфг и после этого обычное C_Wheel будет так работать. Хотя сам дело с самоорентирующимися не имел- не уверен.

Сжатие и выпуск шасси одно и то-же- это одна деталь и одна переменная. Кадры: 0 убрано 100 выпущенно 150 сжато на стоянке 200 полностью сжато. Повязано это дело на переменные выпуска шасси. Т.е. для выпуска и сжатия одни и те-же переменные.

Спасибо. На счет сжатия: если делать деталь с_wheelwell, то Вы описали праильно на счет сжатия, но эта деталь пропадает когда шасси запущены, а у меня шасси без створок и их видно в запущенном состоянии и переменная из сдк на выпуск шасси не работает на сжатие. Должна быть другая переменная.

Обьясните плиз такую тему, почему мой мэйкМДЛ не понимает его же родные ключи стоковой анимации SDK, такие как: prop#_still, prop#_slow, prop#_blurred? Сама модель конвертится, но в output ругается на анимацию детали с такими названиями. Пробовал назвать перед конвертацией в .Х как-нить по другому, например c_tire_blurred — ошибки на выходе МДЛ нет, но и анимации в симе нет, т.е шасси тоже не крутятся. Нормально в симе выходит только обжатие стоек вместе с работой рычагов подвески и выпуск-запуск. Кстати человек постом выше спрашивал про обжатие. Похоже у него иррархия не верно выстроена — C_Wheelwell и С_Wheel — это разные ключи. В СДК они описаны. Приведу свой вариант иеррархии левой стойки (скрин). Она тоже без створок и видна в полете. Отвлекся. Ключи типа rotor_### мейкМДЛ тоже не понимает. Че делать? Фреймовую на винты вешать? Если да — киньте кусок хмл-кода для MakeMDL.Parts.xml для анимации винтов вертолета и шасси на пробеге. ФС9.

З.Ы. Где-то на буржуйском форуме разрабов раскопал код крутки крыла модели при болтанке для вставки в MakeMDL.Parts.xml. Мож кому понадобится. Сам не тестил.

Spoiler

Прикрепленные изображения

  • gear.JPG

Кто подскажет- что не так с ключами анимации?
на рисунке 2 одниковые рядом стоящие кнопки движение взадвперед
в итоге красная кнопка не работает а черная работает

Прикрепленные изображения

  • Без имени-1.jpg

to DUST

Приветствую. Не работает где, в симе() или в максе? Судя по скрину на красную кнопку анимация ставилась без ее включения в максе AutoKey. А по ключам — глянул в сдк фсХ и таких названий для стоковой и фреймовой анимации пока не нашел. Вы их кастомно анимируте?

=====
Подниму свою темку снова тк дошел до «точки». Ниче не понимаю с анимацией именно пропеллеров для фс9 (конкретно НВ и РВ вертолета) — перепробовал все. Перелопатил пол-авсима. Было создано как сказано соответственно 3 винта. Названы как в СДК к фс9 — prop0_still, prop0_slow, prop0_blurred. И материал отдельный на них кидал. И иеррархию строил по всякому как только можно, и пивоты вдоль оси вращения винта ЗЕЛЕНЫМ разворачивал, анимацию в максе и назначал, и не назначал. Не хочет мэйкмдл их анимировать — ставит анимэшен триггер в Output на детали с этими именами хоть тресни. Ни одна деталь с такими триггерами не анимируется в симе. Как только переназываю деталь другим ключем из СДК, триггер на выходе мдл снимается и анимация присутствует. Анимирован практически весь вертолет во внешке (exterior), основные рукоятки в ВК (interior) (шаг, газ, педали, ручка), а также кастомно анимирована форточка. Но винты мля — это нечто, уже мозги сломал. Такое впечатление, что мэйкмдл непонимает эти ключи для пропеллеров, либо в МэйкМДЛ.партс.ХМЛ не хватает какого-то кода для них. Ну не может так быть чтобы у всех винты компилились номально, а у меня нет. Предвижу ваш ответ коллеги — рабтотай в 8 максе и будет счастье. Но посудите — какая разница максу и уж тем более панде как названа деталь? Да ему фиолетово. Любая из трех деталей винта переназванная другим ключем из СДК конвертится в мдл нормально, без триггеров анимашки в Output. В подтверждение этому — скрин ниже. При данной компиляции деталь с именем prop0_still была переименована в c_tire_still и триггер снялся. Тут что-то нерпавильно либо я создаю в прорисовке винтов (например (мое ХО) мдл учитывает размах лопасти, (что не факт! само по себе)), либо в МэйкМДЛ.партс.ХМЛ урезана какая-то часть кода. Ведь вся дефолтная анимация компилится в модель именно оттуда. Хотя стоковая наверно не «оттуда» Большая просьба к знатокам конструкторского дела — гляньте в свои партс.ХМЛ для фс9, есть ли там какая-либо часть ХМЛ-кода относящаяся к пропеллерам, винтам или роторам и выложите тут, или на мыл prokd()mail.ru. Потом еще вопрос, де почитать как кастомно анимировать винты, на случай если дефолт непрокатит. Samdim в своем туторе говорил, что за редким исключением все детали надо анимировать этим способом.

Прикрепленные изображения

  • Безымянный.JPG
  • Безымянный1.JPG
  • Безымянный2.JPG
  • Безымянный3.JPG
  • Безымянный4.JPG

Предвижу ваш ответ коллеги — рабтотай в 8 максе и будет счастье.

а вы в какой версии макса работаете? Детали стоковой анимации не должны быть анимированы, убедитесь что у них нет ключей анимации.

гляньте в свои партс.ХМЛ для фс9, есть ли там какя-либо часть ХМЛ-кода относящаяся к пропеллерам, винтам или роторам

В стандартном MakeMDL.parts содержатся коды только для ВК, для внешки там ничего нет.

де почитать как кастомно анимировать винты, на случай если дефолт непрокатит.

Ну эт вам придется прибор писать, который будет высчитывать угол поворота винта в каждый момент времени, так что велосипед изобретать не надо :rolleyes:

а вы в какой версии макса работаете? Детали стоковой анимации не должны быть анимированы, убедитесь что у них нет ключей анимации.
В стандартном MakeMDL.parts содержатся коды только для ВК, для внешки там ничего нет.
Ну эт вам придется прибор писать, который будет высчитывать угол поворота винта в каждый момент времени, так что велосипед изобретать не надо :(

Работаю в 2009. Постом выше есть скрин версии моего макса. На детали винта максовские ключи анимэ не назначены, я писал что пробовал по разному. На скрине в мдл скомпилена только часть, отдельно от всей остальной модели. Там проблемных деталей уже нет. Вся анимация в симе работает кроме винтов. Зеленый пивот идеально совмещен у всех трех деталей, тк они создавались путем клонирования после установки пивота родителя в нужное положение и более не трогались. Иеррархия такая: engine->prop0_still->prop0_slow->prop0_blurred. В студию кинуть не получается, ругается на размер зип-архива. Могу на мыло сбросить.
К 3-му пункту цитаты склоняюсь уже давно, токо много непонятного как использовать формулу расчетов угловых скоростей применительно к коду ХМЛ.

З.Ы. Тяжеловатая по фпс получается, но с др. стороны при полетах на Ми-2 от НЕМЦА у меня фпс не намного выше. Комп слабоват.

Прикрепленные изображения

  • новый-66.jpg
  • Herarh.JPG
  • Herarh1.JPG
  • Herarh2.JPG
  • новый-67.jpg
  • новый-68.jpg

попробуйте такую иерархию

engine
  prop0_still
  prop0_slow
  prop0_blurred

а не

engine
  prop0_still
    prop0_slow
      prop0_blurred

Пробовал, не помогло. Копаюсь в ерархии ДС3 из примера СДК фсХ для 7-го макса. Файл ВК открылся нормально. Только ругается на отсутствие нужного материлала при его назначении куда-либо. Пока безрезультатно, ту же ошибку выдает после компиляции.

Иерархия не важна, создаем любой объект, обзываем его например «prop0_still», компилим в сим — и он начинает вращаться вокруг оси(при соотв. оборотах), даже не знаю, в чем может быть прокол

Че ж делать? Сухари сушить что ль? :)

to DUST

Приветствую. Не работает где, в симе() или в максе? Судя по скрину на красную кнопку анимация ставилась без ее включения в максе AutoKey….

Тут не верно отписал. В настройках Parameters на вкдадке анимации у вас на левом скрине выставлен Linear Position, а на правом Position XYZ. Посдедний позволяет раздельно настраивать линейность осей.

Подниму свою темку снова тк дошел до «точки». Ниче не понимаю с анимацией именно пропеллеров для фс9 (конкретно НВ и РВ вертолета) — перепробовал все. Перелопатил пол-авсима. Было создано как сказано соответственно 3 винта. Названы как в СДК к фс9 — prop0_still, prop0_slow, prop0_blurred.

Как было правильно замечено — обзовите любую деталь prop0_still и она будет вращаться.
Как было еще где-то правильно замечено (не помню где, или это я заметил но не написал) — не доверяйте стоковым анимациям.

Может быть ХМЛ битый ? Может Панда глючит ?
Может быть просто создадите кастомную анимацию для пропеллера ? Тем более что условие смены still на slow и blurred подогнаны под самолет и в вертолете с его более медленным вращением винта должны быть пересмотрены.
Кстати если будете делать кастомную — не забудьте о существовании тэга <Rotation>Y</Rotation> а также не забудьте вставить условие на visibility.

К слову замечу что в ФСХ вообще отказались от стоковых анимаций. И правильно сделали. Хотите чтоб крутилась деталь ? Анимируйте ключами, присваивайте стандартную или кастомную анимацию, ставьте сами условия на видимость.

P.S. и конечно с иерархией prop0_still -> prop0_slow -> prop0_blurred если б все работало то конструкция пропадала бы навсегда как только винт начинал бы раскручиваться.

Кто подскажет- что не так с ключами анимации?
на рисунке 2 одниковые рядом стоящие кнопки движение взадвперед
в итоге красная кнопка не работает а черная работает

Если это для десятки то проверить сто раз соответствие имен детали и анимации. Да, в СДК написано что это не важно, что можно обозвать деталь «колесо» и анимировать анимацией «дверь». Это так, но когда есть мышиные зоны то требуется точное соответствие. В принципе можно назначить самим мышиную зону, но это как-то через раз работает. Проверьте в Object Properties / User defined есть ли строка с Mouse Rect.

П.С. парсер ХМЛ в ФСХ — case sensitive !

to Samdim

Дмитрий, спасибо за ответ. Стараюсь учитывать все перечисленныйе замечания. Наверное буду выводить все управление анимацией «наружу» через L-переменную посредством nameVar. Надо только у программистов поинтересоваться как именно читать из панели L-данные.

В стандартном MakeMDL.parts содержатся коды только для ВК, для внешки там ничего нет.

Не,Reagent.В стандартном MakeMDL.parts есть коды для внешки. Вот например:

Spoiler

Щас завязал на средний код НВ. Не то кончно, но работает. На него по видимому завязывается вращение лопаток ступеней компрессоров турбин. Моя причина скорее заключена в том, что написал Дмитрий, либо ХМЛ битый, либо панда. Скиньте кто-нить свой МэйкМДЛ.партс.хмл пожалуйста.