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

Вопрос по программированию в Maya

Тема в разделе "Maya", создана пользователем Станислав Папонов, 7 апр 2014.

Модераторы: Dark™, Skif
  1. Станислав Папонов

    Станислав Папонов Пользователь сайта

    С нами с:
    02.11.2013
    Сообщения:
    12
    Симпатии:
    0
    Баллы:
    2
    Здравствуйте. Учусь программировать на Python.
    Получилось взять информацию о выделенных точках таким кодом:
    import maya.cmds as cmds
    c = cmds.polyInfo( ve=True )
    Теперь хочется создать между точками полигон, есть такая функция polyCreateFacet, ей нужны координаты точек между которыми надо создать полигон, но к примеру переменные типа c он не воспринимает, так как они содержат такую информацию:
    VERTEX 999: 1836 1837 1840
    Собственно вопрос в том как достать координаты из этой переменной и запихнуть их в функцию polyCreateFacet.
    Спасибо.
     
  2. Владимир Забелин

    Владимир Забелин Активный участник

    С нами с:
    19.04.2012
    Сообщения:
    400
    Симпатии:
    12
    Баллы:
    17
    странный Вы какой-то. нужна геометрическая информация о выделенных точках, а берете топологическую информацию о ребрах, соединяющих эти точки... "В огороде бузина, а в Киеве дядька"
     
  3. Станислав Папонов

    Станислав Папонов Пользователь сайта

    С нами с:
    02.11.2013
    Сообщения:
    12
    Симпатии:
    0
    Баллы:
    2
    Я пояснил, что только начинаю изучать Python, я знаю что эта функция должна возвращать информацию о ребрах, но как ни странно, она возвращает точки = ) Я прошу совета, как это лучше реализовать ?
     
  4. Владимир Забелин

    Владимир Забелин Активный участник

    С нами с:
    19.04.2012
    Сообщения:
    400
    Симпатии:
    12
    Баллы:
    17
    то, что вы только начинаете изучать майа видно невооруженным взглядом, но делаете Вы это немного не с того конца, так сказать. методом тыка. Чтоб не тыкать куда попала и потом удивляться е-мое че ж я наделал? я бы Вам посоветовал для начала книжки почитать. совет банальный, но в Вашей ситуации самый полезный.
     
  5. Paul_Winex

    Paul_Winex Мастер

    С нами с:
    02.06.2007
    Сообщения:
    698
    Симпатии:
    10
    Баллы:
    126
    1. Для получения выделенных лучше лучше использовать команду
    cmds.ls(cl=1, fl=1)
    флаг fl для того чтобы он диапазоны не возвращал. Получится что-то типа:
    [u'pCube1.vtx[2]', u'pCube1.vtx[3]', u'pCube1.vtx[4]', u'pCube1.vtx[5]']
    2. polyCreateFacet это ты верно подметил но я думаю что лучше работать через polyAppendVertex, но так как он только аппендит то нужно сначала чо-то создать а в конце это удалить. Примерно так:
    Код:
    # координаты любые
    first = [[1,0,0],[1,0,1],[0,0,1],[0,0,0]]
    #делаем первый полигон
    mesh = cmds.polyCreateFacet( p=first, ch=0)[0]
    for x in y:
        # в цикле строим всё что надо
        p1 = ?
        p2 = ?
        p3 = ?
        p4 = ?
        cmds.polyAppendVertex(mesh, ch=0, a=[p1, p2, p3, p4] )
    #мержим созданные полигоны если надо
    cmds.polyMergeVertex(mesh,d=0.01, ch=0)
    # удаляем первый полигон, который нам не нужен
    cmds.delete(mesh+'.f[0]', ch=0)
    
     
  6. Бравлин Печатник

    Бравлин Печатник Пользователь сайта

    С нами с:
    13.08.2013
    Сообщения:
    13
    Симпатии:
    0
    Баллы:
    2
    А посоветуйте какие именно книжки ориентированы на Maya програмирование.
    Какие вы можете порекомендовать ?
     
  7. Paul_Winex

    Paul_Winex Мастер

    С нами с:
    02.06.2007
    Сообщения:
    698
    Симпатии:
    10
    Баллы:
    126
    Maya Python for Games and Film
    A Complete Reference for Maya Python and the Maya Python API
    например эту
     
Модераторы: Dark™, Skif

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