1. Пользоваться форумом на планшетах и телефонах стало удобнее благодаря Tapatalk

Перемещение в начало координат

Тема в разделе "Maya", создана пользователем kivergir, 12 сен 2007.

Модераторы: Dark™, Skif
  1. kivergir

    kivergir Пользователь сайта

    С нами с:
    20.07.2006
    Сообщения:
    10
    Симпатии:
    0
    Баллы:
    2
    Привет всем! Работаю с MAX-ом, параллельно разбираюсь с MAYA. Возник такой вопрос:
    Есть объект - допустим сфера - в атрибутах перемещения и поворота по всем осям стоят нули, в масштабе по всем осям единицы, вот так:
    translateX=0
    translateY=0
    translateZ=0
    rotateX=0
    rotateY=0
    rotateZ=0
    scaleX=1
    scaleY=1
    scaleZ=1
    Не смотря на это сама сфера смещена относительно начала координат и распологается, где то так (100;10;20).

    А теперь вопрос: как перместить эту сферу в начало координат, т.е., что бы ее фактическое положение соответствовало тому что стоит в атрибутах, т.е. (0,0,0)?

    Спасибо!
     
  2. ilix

    ilix Пользователь сайта

    С нами с:
    26.07.2007
    Сообщения:
    18
    Симпатии:
    0
    Баллы:
    2
    о! еще один! добро пожаловать в клуб "переходчиков" с макса на майю ))
    Вобщем нажимай W и вверху, там где координаты вписывать, рядом с кнопками для рендера, вписывай нули. В максе ж тоже это есть )
     
  3. kivergir

    kivergir Пользователь сайта

    С нами с:
    20.07.2006
    Сообщения:
    10
    Симпатии:
    0
    Баллы:
    2
    Ilix, спасибо за ответ! Но это действует, если, мы создали сферу не в начале координат. а допустим (100,0,100), вводим нули там где ты сказал, тогда да, она переместится в начало, а если, к этой сфере, на переферии, применить Freeze transformation, тоесть обнулить атрибуты перемещения, то как тогда?
    Можно конечно с помощю Move и привязки к сетке, но это не плохо если двигать приходится один объект, а если их 1001?
     
  4. Покатигорошек

    Покатигорошек Активный участник

    С нами с:
    09.12.2005
    Сообщения:
    232
    Симпатии:
    3
    Баллы:
    15
    Выделяешь объекты и выполняешь скриптик:

    Код:
    string $listObj[] = `ls -sl`;
    for ($obj in $listObj){
    	xform -centerPivots $obj;
    	makeIdentity -apply true -t 1 -r 0 -s 0 -n 0 $obj;
    	float $pivPos[] = `xform -q -ws -piv $obj`;
    	move -ws ($pivPos[0]*-1) 
    			($pivPos[1]*-1)
    			($pivPos[2]*-1) $obj;
    }
    
     
  5. tadpole

    tadpole Знаток

    С нами с:
    12.08.2005
    Сообщения:
    712
    Симпатии:
    1
    Баллы:
    24
    ставишь привязку к сетке. перетаскиваешь обект в начало координат. обнуляешь координаты объекта.
     
  6. kivergir

    kivergir Пользователь сайта

    С нами с:
    20.07.2006
    Сообщения:
    10
    Симпатии:
    0
    Баллы:
    2
    Покатигорошек, благодарю! Я, в принципе, предпологал, что без скрипта не обойтись.
    Всем спасибо!
     
  7. GRV

    GRV Активный участник

    С нами с:
    11.10.2005
    Сообщения:
    36
    Симпатии:
    0
    Баллы:
    5
    Без скрипта обойтись.
    Но скриптом вопросов меньше ;)
     
  8. Решатель

    Решатель Знаток

    С нами с:
    20.04.2005
    Сообщения:
    1.413
    Симпатии:
    0
    Баллы:
    44
    Если без скрипта - то выделяешь все объекты, и со снэпом к гриду двигаешь в центр. Они все прыгнут в одну точку.
     
  9. Покатигорошек

    Покатигорошек Активный участник

    С нами с:
    09.12.2005
    Сообщения:
    232
    Симпатии:
    3
    Баллы:
    15
    Перед этим неплохо бы дать пару команд - Center Pivot и Freeze Transform... )

    kivergir, пожалуйста.
     
Модераторы: Dark™, Skif

Поделиться этой страницей