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

локальные оси трансформации

Тема в разделе "Maya", создана пользователем Yaroslav Abramov, 11 окт 2016.

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

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

    С нами с:
    25.10.2008
    Сообщения:
    219
    Симпатии:
    4
    Баллы:
    14
    А как сдвинуть объект по локальной оси на определенное количество единиц?
    чото затупил.
    и отвечающим, просьба не путать мировые координаты и локальные оси объекта.
     
  2. Andots

    Andots Знаток

    С нами с:
    12.03.2009
    Сообщения:
    513
    Симпатии:
    93
    Баллы:
    31
    Тебе скриптом или руками? Если руками, то манипулятором или в ченел боксе он и и двигается по локальным коорд. Вернее правильней сказать что chanel box отображается в локалках, там и ставишь нужное значение. Двигается то он в обоих.
     
    Последнее редактирование: 11 окт 2016
  3. Lemieux

    Lemieux Знаток

    С нами с:
    08.06.2011
    Сообщения:
    796
    Симпатии:
    74
    Баллы:
    32
    Я ставлю на xform!
     
  4. Andots

    Andots Знаток

    С нами с:
    12.03.2009
    Сообщения:
    513
    Симпатии:
    93
    Баллы:
    31
    xform то тут причем? С него глобалки удобно брать, а локалки помоему и не возьмешь(разве что objectSpace это локальные возможно ), тут хез я с него тока глобы считываю. Если через скрипт то проще (если нужны локальные) просто getAttr (бла бла бла .transformX, итд) ну и setAttr (аналогично) чтобы изменить трансформ. Удобоваримей. Ну блин, как я понял вопрос, просто надо пододвинуть по локальной оси, ну тут уж тупо добавить значение в ченел боксе
     
    Последнее редактирование: 11 окт 2016
  5. 4i4ikov

    4i4ikov Знаток

    С нами с:
    07.04.2015
    Сообщения:
    170
    Симпатии:
    50
    Баллы:
    23
    Numeric Input: Relative жеж! если ручками. Три значения вбить 0 1 0 или даже выражением 0 (2+2) 0

    А скриптом майя двигает через move -r -os
     
  6. Andots

    Andots Знаток

    С нами с:
    12.03.2009
    Сообщения:
    513
    Симпатии:
    93
    Баллы:
    31
    Ахах, ТС спросил как тупо подвинуть по лок оси объект , а тут от нас ему такой напас. Собрались блин физики ядерщики. :wacky: Тс, просто в "chanel box" меняешь нужное значение transform, передвинет по локальным координатам.
     
  7. 4i4ikov

    4i4ikov Знаток

    С нами с:
    07.04.2015
    Сообщения:
    170
    Симпатии:
    50
    Баллы:
    23
    По глобальным)))
     
  8. Andots

    Andots Знаток

    С нами с:
    12.03.2009
    Сообщения:
    513
    Симпатии:
    93
    Баллы:
    31
    Че это? В чнбоксе отображаются только локальные. После фриза они на 0 все скидываются, когда вирт 0 системы координат перемещается на новую позицию объекта. да и если запарентить объект на что-либо то будут отображаться координаты относительно этого объекта, кторый в этой сист координат станет центром вселенной.


    Не, ну понятно что все двигается по глобальным координатам, мы сейчас про ChanBox говорим
     
    Последнее редактирование: 11 окт 2016
    4i4ikov нравится это.
  9. 4i4ikov

    4i4ikov Знаток

    С нами с:
    07.04.2015
    Сообщения:
    170
    Симпатии:
    50
    Баллы:
    23
    А, я про объектные координаты говорю, а они не совпадают с локальными.
     
  10. Andots

    Andots Знаток

    С нами с:
    12.03.2009
    Сообщения:
    513
    Симпатии:
    93
    Баллы:
    31
    А!, да тут понятно. Просто ТС спросил грубо говоря "как шнурки на ботинках завязать?" А ему в ответ теорию относительности и красного гравитационного смещения.:Laughing:
     
  11. 4i4ikov

    4i4ikov Знаток

    С нами с:
    07.04.2015
    Сообщения:
    170
    Симпатии:
    50
    Баллы:
    23
    Да ты прав про локаль, есть глобальные, локальные, объектные - три большие разницы, а я всё о объектных, что не в тему.

    По теме - локальные в чанел боксе выражением:
    +=1
    и будет относительный сдвиг.
     
    Andots нравится это.
  12. Andots

    Andots Знаток

    С нами с:
    12.03.2009
    Сообщения:
    513
    Симпатии:
    93
    Баллы:
    31

    Вот этим лучше в майке не стоит баловаться, она эту формулу запомнит и отомстит "+=1" :woot:. Эта срань(уж не помню какой версии, кажись 2016) после того как я ей подобное скормил в графэдиторе начала все последующее хреначить по этой формуле, и все брейки не помогли. Пришлось убить папку в доках и начать заново
     
    4i4ikov нравится это.
  13. 4i4ikov

    4i4ikov Знаток

    С нами с:
    07.04.2015
    Сообщения:
    170
    Симпатии:
    50
    Баллы:
    23
    Версию интересно было бы узнать, так-то я в стареньких сижу, но запомню.

    Ааа, 2016-я, ну тогда пофиг)))) с новыми подстава на подставе
     
  14. Andots

    Andots Знаток

    С нами с:
    12.03.2009
    Сообщения:
    513
    Симпатии:
    93
    Баллы:
    31
    По мне так пока, более менее нормальная это 2015. Все последующие баг на баге. Они вроде как не видны, но вылезают в самый неподходящий момент.
     
  15. 4i4ikov

    4i4ikov Знаток

    С нами с:
    07.04.2015
    Сообщения:
    170
    Симпатии:
    50
    Баллы:
    23
    Да, 2015 тоже по мне оптимально, много новых нужностей, в меле даже, плюс с 2014ой есть возможность открывать сцены из верхних версий.
     
  16. 4i4ikov

    4i4ikov Знаток

    С нами с:
    07.04.2015
    Сообщения:
    170
    Симпатии:
    50
    Баллы:
    23
    Тоже напутал объектные и локальные,
    по теме правильно так, если скриптом:
    move -r -ls
     
  17. Andots

    Andots Знаток

    С нами с:
    12.03.2009
    Сообщения:
    513
    Симпатии:
    93
    Баллы:
    31
    Да это ерунда, тот кто поймет что ты напутал, не будет задавать таких вопросов.

    Кста если будет время и желание глянь мой скрипт, интересно просто на будущее для развития, я понимаю что его можно было раз в 50 оптимизировать, просто твое мнение как можно было бы проще сделать. Мож сходу заметишь что не так, по большому счету я только учусь питошке. Если нет то и не парься.

    http://render.ru/xen/threads/vopros...tsja-vse-voprosy-5.164202/page-6#post-1193119
     
    Последнее редактирование: 12 окт 2016
  18. 4i4ikov

    4i4ikov Знаток

    С нами с:
    07.04.2015
    Сообщения:
    170
    Симпатии:
    50
    Баллы:
    23
    По мелочи, если не вдаваясь в алгоритм

    взяли объект
    Код:
    import maya.cmds as cmds
    try:Poly = cmds.ls( o =1, selection=True )[0] # пусть как у тебя
    except:print 'Not Select Poly'#;return
    
    (try кстати быстрее чем проверки по if)

    Число фейсов, вариант:
    Код:
    numFaces = cmds.getAttr('%s.face'%Poly, size=True)
    
    Надобы сразу список фейсов
    не идеал, но работает:
    Код:
    cmds.select( '%s.f[*]'%Poly, add=True )
    for F in cmds.filterExpand(sm=34):
        cmds.select(F)
        ...
    
    И форматирование строк
    вместо:
    cmds.select(lis+ '.' + 'f['+str(Face)+ ']',d=True)
    по питонски:
    cmds.select(lis+'.f['%s']'%Face,d=True) # Face это номер
    или %d, но можно везде %s, как универсальное

    Про оптимизацию в 50 раз тут нет ничего), надо алгоритм повнимательней смотреть

    upd
    Хотя ускорение должно быть, если выкинуть селект каждого фейса из цикла
    Код:
    cmds.select( '%s.f[*]'%Poly, add=True )
    for F in cmds.filterExpand(sm=34):
        VtxCo = cmds.listAttr(F,st=['*pnts*'])
        if len(VtxCo) != 4: Filtface.append(F)
    
     
    Последнее редактирование: 12 окт 2016
    Andots нравится это.
  19. Andots

    Andots Знаток

    С нами с:
    12.03.2009
    Сообщения:
    513
    Симпатии:
    93
    Баллы:
    31

    Спасибки, знал что ты подскажешь :) , Возьму на вооружение эти варианты на будущее. Да, там самые большие тормоза из за селекции каждого фейса, я просто не нарыл возможность получить количество вертексов с фейса не выделяя его, да и %s [*] подобными вещами не умею пользоваться. Пока не знаю что они даже значат и как их применять, надо найти инфу и внимательно почитать ) Этот то скрипт сам по себе мне особо не нужен, но важна сама суть. Поскольку придется с подобным много раз столкнуться.
     
  20. Бабуинище

    Бабуинище Мастер

    С нами с:
    17.10.2012
    Сообщения:
    1.110
    Симпатии:
    261
    Баллы:
    82
    ребята, а как вам вообще в жизни это скриптописание помогает? что оно вам дает? для чего?
     
Модераторы: Dark™, Skif

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