Render.ru

Как трансформировать группу объектов без изменения самих объектов ?

Vzor

Активный участник
Рейтинг
11
#1
Привет !

Кто знает как в Maya трансформировать группу объектов не меняя при этом размеры самих объектов, ну то-есть расстояние между обьектами сокращается, а сами обьекты не уменьшаются ?
 

Вложения

Миша Ершов

Модератор форума
Рейтинг
314
#2
В вашем случае нужно изменять не scale, а transform канал.
Ответ - мышкой, или скриптик написать.
 

Vzor

Активный участник
Рейтинг
11
#3
И так и так съем - Причём с Удовольствием !

PS: Скриптик конечно хорошо бы !

Спасибо что заметил !
 

Skif

Администратор 3D галереи
Команда форума
Рейтинг
584
#4
создаёшь 2 локатора к 1 парентишь первый объект, ко 2 парентишь второй... ну а тот что посередине... выбери сначала оба локатора и после этого объёк который посередине должен быть... применяешь команду Constrain > Point теперь перемещая локаторы объект будет точно посередке...
вот и всё... приемущемтва этого способа такие:
можно регулировать смещение... тоесть чтоб не точно посередине а смещённо...
для этого выбираешь объект посередине, у него появятся 2 атрибута (бла бла бла point бла)
вот значения эти и андо менять... в сумме они должны равняться 1.
 

Denzil

Мастер
Рейтинг
353
#5
Если оъекты двигаются вместе, а изменяется только расстояние между ними, то проблема проще всего решается дривен кеями. Один или два атрибута, в зависимости от симметричности приближения-удаления объектов.
два обекта парентятся к одному, который управляет общим движением + на нем атрибут(ы).
 

Миша Ершов

Модератор форума
Рейтинг
314
#7
Vzor сказал(а):
PS: Скриптик конечно хорошо бы !
Скриптик будет неоправдано сложный.
Подобные действия требуются редко, и поэтому проще написать скрипт для конкретной задачи, а не универсальный.
 

Fiend3d

Мастер
Рейтинг
120
#9
Не нашёл у себя омт…
Написал свою версию того что там было:
Код:
{
string $name[] = `ls -sl -fl`;

select -cl;

int $i = 0;
for (;$i < size($name);++$i)
{
string $loc[] = `ls -sl -fl`;
float $float[] = `xform -q -ws -t $name[$i]`;
CreateLocator;
move $float[0] $float[1] $float[2];
select -add $loc;
}

string $locators[] = `ls -sl -fl`;
string $locators[] = `sort $locators`;

group;
CenterPivot;

for ($i = 0;$i < size($name);++$i)
{
select $locators[$i] $name[$i] ;
pointConstraint -mo -weight 1;
}

select $locators[0];
pickWalk -d up;

string $gr[] = `ls -sl`;
HideSelectedObjects;
select $gr;
}
Положи на полку.
 

Fiend3d

Мастер
Рейтинг
120
#11
Можно положение скалировать и вращать :)
И проводить махинации с пивотом при этом
 

Vzor

Активный участник
Рейтинг
11
#13
Спасибо Всем что заметили мой вопрос !

И ОГРОМНОЕ СПАСИБО Fiend3d (3D Award) !

PS : а то я запарился вручную двигать фонари на улице.

Твой скрипт работает Просто Замечательно ! ОГРОМНОЕ СПАСИБО ! Круто вот так сходу Своять MEL ! ОГРОМНОЕ СПАСИБО !
_________________________________

Миша Ершов (2D&3D Work) не огорчайся что ты не успел написать скриптик, ничего страшного, у меня тоже не всегда хватает времени на все дела !

Ты всегда давал путные советы и я это очень ценю ! Не только в моих темах но и вообще в форуме !
Ты почти всегда Первый отвечаешь на вопросы форумчан ! И очень много времени проводишь в форуме занимаясь именно ответами на вопросы ! Ты всегда готов помоч ! Мы Ценим Это !

PS: Вопрос кажется простым или сложным не по размеру описываемых действий, а по частоте его использовании в реальной работе.
Кто то сходу скажет, сколько надо топлива чтобы долететь до Венеры, не потому что быстро считает, а потому что летает на неё каждый день !

PS : Ветхий Старик указывающий путь - дарит крылья ибо сокращает дорогу.
Конфуций

_________________________________

PS : Кстати все кто будут брать этот скрипт имейте ввиду : Если у вас вдруг пишет:

Error: Syntax error

то нужно удалить невидимые символы-пробелы в конце каждой строки ( Они появляются иногда при копировании ) и переключить клаву на английский иначе иногда не работает !

А вообще всё должно работать и так !

________________________________


PS: К вопросу : " Куда и Как вводить Скрипт MEL ?!: Так на всякий случай !

Ответ :

1. Вначале надо выделить нужную группу объектов

2. Вставляем ( Вводим ) этот текст ( Скрипт MEL ) в окно: Script Editor ( Редактор Сценариев )

( Данное окно вызывается :

Windows \ General Editors \ Script Editor ( Редактор Сценариев )

Или просто нажать на кнопку в правом углу экрана ! )

4. Введя этот Скрипт-Текст MEL надо нажать " Ctrl+Enter "

5. Объекты станут красными, после чего их можно редактировать обычными ИНСТРУМЕНТАМИ !

6. Что бы снять этот режим достаточно щёлкнуть в любом свободном месте !

_________________________________


PS: К вопросу : " Как Положить Скрипт MEL на "ПОЛКУ" ( т. е. :

Как Создать Соответствующую Скрипт-MEL Кнопку в Палитре Инструментов Сверху !) ?: Так на всякий случай !

Ответ :

1. Выбираем нужную закладку сверху в палитре инструментов Например " Custom"

2. Вставляем ( Вводим ) этот текст ( Скрипт MEL ) в окно: Script Editor ( Редактор Сценариев )

( Данное окно вызывается :

Windows \ General Editors \ Script Editor ( Редактор Сценариев )

Или просто нажать на кнопку в правом углу экрана ! )

4. Введя этот Скрипт-Текст MEL надо ВЫДЕЛИТЬ ВЕСЬ ВВЕДЁННЫЙ ТЕКСТ

5. Далее в меню Script Editor ( Редактор Сценариев ) Выбираем команду :

File \ Save Script to Shelf...

6. В появившимся окне вводим имя будущей кнопки ( Например " Транс - Custom Transform " )
Внимание первые 5 букв в имени будут написаны на кнопке ( Причём эти 5 букв могут писаться и на русском )

7. Теперь каждый раз не надо вводить " Скрипт MEL " а достаточно просто каждый раз нажимать Эту созданную нами кнопку кнопку ( Например " Транс - Custom Transform " )

___________________________________

Наслаждайтесь " MAYA " !
 

Вложения

Миша Ершов

Модератор форума
Рейтинг
314
#14
Vzor сказал(а):
не огорчайся что ты не успел написать скриптик, ничего страшного, у меня тоже не всегда хватает времени на все дела !
Да я и не огорчаюсь. :) У меня есть что пописать в свободное время.

Vzor, может вам урок написать?
 

Vzor

Активный участник
Рейтинг
11
#15
Придёт Время и напишем ! - А сейчас знаний маловато, на полноценный то урок - Учимся !

А сейчас, даю Вам " фору " ! - Вместе их оценим !
 
Сверху