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

Ответ:
Сообразил сам. Код получился таким:
<animation>
<parameter>
<code>
(L:Par,second) 0 == if{ (E:ABSOLUTE TIME, second) (&gt;L:Par,second) }
els{ (E:ABSOLUTE TIME, second) (L:Par,second) — 5 &gt; if{ (E:ABSOLUTE TIME, second) (&gt;L:Par,second) } }
(E:ABSOLUTE TIME, second) (L:Par,second) — 20 *
</code>
</parameter>
</animation>

Помогите понять: <code>(L:MySwitch, bool) 50 *</code>

Почему «L», откуда взялось MySwitch, что такое bool, и * после 50.
Спасибо

L — это вид переменной, т.е. пользовательская переменная.
MySwitch — это имя переменной, которое может быть любым.
bool — тип переменной — булевский, т.е. могущий принимать два логических значения: 0 и 1.
А знак * (умножить) ставится посмле 50 потому, что таков порядок записи выражений в XML: сначала два «операнда» — числа или переменных, а затем знак (что с ними нужно сделать).

Konsni
Я так понял что ты изучал XML ? 🙂 Не подскажешь где найти учебный материал для изучения кода применительно к симу ?
Подскажи плиз как должен выглядеть код анимации тележки шасси прикрученный к тангажу самолёта, чтоб при задирании носа тележка не задиралась вместе с ним а катилась по впп ? Я нашёл в Panels_SDK в Parameters.doc параметр PLANE PITCH DEGREES, но скрестить его с кодом методом научного тыка пока не увенчалось успехом, срабатывает но не так как надо. Я в XML 2 по 5 пока , просто на примере другого кода пытаюсь догнать 🙂
И ещё вопрос, где узнать полный список параметров сима кроме Parameters.doc ? например какой параметр у направления ветра в симе, чтоб закинуть код в MakeMDL.parts.xml и прикрутить анимацию флага на на правление ветра в симе.

XML изучал по SDK, статье на этом сайте про приборостроение (в файлах), по форуму. Смотрел MakeMDL.parts.xml, много думал.
Конкретно шасси не занимался. Что значит «срабатывает но не так как надо»?
Кроме Parameters.doc — вроде нигде. Мне, например, нужна переменная опускания конкордовского носа (в симе точно есть такая), а в этом файле ее нет 🙁
А AMBIENT WIND DIRECTION чем не устраивает? Взято из того же Parameters.doc.

Ну значит не могу связать правильно тангаж самолёта и анимацию тележки, тоже надо много думать 🙂 код понять…

Просмотр сообщенияГлеб (29.03.2007 15:16):

Помогите понять: <code>(L:MySwitch, bool) 50 *</code>

Почему «L», откуда взялось MySwitch, что такое bool, и * после 50.
Спасибо

Такая запись потому, что операции через стек.

(L:MySwitch, bool) — первый операнд
50 — второй операнд
* — оператор
результат остается в стеке.

Читать еще раз доки в SDK. там подробно все расписано. в 2004 так точно.

Предлагаю выкладывать сюда удачные решения в XML-коде. Например, задача: сделать высотомер с правильно работающим «барабанным» счетчиком. Решение:
(для первого барабанчика, вращающегося плавно)

<part>
	<name>Vys_m</name>
	<animation>
		<rotation>Z</rotation>
		<parameter>
				 <code>
				  (A:INDICATED ALTITUDE, meter) 0.0062832 *
				 </code>
		</parameter>
	</animation>
</part>

Для второго и последующих, вращающихся рывками:

<part>
	<name>Vys_km</name>
	<animation>
		<rotation>Z</rotation>
		<parameter>
				 <code>
				 (A:INDICATED ALTITUDE, meter) 10 / flr 10 * (A:INDICATED ALTITUDE, meter) - /-/ 10 / (&gt;L:metr, meter)
				  (A:INDICATED ALTITUDE, meter) 100 / flr 100 * (A:INDICATED ALTITUDE, meter) - /-/ 90 &gt; ! if{ (A:INDICATED ALTITUDE, meter) 100 / flr 0.6283 * } els{ (A:INDICATED ALTITUDE, meter) 100 / flr (L:metr, meter) + 0.6283 * }
				</code>
		</parameter>
	</animation>
</part>

Естественно, детали Vys_m и Vys_km должны пердставлять собой цилиндры с нанесенными на них цифрами от 0 до 9.

Подсобите с кодом, плз. Есть задумка реализовать запуск ракеты. Тумблер запуска в кабине. Последовательность такая:
1. Тумблер нажат, отцепка, ракета три секунды летит параллельно самолету, 20 кадров.
2. Раскладывается стабилизатор, еще через пять секунд происходит старт двигателя (тут надо прицепить эффект, ну в смысле не технически прицепить — это понятно, а сделать так, чтобы он запускался на нужном кадре). Еще кадров 30-35.
3. 50 кадров — разгон.
4. Все остальное — полет. Взрыв реализовать как-то не представляется возможным.
Дополнительно вопрос: предположим ракета запущена, возможно ли сделать, чтобы при изменении направления полета ракета продолжала лететь в направлении запуска?

И еще вопрос. Предположим, мне надо изменить скорость уборки одной из стоек шасси. В makemdl.parts.xml соответствующих переменных нет. Как быть?

Просмотр сообщенияMaximus (17.06.2007 13:11):

И еще вопрос. Предположим, мне надо изменить скорость уборки одной из стоек шасси. В makemdl.parts.xml соответствующих переменных нет. Как быть?

в эйркрафт.кфг время уборкивыпуска шасси выставляется

2 Maximus

отправил в приват. Проверь

Fishbed

Спасибо, разобрался. Чуть не нагородил огород 🙂

Я тут глюк какой-то упрямый поймал — делаю стабилизатор (у меня это две детали), обзываю его (точнее их) elevator_key (соответствующая секция в makemdl.parts имеется, по сдк делаю анимацию — 0 кадров-вверх, 50 кадров-нейтрально, 100 кадров-вниз… И ничего не происходит. В симе висит на нулевом кадре.

Просмотр сообщенияMaximus (17.06.2007 20:00):

Fishbed

Спасибо, разобрался. Чуть не нагородил огород 🙂

Я тут глюк какой-то упрямый поймал — делаю стабилизатор (у меня это две детали), обзываю его (точнее их) elevator_key (соответствующая секция в makemdl.parts имеется, по сдк делаю анимацию — 0 кадров-вверх, 50 кадров-нейтрально, 100 кадров-вниз… И ничего не происходит. В симе висит на нулевом кадре.

Если обе детали обзываете одинаково то есть такой глюк, называйте папример Elevator_Key_perviy а вторую Elevator_Key_vtoroy.

View PostFishbed, on 17.06.2007 12:28, said:

в эйркрафт.кфг время уборкивыпуска шасси выставляется

Покажите пожалуйста где это выставлять :pilot:

И ещё вопрос, какая переменная отвечает за tailhook, в СДК не нашёл.

Спасибо

View PostГлеб, on 21.06.2007 12:15, said:

View PostFishbed, on 17.06.2007 12:28, said:

в эйркрафт.кфг время уборкивыпуска шасси выставляется

Покажите пожалуйста где это выставлять :pilot:

Спасибо

11 и 12 столбик в эйркрафт.кфг в секции контакт поинтс (дефолтный эркрафт.кфг открой, там все подписано, что за что отвечает)

Помогите разобраться с анимацией ато я не понял, например как сделать анимацию шасси?

Quote

Помогите разобраться с анимацией ато я не понял, например как сделать анимацию шасси?

Где(в чем) сделать?

В 3sMax сделал модель с анимацией, настроил как в SDK написанно, но анимация не работает?

View PostBIGSIZE, on 22.10.2008 14:53, said:

В 3sMax сделал модель с анимацией, настроил как в SDK написанно, но анимация не работает?

А версию сима, для которой делаете, даже под пыткой не скажете?

View Postgosha-z, on 22.10.2008 17:01, said:

View PostBIGSIZE, on 22.10.2008 14:53, said:

В 3sMax сделал модель с анимацией, настроил как в SDK написанно, но анимация не работает?

А версию сима, для которой делаете, даже под пыткой не скажете?

MFS9

(Если можно выложите плагин для экспорта в .X для 7 max а то у меня левый)

Уважаемые Коллеги. Доброго времени суток.
Пожалуста, проясните мне ситуацию с созданием Деталей, по которым предполагается действие пользователя(кнопки и др. в ВК)

Модель в Максе 7, панда под него из соседнего топика.

Мне не удается создать деталь, по которой можно было-бы кликнуть.

Я пробовал вот такой код.

<part>
<name>Left_Window_Handle</name> 
<animation>
<parameter>
<code>(L:Left_Window,bool) 50 *</code> 
<lag>50</lag>
</parameter>
</animation>
<mouserect>
<cursor>Hand</cursor>
<tooltip_text>Window</tooltip_text>
<mouse_flags>LeftSingle</mouse_flags>
<callback_code>(L:Left_Window,bool) ! (>L:Left_Window,bool)</callback_code>
</mouserect>
</part>

Вместо «>» там естественно «&gt»
«Лапа» не появляется на детали.
И я не могу найти ошибку. Помогите пожалуста.

View PostKirill Konovalov, on 16.06.2009 17:54, said:

Мне не удается создать деталь, по которой можно было-бы кликнуть.

На вид ошибок в коде нет, Visual Studio тоже подсвечивает XML как well-formed.

Попробуй, на всякий случай, скопипастить к себе нижеприведенный кусок кода, Left_Window_Handle в свою очередь скопипасть из названия детали в максе.

<part>
    <name>Left_Window_Handle</name>
    <animation>
 	 <parameter>
 	   <code>
 		 (L:LWindow,bool) 50 *
 	   </code>
 	   <lag>50</lag>
 	 </parameter>
    </animation>
    <mouserect>
 	 <cursor>Hand</cursor>
 	 <tooltip_text>Window</tooltip_text>
 	 <mouse_flags>LeftSingle</mouse_flags>
 	 <callback_code>
 	   (L:LWindow,bool) ! (>L:LWindow,bool)
 	 </callback_code>
    </mouserect>
  </part>

Что делает этот код. При щелчке мышкой по детали с названием Left_Window_Handle будет вызван код обратного вызова (то что между тегами callback_code). В нем текущее значение булевской переменной LWindow (может принимать два значения: 0 либо 1) с помощью оператора ! (логическое НЕ — оператор записывается после операнда) меняется на противоположное, и записывается в переменную LWindow (в коде >L:LWindow,bool) параллельно деталь Left_Window_Handle выставляется в кадр анимации, расчитывемый в теге code. То есть, текущее значение LWindow умножается на 50 и получается либо кадр 0, либо кадр 50. Код работает с той самой пандой как в 8м максе так и в 7м.

добрый день! Подскажите как сделать в gmax пользовательскую анимацию. Со стандартной, такой как вращение колес винтов я разобрался.
Да, ещё вопрос:внешнее освещиен как то фары и габариты как прописываюся?
Спасибо!

View PostKirill Konovalov, on 16 June 2009 — 14:54, said:

Уважаемые Коллеги. Доброго времени суток.
Пожалуста, проясните мне ситуацию с созданием Деталей, по которым предполагается действие пользователя(кнопки и др. в ВК)
…
«Лапа» не появляется на детали.
И я не могу найти ошибку. Помогите пожалуста.

А почему вы думаете, что ошибка именно в этом куске кода ?
Могут быть еще другие варианты. Например незакрытый тэг в makemdl_parts.xml где-нибудь выше описания данной анимации. Или какая-нибудь другая синтаксическая ошибка из-за которой парсирование файла прекращается (a makemdl.exe об этом ничего не говорит). Попробуйте перенести этот код куда-нибудь повыше. Наводящий вопрос : а анимации которые заданы после этого кода — все работают ? По неработающим анимациям можно вычислить где именно искать ошибку.