Quest3D - Русскоязычное сообщество

Quest3D => Общие вопросы => Тема начата: micB от 18 Ноября 2009, 08:07:05



Название: Текстура едет все быстрее и быстрее. Непонятки с матрицами.
Отправлено: micB от 18 Ноября 2009, 08:07:05
Нужно что бы текстура перемещалась по объекту, причем не по одному, а по нескольким. Реализовал это как на схеме. Настроил нужную скорость перемещения на одном объекте. Создал ярлык того фрагмента кода, который отвечает за перемещение. Цепляю этот ярлык к еще одному объекту и....текстура начинает двигаться быстрее. Скорость растет с каждым новым добавленным объектом. Причем скорость меняется если объект прятать через Drow Object или отрубать его от 3Drender.
Что к чему, каким то образом происходит сложение чего-то или перемножение чего-то. В общем кто в теме объясните пожалуйста.
Спасибо.


Название: Re: Текстура едет все быстрее и быстрее. Непонятки с матрицами.
Отправлено: Cludz от 18 Ноября 2009, 09:36:54
убери Inertia и Damping Value
зачем они тебе нужны?
именно из за них у тебя скорость возрастает а не от количества линков


Название: Re: Текстура едет все быстрее и быстрее. Непонятки с матрицами.
Отправлено: micB от 18 Ноября 2009, 10:07:55
Cludz Не-а не угадал.  :) Пробовал и без нее, но результат тот-же - зависимость от кол-ва линков. А инерция мне нужна что бы текстура плавно разгонялась и плавно останавливалась.
Файлик приложу, что бы понятней было.
Запускаем движение текстуры клавишей W. К Vertex Data объекта  pPlane2 коннектим ярлык Convert To 3x3 Matrix(он там рядышком). И видим что скорость движения текстуры мгновенно возрастает.
Пипец какой то, сейчас попробовал без всяких ярлыков, тупо подключить один экспрешн к двум Position vector, в результате получил тоже самое. Даж в таком виде при линковании экспрешн ко второму объекту скорость движения текстуры увеличивается. ???
Кто нить, что нить понимает? Я нет.


Название: Re: Текстура едет все быстрее и быстрее. Непонятки с матрицами.
Отправлено: micB от 18 Ноября 2009, 12:44:24
По моему допер.
Квест считает всю сцену слева направо и сверху вниз(в смысле по иерархии). То бишь вместо одного раза за один полный просчет сцены, он выполняет этот экспершн столько раз сколько раз этот экспрешн подсоединен к элементам сцены. Отсюда и кратное увеличение скорости. К двум элементам подсоединен, тексутра будет ехать в два раза быстрее, к трем - в три и т.д.
Теперь вопрос - как с этим бороться?
Или лучше так: как подключить экспрешн к нескольким элементам сцены так, что бы он считался ОДИН раз, за один просчет сцены?


Название: Re: Текстура едет все быстрее и быстрее. Непонятки с матрицами.
Отправлено: Ruslan от 18 Ноября 2009, 17:34:54
Expression Value посчитай один раз и результат занеси с помощью Set Value в отдельную переменную (Value), затем эту переменную используй, для своих объектов.


Название: Re: Текстура едет все быстрее и быстрее. Непонятки с матрицами.
Отправлено: micB от 19 Ноября 2009, 07:07:40
Ruslan Спасиб. Вчера вечером самого осенило. :) Ток долго мучался чтоб SetValue правильно подключить, оказалось через ChanellCaler. Жаль что хелп без примеров "кода".  :(
А во что (в переменную в смысле) можно и можно ли вообще затолкать данные полученные из канала MatrixOperator?

Пипец туплю, вот же он SetMatrix на два пункта выше. :)