Выберите все построенные Fillet и Square и сгруппируйте их. Назовите группу Corners. После этого перетащите средней кнопкой группу Corners и бросьте ее на группу nurb-sCubel. Теперь группа nurbsCubel содержит в себе все поверхности и полностью управляет нашим кубом. Попробуйте масштабировать группу nurbsCubel. Засада! Все разъехалось.

Это, естественно, происки Construction History. Угловые поверхности получают двойное масштабирование - от плоскостей и от себя лично.

А жаль. Так хорошо было бы иметь одну группу для всей модели.

Ищем решение. Оно скрывается в Attribute Editor для группы Corners. Там надо выключить галку Inherit Transform (наследовать трансформации), чтобы группе Corners не передавались масштабирование и прочие трансформации от родительской группы nurbsCubel.

Теперь масштабирование группы nurbsCubel работает, как ожидалось.

Сохраните сцену (roundedCube3.ma) и подумайте о том, как мы будем ее дальше использовать. В дальнейшем мы будем импортировать этот файл в нужную сцену, Задавать положение и размеры куба, настраивать величину скругления и удалять Construction History, которая дальше не потребуется.

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

Выберите группу nurbsCubel и добавьте к ней новый атрибут gap со значением по умолчанию 0.9: Modify=>Add Attribite (Default=0.9).

Теперь откройте Windows=>General Editors=>Connection Editor и нажмите Reload Left, чтобы загрузить nurbsCubel в левую панель.

Выберите в Outliner все шесть граней куба и нажмите Reload Right. Для удобства обзора снимите в меню Left Display и Right Display галки Show Non-Keyable.

Выберите слева атрибут gap, а справа выбирайте у всех объектов атрибуты ScaleX, ScaleY,

ScaleZ.

Закройте Connection Editor.

Выберите nurbsCubel, и меняйте значение атрибута gap в диапазоне от нуля до единицы. Теперь нет необходимости в разыскивании, выборе и масштабировании граней куба. Все необходимые параметры куба управляются атрибутами группы nurbsCubel.

Сохраняем файл (roundedCube4.ma).

Чудо инженерной мысли готово, можно возвращаться к давно заброшенному построению паровоза. «Минуточку!» - воскликнут немногочисленные измученные кубиком пытливые умы. В самом деле, ведь когда мы сымпортируем наш куб в другую сцену, настроим его и удалим историю, передвигать его будет, потом уже, нельзя, так как подгруппа Corners не наследует трансформации и придется обязательно помнить об этом и вручную включать. Да это так. И хорошо бы помнить об этом всегда.

Однако MAYA потакает человеческим слабостям и людям с короткой памятью. Попробуйте временно удалить историю прямо для выбранной группы nurbsCubel (Edit=>Delete by Type=>History).

Вы увидите в Script Editor следующее сообщение:

Warning: Turning on inheritTransform for ‘Corners’.


⇐ вернуться назад | | далее ⇒