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

как вычислить координату мел скриптом?

Тема в разделе "Maya", создана пользователем люся зюзина, 1 фев 2011.

Модераторы: Dark™, Skif
  1. люся зюзина

    люся зюзина Активный участник

    С нами с:
    09.01.2006
    Сообщения:
    382
    Симпатии:
    0
    Баллы:
    14
    Как вычислить координату в мировом пространстве? Допустим, координату пивота куба. И как присвоить координату?
    Никак не найду. getAttr и setAttr translate возвращают координату перемещения относительно начала координат. А если объект был перемещен? а потом ему сделана Freeze Transformation?
     
  2. ARTEM TSARAEV

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

    С нами с:
    19.12.2006
    Сообщения:
    371
    Симпатии:
    0
    Баллы:
    13
    вот стрелка красная мировую показывает, а фризом ты сбиваешь только локальную координату, мировая у тебя остаётся та же
     

    Вложения:

    • 2147932.jpg
      2147932.jpg
      Размер файла:
      139,4 КБ
      Просмотров:
      45
  3. люся зюзина

    люся зюзина Активный участник

    С нами с:
    09.01.2006
    Сообщения:
    382
    Симпатии:
    0
    Баллы:
    14
    А как ее извлечь мелом? Мне ее нужно получить, и назначить другому объекту.
     
  4. dreamer3d

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

    С нами с:
    07.08.2007
    Сообщения:
    34
    Симпатии:
    0
    Баллы:
    5
    xform -q -ws -rotatePivot
     
  5. люся зюзина

    люся зюзина Активный участник

    С нами с:
    09.01.2006
    Сообщения:
    382
    Симпатии:
    0
    Баллы:
    14
    Вот так еще попробовала:
    float $coor[]=`xform -q -a -translation pCube1`;
    // Result: 0 0 0 //
    Опять возвратились ноли, хотя вроде как флаг -а должен абсолютную координату в мировом пространстве возвратить...?
     
  6. люся зюзина

    люся зюзина Активный участник

    С нами с:
    09.01.2006
    Сообщения:
    382
    Симпатии:
    0
    Баллы:
    14
    dreamer3d ,

    Большое мерси - получилось наконец-то !
     
  7. люся зюзина

    люся зюзина Активный участник

    С нами с:
    09.01.2006
    Сообщения:
    382
    Симпатии:
    0
    Баллы:
    14
    Собственно, дело не во флаге было: -а работает также как и -ws.
    -rotatePivot возвращает мировую координату, а -translation почему-то замороженную. Странно...
     
  8. dreamer3d

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

    С нами с:
    07.08.2007
    Сообщения:
    34
    Симпатии:
    0
    Баллы:
    5
    соответственно назначить

    Код:
    xform -ws -rotatePivot [i]float float float[/i]
    "-a" nonQueryable flag
     
  9. люся зюзина

    люся зюзина Активный участник

    С нами с:
    09.01.2006
    Сообщения:
    382
    Симпатии:
    0
    Баллы:
    14
  10. люся зюзина

    люся зюзина Активный участник

    С нами с:
    09.01.2006
    Сообщения:
    382
    Симпатии:
    0
    Баллы:
    14
    не все так просто оказалось.
    При этом сам объект остается на месте, а в указанную координату отправляется только его пивот.
    так что пока проблема не решена.
     
  11. dreamer3d

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

    С нами с:
    07.08.2007
    Сообщения:
    34
    Симпатии:
    0
    Баллы:
    5
    А эта команда как раз и перемещает пивот. Чтобы преместитъ объект, воспользуйтесь командой
    Код:
    move -ws
     
  12. люся зюзина

    люся зюзина Активный участник

    С нами с:
    09.01.2006
    Сообщения:
    382
    Симпатии:
    0
    Баллы:
    14
    Нет, так опять не получилось. Командой move объект опять перемещается не относительно начала координат, а относительно его собственного нуля после его заморозки.
    Но, все же, так или иначе, я достигла своей цели :)
    move -rotatePivotRelative 0 0 0;
    FreezeTransformations;
    move -ws

    Вот этот -rotatePivotRelative оказывается перемещает пивот вместе с объектом в начало координат.
     
Модераторы: Dark™, Skif

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