• Добро пожаловать на Quest3D - Русскоязычное сообщество.
 

Новости:

Форум Quest3D восстановлен!

Главное меню

Маятниковое движение

Автор mistud, 14 февраля 2008, 01:39:57

« назад - далее »

mistud

Ребята, мне нужно сделать так, чтобы объект вращался на определенный угол в оба направления, т.е. делал циклично неполный оборот (типа маятника часов). Мучаюсь несколько часов, не могу справиться. Подскажите, какие каналы и как нужно связать.

Есть такой канал: Value Operator, и в нем есть выбор действий. Одно из них Loop Relative Value - так вот это почти то, что мне нужно: можно задать начальный и конечный углы поворота, но скорость задается только в одном направлении. Как сделать, чтобы скорость на заданных границах изменялась на противоположную?

Жду предложений.

KBECT0MAH

у меня получился такой маятник  ;D


mistud

Спасибо, КВЕСТОМАН. Я сам придумал схему, просто не смог ее сразу выложить. Схема прикреплена. Она слегка проще, чем твоя. В моей не нужны триггеры. Для переключения каналов я использую Expression Value. В нем цикл увеличения числа с нуля до двух. Пока Expression Value меньше единицы, вызывается нулевой канал Channel Switch, а потом, когда Expression Value переваливает за единицу, вызывается первый канал Channel Switch. Скоростью переключения между каналами можно управлять изменяя значение (которое на прикрепленной картинке 0.003). Ну а плавностью движения можно управлять, естественно, меняя значение Inertia, как и у тебя.

В любом случае, спасибо тебе за старания.

З.Ы. Просто мне нужно было поспать, чтобы мозг начал работать в нормальном режиме :)

KBECT0MAH

 :D  если бы я знал какие переменные, что означают и как их можно применять,
то наверно тоже сделал схему попроще  ;) а пока я могу только складывать А и В  ::)

Расскажите мне, что делает OLD, каков его принцип действия?

Gerion

OLD это текущее значение Expression.
например если написать i=i+1 то в данном случае это будет выглядить как OLD+1
партфолива тута ... гыы
www.redsqr.ru

mistud

#5
Сейчас объясню значение того, что у меня написано в Expression Value.

Оно выглядит так:
OLD<2?OLD+0.003:0

OLD - текущее значение (как уже успели заметить выше)
OLD<2 - это условие, которое мы задаем.
Если оно выполняется, то должна приводиться в действие та часть Expression Value, которая написана между знаком вопроса и двоеточием. Если же условие не выполняется, то приводится в действие часть Expression Value, написанная после двоеточия.

Итак, в нашем случае происходит следующее. Начальное значение Expression Value по умолчанию равно нулю. Следовательно выполняется наше условие OLD<2 и значение начинает увеличиваться с каждым кадром на величину 0.003. Как только значение становится равным 2 в силу вступает вторая часть выражения (написанная после двоеточия) и наше значение Expression Value обнуляется и цикл начинается заново.

Вот как-то так.

KBECT0MAH

Спасибо за разъяснения  :)
Теперь буду не полько прибавлять но и использовать вопрос(?) и двоеточие(:)  :D