Render.ru

Maya 2016 Subdivisions With Height ...etc

Annuran

Активный участник
Рейтинг
13
#1
Привет всем. Все копаю Майку 2016 СП5. Не разобрался, мо кто сталкивался?
Создаем куб... если его не трогать и добавлять-убавлять Subdivisions через Атрибут Едитор то все нормально. Если произвести скейл не трогая внутрянки то получается бяка. Это недоработка? или я опять какой то галочки не заметил?
 

Вложения

simon310

Мастер
Рейтинг
80
#2
Это недоработка? или я опять какой то галочки не заметил?
Это как бы всегда так было. Не стоит изменять подразбиения после скейла. Сразу выставить нужное количество сабов, а потом уже скейлить
 

blindartist

Активный участник
Рейтинг
8
#3
Беда в том, что в ноду transform передается не сама нода shape, а, фактически, ее результат, с учетом нумерации вершин. Изменение нумерации вершин вследствии добавления разбиений ПОСЛЕ работы с нодой трансформ приводит к неожиданным результатам - к старым вершинам уже применена трансформа с учетом их положения относительно пивота, к новым - нет. Точно так же могут быть неожиданные результаты при любом изменении нижестоящей ноды, меняющие топологию модели.
"Это не баг, это фича", а точнее особенность нодовой архитектуры Maya. Всегда было и (дай бог) всегда будет.
 

Lemieux

Знаток
Рейтинг
58
#4
А у меня не получается.
1. Создаю куб не трогая сабдивы
2. Масштабирую
3. Добавляю сабдивов в атрибутэдиторе/ченелэдиторе
4. Ничего не происходит

Так же ничего не происходит если в начале изменять сабдивы, потом скейлить, а потом ещё раз изменять сабдивы.
 

blindartist

Активный участник
Рейтинг
8
#5
А вот теперь перечитал тса и понял что был не внимателен. Если масштабится сам объект, то такого быть не должно, это происходит при масштабировании компонентов. Но сам уже давно на 16 майе и такого не было, дело не в версии.
 

Lemieux

Знаток
Рейтинг
58
#6
А вот теперь перечитал тса и понял что был не внимателен. Если масштабится сам объект, то такого быть не должно, это происходит при масштабировании компонентов. Но сам уже давно на 16 майе и такого не было, дело не в версии.
А вот с компонентами получилось :)
 

blindartist

Активный участник
Рейтинг
8
#7
Вообще есть способ это вылечить. В режиме выделения вершин вChannel Box разворачиваем вкладку CV (в ней находятся относительные координаты выделенных вертексов) выделяем все вертексы и обнуляем все значения(достаточно кликнуть в левух верхнюю угловую ячейку, чтобы выделить всю таблицу и вбить 0). ВАЖНО! не путаем с координатами вершин в Component Editor, там абсолютные значения.
Насчет причин ничего подсказать не могу =(
 

Annuran

Активный участник
Рейтинг
13
#8
короче очередной глюк.... а на счет было и дайбог будет чето стремно написано... бо глюк фичей как не обзывай а танцы с бубном он то по жизни в основном лишнее. Да кстати не поленился перепроверил в 2014 ... с моей радости там такой "фичи" нет.

Lemieux: маштабировать нелинейно надо по одной из осей только, если пропорционально то работает правильно. гы без фич так сказать.
 

Lemieux

Знаток
Рейтинг
58
#9
короче очередной глюк.... а на счет было и дайбог будет чето стремно написано... бо глюк фичей как не обзывай а танцы с бубном он то по жизни в основном лишнее. Да кстати не поленился перепроверил в 2014 ... с моей радости там такой "фичи" нет.

Lemieux: маштабировать нелинейно надо по одной из осей только, если пропорционально то работает правильно. гы без фич так сказать.
И по одной из осей масштабировал, тоже всё норм было
 

blindartist

Активный участник
Рейтинг
8
#10
смог воспроизвести в 2016 и 2014 (!). Заодно и проблему нашел.
Это происходит, если в скейл инструменте стоит Axis Orientation отличная от Object (например, World). Для внимательных пользователей в командной строке еще и предупреждение пишет при этом
"// Warning: Non object-space scale baked onto components."
Так же не сложно заметить, что циферки скейла в трансформе объекта не меняются, что должно вызывать подозрения.
Так что таки фича :D
 

Annuran

Активный участник
Рейтинг
13
#11
смог воспроизвести в 2016 и 2014 (!). Заодно и проблему нашел.
Это происходит, если в скейл инструменте стоит Axis Orientation отличная от Object (например, World). Для внимательных пользователей в командной строке еще и предупреждение пишет при этом
"// Warning: Non object-space scale baked onto components."
Так же не сложно заметить, что циферки скейла в трансформе объекта не меняются, что должно вызывать подозрения.
Так что таки фича :D
Вот .... собственно вопрос то в этом и был...что я сам не разобрался.... каюсь невнимательный... спасибо тебе.
Тема закрыта можно сказать.
 

Annuran

Активный участник
Рейтинг
13
#12
Да кстати, все-ж таки я считаю что это не фича, а ГЛЮК. Только не в Майке а в пользователе, бо полезного применения не придумал.
 

blindartist

Активный участник
Рейтинг
8
#14
все-ж таки я считаю что это не фича, а ГЛЮК.
Это совершенно не глюк. Это просто особенность передачи данных по системе нод, которая дает вполне логичный результат - изменение входных данных в ноду Shape ПОСЛЕ того, как данные уже были изменены в этой ноде. Полезного применения конкретно этому проявлению, наверное, не найти, но сама система крайне удобна при понимании ее работы и позволяет легко отслеживать любые проблемы, как, например в данном случае.
у меня и World и parent ничего не дают
Parent у только что созданной модели отсутствует (точнее, парент у нее в этот момент World), так что разницы не будет. А то, что World не дает такого глюка - надо смотреть конкретные настройки сцены. Возможно, если World пространство совпадает с Object такой проблемы и не будет возникать, хотя не понятно, надо проверять на практике. Масштабите Scale Tool, не через ползунки Channel Box/Attribute Editor?
 
Последнее редактирование:

blindartist

Активный участник
Рейтинг
8
#16
Сейчас нет майи под рукой, не могу потестить =(
Если не лень будет интересно следующее:
Какая ось выставленна в Polygon Cube Options? Возникает ли проблема при изменении оси?
Возникает ли проблема, если куб сначала повернуть на 90/180 градусов, а потом скейлить по World?

Хых... Вот вроде мелочь, а теперь стало прям интересно, как оно работает XD
 

blindartist

Активный участник
Рейтинг
8
#18
оси менял, крутил - без разницы, ничего
как интересно... А при поворотах на углы, не кратные 90? При этом не может не проявиться, т.к. такое сжатие будет менять исходную форму и через Transform ноду его не описать...
 

blindartist

Активный участник
Рейтинг
8
#20
"Этого не может быть, потому, что быть не может" ©, поэтому проверим порядок действий:
1) Создаем объект (куб) с заданным количеством подразделений (например, 4)
2) скейлим его с режимом World (опционально еще и крутим)
3) в настройках куба меняем количество подразделений (например, до 7)
Все так?
 
Сверху