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

Как создать такую связь?

Тема в разделе "Maya", создана пользователем arian, 13 апр 2012.

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

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

    С нами с:
    25.09.2008
    Сообщения:
    101
    Симпатии:
    0
    Баллы:
    11
    Постараюсь описать подробно вопрос. Допустим есть объекты (не важно какие) (К примеру Объект (А) Объект (В) Объект (С).) Нужно что бы Объект (А) повторял все перемещения Объекта (B), А Объект (B) повторял перемещения объекта (С) при этом объект (A) не был привязан и не повторял перемещения объека (С)... Как создать такую связь?
     
  2. Skif vip

    Skif Administrator Команда форума

    С нами с:
    26.03.2004
    Сообщения:
    6.823
    Симпатии:
    417
    Баллы:
    2.787
    ээммм.. напиши лучше для чего тебе это. мне кажется что то тут не то
     
  3. arian

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

    С нами с:
    25.09.2008
    Сообщения:
    101
    Симпатии:
    0
    Баллы:
    11
    Нужно для анимации лица. Объект (А) Это кривая лёгкого выделения (Не важно на какую часть лица) статичной копии головы (Она не будет отображаться при рендеринге (существует несколько копий головы соеденённых Бленд Шейпом)). Объект (В) Это кривая лёгкого выделения (её копия) только перед оригинальным лицом (Оно будет отображаться при рендеринге (Хочеться, чтобы кривые (круги, ромбы и т.д.) были перед лицом отображаемым, а не делать анимацию на копии где-то сбоку) Объект (С) Это сам скелет (Шея например) отображаемого персонажа. Нужно чтобы кривые перед копией головы следовали за кривыми перед отображаемым оригиналом, а кривые перед оригиналом следовали за скелетом персонажа (Когда тот будет двигаться) при этом кривые перед статичной копией головы не должны в этом случае следовать за скелетом (Иначе лицо будет изменяться до неузноваемости).
     
  4. arian

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

    С нами с:
    25.09.2008
    Сообщения:
    101
    Симпатии:
    0
    Баллы:
    11
    Жаль что никто не ответил(( Но я в принципе знаю как сделать. Нужно копии голов поставить в ту же позицию что и оригинал, и пускай следуют ним. Просто так неудобно.
     
  5. Skif vip

    Skif Administrator Команда форума

    С нами с:
    26.03.2004
    Сообщения:
    6.823
    Симпатии:
    417
    Баллы:
    2.787
    бррррр... еще раз. что такое легко выделяемая кривая? манипуляторы что ли? далее как ты собираешься делать анимацию? бленд шейпы? кластера? кости? смешанная система? тоесть должны ли манипуляторы на оригинале сидеть на меше? или независимо? если с бленд шейпом, то сложнее. попробуй все же описать подробнее. не совсем понимаю о чем речь. было бы хорошо с изображениями.
     
  6. arian

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

    С нами с:
    25.09.2008
    Сообщения:
    101
    Симпатии:
    0
    Баллы:
    11
    Ну в принципе да (Только не джоинты, кластеры и т д , а кривые связанные с ними чтобы легче выделять было. Вот скрины примера со сферами. (Что бы легче было, но если понадобиться то выложу скрины проекта...)
     

    Вложения:

    • 2693567.jpg
      2693567.jpg
      Размер файла:
      182,7 КБ
      Просмотров:
      55
    • 2693568.jpg
      2693568.jpg
      Размер файла:
      200,3 КБ
      Просмотров:
      57
    • 2693569.jpg
      2693569.jpg
      Размер файла:
      204,1 КБ
      Просмотров:
      58
    • 2693570.jpg
      2693570.jpg
      Размер файла:
      197,5 КБ
      Просмотров:
      56
  7. fruit_cake

    fruit_cake Знаток

    С нами с:
    20.12.2010
    Сообщения:
    487
    Симпатии:
    58
    Баллы:
    28
    через оператор 'if' в expression editor
     
  8. Евгений Долид

    Евгений Долид Знаток

    С нами с:
    02.12.2010
    Сообщения:
    77
    Симпатии:
    27
    Баллы:
    24
    Если еще актуально...
    Если продолжить пример с сферами, то можно сделать так:
    1. Группируем каждую сферу саму с собой
    2. translate второй сферы конектим с translate третьей сферы.
    3. translate первой сферы конектим с translate группы, в которой находится вторая сфера.
    Теперь первая сфера таскает вторую, вторая таскает третью, но первая третью не трогает.
    Картинка прилагается.
     

    Вложения:

    • 2705682.jpg
      2705682.jpg
      Размер файла:
      43,6 КБ
      Просмотров:
      57
  9. arian

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

    С нами с:
    25.09.2008
    Сообщения:
    101
    Симпатии:
    0
    Баллы:
    11
    Евгений Долид THE BEST!
     
  10. arian

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

    С нами с:
    25.09.2008
    Сообщения:
    101
    Симпатии:
    0
    Баллы:
    11
    Теперь зароботает))))) (Я надеюсь))))
     
  11. fruit_cake

    fruit_cake Знаток

    С нами с:
    20.12.2010
    Сообщения:
    487
    Симпатии:
    58
    Баллы:
    28
    а без групп, через код реально? ситуация сходная

    один объект который можно было бы вращать свободно, и к его вращению добавлялось бы значения вращения второго объекта, без жесткой привязки

    конструкции a = a+b оно же a += b не работают, начиниает добавлять вращение до бесконечности
     
  12. arian

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

    С нами с:
    25.09.2008
    Сообщения:
    101
    Симпатии:
    0
    Баллы:
    11
    Я с кодами не дружу)
     
  13. arian

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

    С нами с:
    25.09.2008
    Сообщения:
    101
    Симпатии:
    0
    Баллы:
    11
    Ух, внезапно обнаружил проблему (По теме) Пример всё тот же со сферами, однако теперь нужно чтобы вторая сфера врощалась вместе (И по тойже опорной точке что и первая) У меня не выходит. Может это потому что при связи Translate первой сферы с Translate группы второй сферы вторая сместилась(До Этого позиция особой роли не играла) "Решил" проблему просто передвинув точки второй сферы в нужное место и зделав Center pivot (не стал передвигать саму ссферу2 потому что сместилась бы сфера3) И теперь когда вращаешь сферу1, сфера2 крутится по совершенно дикой траектории(На глаз можно сказать что движется она вокруг того места куда она, почему-то, перемистилась после связи сферы1 с группой сферы2.
     
  14. arian

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

    С нами с:
    25.09.2008
    Сообщения:
    101
    Симпатии:
    0
    Баллы:
    11
    Не знаю, вроде разобрался *говорю с боооольшим сомнением*)))
     
  15. arian

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

    С нами с:
    25.09.2008
    Сообщения:
    101
    Симпатии:
    0
    Баллы:
    11
    Но буду рад прочесть и чужое мнение.....
     
  16. Евгений Долид

    Евгений Долид Знаток

    С нами с:
    02.12.2010
    Сообщения:
    77
    Симпатии:
    27
    Баллы:
    24
    Без группы или чего-то подобного не получится. Логично, что у вас зацикливается. Maya пересчитывает атрибут при изменении его значения или изменении значений атрибутов, от которых он зависит.
    А в вашем случае атрибут изменил себя, понял что изменился; опять изменил себя, опять понял, что изменился и так до бесконечности.

    Соедините rotate первой сферы с rotate группы, в которой находится вторая сфера. И pivot этой группы переместите в место пивота первой сферы.
    Положения первой и третьей сферы можно настраивать, меняя translate групп, в которых они находятся. Вторую сферу тоже можно тащить куда угодно, просто потом сделать Freeze Transformations и третья сфера снова вернется в начальное положение
     
Модераторы: Dark™, Skif

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