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

как повесить выражение на все точки поверхности

Тема в разделе "Maya", создана пользователем morzh, 27 дек 2005.

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

    morzh Знаток

    С нами с:
    01.11.2002
    Сообщения:
    335
    Симпатии:
    0
    Баллы:
    23
    Сообсно вопрос весь в сабже. Не вешать же кластеры на кажудю точку поверхности и оперировать ими. Maya при упоминании о surface.cp говорит, что не знает на какой оттрибут вешать это выр-е. Как мне, напр, каждой точке поверхности присвоить noise(time) ?
     
  2. Решатель

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

    С нами с:
    20.04.2005
    Сообщения:
    1.413
    Симпатии:
    0
    Баллы:
    44
    А что именно вы хотите присвоить обьекту по имени surface.cp?
     
  3. morzh

    morzh Знаток

    С нами с:
    01.11.2002
    Сообщения:
    335
    Симпатии:
    0
    Баллы:
    23
    for ($i=0; $i<=$cpNum; $i++)
    {
    surface.cp = noise(time+i);
    }

    Это не совсем то, что я хочу повесить на точки поверхности, но для начала, наверное, стоит разобраться с этим
     
  4. Решатель

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

    С нами с:
    20.04.2005
    Сообщения:
    1.413
    Симпатии:
    0
    Баллы:
    44
    Я не понимаю, какому именно атрибуту точки вы хотите присвоить noise? Что такое .cp? Точка равно цифре? Что это?
     
  5. morzh

    morzh Знаток

    С нами с:
    01.11.2002
    Сообщения:
    335
    Симпатии:
    0
    Баллы:
    23
    прошу прощения, облажался с выражением. Савсем плохой стал.

    for ($i=0; $i<=$cpNum; $i++)
    {
    setAttr "surfaceShape.controlPoints.yValue" noise(time+i);
    }


    .cp это iая control point поверхности. Мне так удобней, обращаться с control points, а не с CV, так как я собираюсь изпользовать узел surfaceInfo.

    P.S. меня легко можно называть на ты, я ещё молодой
     
  6. Решатель

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

    С нами с:
    20.04.2005
    Сообщения:
    1.413
    Симпатии:
    0
    Баллы:
    44
    Тогда уж вот так:
    setAttr ("surfaceShape.controlPoints[" + $i + "].yValue") noise(time+i);
     
  7. morzh

    morzh Знаток

    С нами с:
    01.11.2002
    Сообщения:
    335
    Симпатии:
    0
    Баллы:
    23
    хорошо, но как это всё реализовать ? Куда это всё вписывать ?
     
  8. Решатель

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

    С нами с:
    20.04.2005
    Сообщения:
    1.413
    Симпатии:
    0
    Баллы:
    44
    Ну это смотря что вы хотите сделать. В принципе достаточно ткнуть в channelBox на любой атрибут правой кнопкой, и выбрать create expression - оно само подсоединит его куда надо.
     
  9. morzh

    morzh Знаток

    С нами с:
    01.11.2002
    Сообщения:
    335
    Симпатии:
    0
    Баллы:
    23
    в этом то всё и дело, не хочет вешать, говорит
    // Error: Illegal extension on an expression of type no type. //
     
  10. morzh

    morzh Знаток

    С нами с:
    01.11.2002
    Сообщения:
    335
    Симпатии:
    0
    Баллы:
    23
    че то я налажал, всё работает.

    int $i, $cpNum=35;
    for ($i=0; $i<=$cpNum; $i++)
    {
    setAttr ("nurbsPlane1.controlPoints["+$i+"].yValue") (noise($i+time));
    }

    Прошу прощения за отнятое время
    Только вот, что не понятно.
    И как потм редактировать это выр-е ? У меня не получилось
     
Модераторы: Dark™, Skif

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