Показаны сообщения с ярлыком controllers. Показать все сообщения
Показаны сообщения с ярлыком controllers. Показать все сообщения

вторник, 4 января 2011 г.

ЗDSMax, практика :)

Продолжая предыдущие темы, таки захотел что-то попробовать на практике.

Ну что ж: имеем стену с дверью, на стене 2 рычага (понятно, что в реале такого практически не бывает, но нам-то что за дело :)
Каждый рычаг зафиксирован по осям, кроме одной, по которой гуляет от -45 до 45 (т.е., на 90 градусов).




 
Тянем один из них. Он привязан к свойству multiplier spot-источника (так, не долго думая, дабы не заморачиваться с тремя переменными RGB). Включили свет, так сказать.








Тянем другой рычаг - открывается дверь. Ни по какой оси она "вручную" не поворачивается, только рычагом. Это хорошо. Надо бы еще, как Эйнштейн в историческом анекдоте - насос прицепить, чтобы каждый входящий накачивал 20 литров воды в дом ;)
Что странно - в данной привязке пришлось использовать выражение Limited_Controller__Bezier_Float-0.785 (минусуем градусы для точного совпадения углов положения двери и рубильника), но вот число странное (подбирал тыком, теперь дверь ложится точно параллельно стене), что наводит на мысль уж не радианы ли это (хотя в координатах - градусы).

Жаль, что на блогспоте нельзя выложить файлик.

3DSMax (controller float limit)

Да, вдогонку о рычагах - кому пригодится или сам забуду )


Если делаем рычаг, который может вращаться только по оси, скажем, Х и только в пределах - 40 - + 40, а остальные оси заблокированы (не может же он болтаться как угодно). То выделяем готовый рычаг (настроим, кстати, и гизмо для начала, чтобы центр вращения знал свое место), далее идем в панель motion, parameters открываем строку (рычаг должен быть selected!) Rotation: Euler XYZ.
Там видим отдельно три оси вращения, на каждый назначаем (маленький вопросик над текущим окном) контроллер float limit, дальше все будет понятно. Upper & lower limit для Х 40 и -40, для остальных двух осей - по нулям.

Все, ваш рычаг будет вращаться используя только ось Х и только в указанных границах.