воскресенье, 26 февраля 2012 г.

3D Maya. Разбираюсь с пивотами

Была у меня такая проблема, когда работая с объектами после их поворота, я не могла скейлить их относительно их фейсов ( локальная ось была смещена) . Геометрия при скейле менялась не так, как мне этого хотелось и тогда я "забила" на это, подгоняя отдельные компоненты объекта вручную, чтобы получить нужный результат и надеясь с этим когда-нибудь разобраться..

Наступил момент, когда один мой знакомый (Денис, привет!) написал мне в скайп почти тот же вопрос о пивотах.

Проблема была такой же и вопрос -- как выровнять пивот в этой ситуации так, чтобы можно было скейлить меш относительно локального пивота.


С этим вопросом мне помог разобраться Тёма ( за что ему отдельное спасибо!)

Итак, сначала вывод из наших экспериментов.



Поворот геометрии лучше делать , просто выбрав объект, а НЕ в режиме выделения компонентов.

А теперь разберём проблему на пальцах, то есть на кубиках.

Создадим 2 одинаковых куба.



Один из них (назовём его условно куб 1) повернём по нескольким осям в режиме выделенного объекта.




Затем развернём второй куб в режиме выделенных компонентов (faces)


Попробуем отскейлить наши кубики по одной из осей. При этом откроем опции инструмента Scale Tool.

Куб 1.



Куб 2.


Как вы уже заметили ось изменились в зависимости от того каким образом был выделен объект при повороте.

Первый куб мы спокойно можем менять в размере по одной из выбранных осей.


а вот что происходит если изменить размер второго куба.


А теперь внимание-- вопрос?
как же можно отредактировать такой объект?

Мы с Тёмой нашли 2 варианта. Но если кто знает более правильный вариант-- буду рада услышать его.

Итак, есть объект, который был развёрнут при выделенных фейсах.


Первый вариант -- отскейлить объект относительно одного из фейсов. Для этого выбираем режим Custom Axis Orientation


И нажав на кнопку Set to Face, выбираем тот фейс относительно которого мы хотим отскейлить геометрию.



теперь мы можем отскейлить наш кубик относительно выбранного нами Face-а.


Второй вариант.
Выделить пивот, зайдя в режим редактирования его. ( hot key "D" или Insert (на моём ноуте Fn+Del)

и перейти в режим поворота пивота , нажав на "шпрычку" )))


И попытаться вручную выровнять пивот.





Минус второго способа заключается в том, что результат не точный, а "на глаз".

Если у кого есть варианты справится с этой задачей - you are welcome! ))
Но повторюсь, лучше поворачивать объект изначально в режиме выделенного объекта, а не компонентов :)


Спасибо DDD diary за линку. И Александру Чернега за видео:

30 комментариев:

  1. http://youtu.be/U088f9NdxdQ
    На видео соотечественник показывает...

    ОтветитьУдалить
  2. Придумал еще один вариант, но не самый легкий:)
    В общем по порядку:
    1. Создается 2 локатора
    2. 1-й выравнивается по центру объекта через Parent Constrain(Animation-Constrain-Parent) со снятой галочкой Maintain offset. После этого зависимость удаляем в аутлайнере.
    3. 2-й локатор располагается в точке, куда должна смотреть верхняя ось координат. В примере с кубом, нужно просто "порезать" его так, чтобы на полигоне образовалась вершина ровно по центру. После чего с зажатой клавишей V переносим локатор в позицию этой вершины.
    4. Далее нужно сделать Aim Constrain для 1-го локатора ко 2-му, указав World up type - Object up, и написать имя второго локатора в поле. После этого первый локатор должен развернуться верхней осью ко второму.
    5. Убираем Aim Constrain с локаторов и привязываем к центральному локатору куб и скейлим сам локатор :)

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

    ОтветитьУдалить
  3. Всегда пользуюсь первым способом, быстро и просто. Там и set to edge, и set to face... Зачем изобретать что то :)
    А ведь хотел заметку написать по работе с осями :)) Не успел )

    ОтветитьУдалить
  4. а я как раз тебя читаю сейчас ))) про то как ты Нормал карты редактируешь в NDo2 )))

    ОтветитьУдалить
  5. ориентировать пивот вдоль ребра или грани можно этим(сместить пивот в компоненту или геометрический центр выбранных компонент ими же)
    http://www.creativecrash.com/maya/downloads/scripts-plugins/utility-external/misc/c/local-tools

    ОтветитьУдалить
  6. по сути, автодеск предлагает 2 варианта: или еще лет 5 заниматься всяческим сексом, или поставить уже упомянутые Local Tools. поверьте, 2ой вариант будет ощущаться как глоток воздуха после затяжного ныряния). ну такая она, майя...зачем-то..

    ОтветитьУдалить