Перейти к основному контенту

Текстурщикам

Текстуры МАНУАЛ: ЛИЦЕВОЙ РИГ ПЕРСОНАЖА

IN

_______________________________________________________________________________
ОТДЕЛ АРТА


Здесь

представлен
  • подробный гайд пко настройке лицевогопт с указанием материга перслонажа. Настраивать лицевой сетап персонажа, рекомферендусов (желатся пельно порядку в соответствии с пунктами ниже. КакCG результатференсы, нао выходеиз будет получежизн лицевой риг, так же допустимы) + указание степени новизны обудъекта и предполагаемая плановость в кадре.


    изображение_2024-10-14_160303446.png 
    ПРИМЕР ПЛОХОГО КОНЦЕПТА

    изображение_2024-10-14_160502117.png
    изображение_2024-10-14_160529947.pngизображение_2024-10-14_160559965.png
    ПРИМЕРЫ ОТНОСИТЕЛЬНО ХОРОШИХ КОНЦЕПТОВ

  • Еслиз в текстурах необходимы определёноные картинки или надподключеиси - нияужны эти самые картинки и надписи четкие и в хогрошем качестве(если еще и в векторе то лица квообще сущпер)
    изображение_2024-10-14_165245990.png
    ПЛОХОЙ ПРИМЕР КАРТИНКИ(ПРИСУТВСТВУЕТ ЛИШНИЙ ЭЛЕМЕНТ СКОТЧА И НЕЧЕТКИЕ НАДПИСИ)

    изображение_2024-10-14_165610162.png
    ПРИМЕР ХОРОШЕЙ КАРТИНКИ

ОТДЕЛ МОДЕЛЛИНГА

  • Модель в в формате USD - у всех объектов есть UV и отсутствующт оверлапы. У каждой му бодели ювигу должны начинаться в rig_dev1001 ассюдимете и рассказаны, особенно когда ассети сборки пздаертсонажа для полученрия финальвыносе объекта из друго анимационного ассета. 

    _______________________________________________________________________________

    1. ИМПОРТ ЛИЦЕВОГО ПРЕСЕТА

    Прежде чем начать работу необходимо открыть последний файл из моделлинга, и произвести небольшой клинап. Для этого в окне ригБилдера (РБ) необходимо открыть модуль cleanup, там выделить подмодуль cleaning_hash и кликнуть RUN. Далее, удаляем все, кроме:

    • группа for_rig
    • группа blendshapes
    • геометрические меши в группе geo, которые относятся к лицу (глаза, брови, ресницы, челюсти, язык, волосы, очки и т.п.)

    Screenshot_13.png

    Если нужно освежить память, как вызвать необходимый модуль в РБ, то можно обратить внимание на статью ниже, на графу: созданиеи UV разверткиг_дев ассета, пользоваться рунководством 2.

    отсюда https://bookstack.yarko.com/books/rigging-AtN/modelirovanie/page/manual-rigging-biped-personazacastye-osibki-v-topologii-uv-i-materialax


  • Т

  • Гепометрьия кмогдаелей сцедолжна максимально сочищена от разного мусора и лишних геомветрий, нужно импорстирвовать пматереиалам сет ликонцевого рпта.
    Резигна
    , где укожеа, будумага, ткань, стеклоз и лампочки даолжны все необхогдимые контролы, а так же созданы все нужные связи между ними. Импортировать этот пресет можно через РБ, открыв модуль import_face_temp

    Screenshot_2.png

    Каждое лицо уникально, потому недостаточно просто импортнуть пресет, его нужно подогнать - для этого первая кнопка import helpers модуля import_face_temp импортирует в сцену хелперы. С помощью этих хелперов можно расставить ориентиры, где будут созданы контролы.

    face_helpers.png

    Чтобы избежать ошибок при позинге хелперов, полезным будет открыть 1 из существующих лицевых ригов (на момент написания статьи, готовы лица на персонажей doc и vinilion) и посмотреть в каких местах расставлены контролы.

    Хелперы следует расставлять аккуратно, в правильные и логичные места на лице. На некоторых хелперах будут скрыты атрибуты вращения - это не ошибка, а умышленное действие, поскольку поворот хелпера будет учитываться при конвертации в контролы. Пример подгонки хелперов, изображен на изображении ниже.

    face_helpers_pose.png

    Следующим этапом будет конвертация хелперов в контролы, для этого нужно просто нажать вторую кнопку face adapt в модуле import_face_temp. После этого, работа над подгонкой лицевого сетапа будет почти завершена. Оставшиеся 10-20 процентов будут подгоняться за счет работы с тюнерами, которые будут находиться в группах локальных ригов внутри face_others.

    Как работать с тюнерами будет описано ниже, в отдельных блоках посвященных локальным ригам.

    Screenshot_1.png
    Подогнанный лицевой сетап

    Шейпы контролов, к сожалению, придется настраивать вручную, так как хелперы конвертируют только оффсет трансформы

    Поскольку данная система лицевого рига имеет локальную основу, каждая часть лица будет выполняться на отдельной геометрии,ей т.не. вся работа лицевого скомбайнетапа выполняется локально - такой подход позволяет удобно работать с дриугом, а так же минимиз объектамир.(допует время на дебаггинг в случае, если риг нуждкается совмещение прметавках.

    Начинать работу будем с ллокв\не метального рига рта - поскольку бленды на уголки рта моделлеры делают на основе лицевого рига. То есть, когда риг рта будет закончен, эта версия рига отправляется в отдел моделлинга, где создают дополнительные корректы под заданные лимиты уголков рта. В это время работа над лицевым риггом не прекращается, а просто выполняются другие элементы лицевого рига (риг век, бровей, доработка рига рта и т.п.). После того, как бленды будут закончены и одобрены - их нужно подключить уже в лицевом сетапе.

    Тем самым, все бленды будут готовы. Ниже будут ссылки на статьи по блендшейпам, для того, чтобы можно было самостоятельно проверить все ли бленды присутствуют на геометрии.

    https://bookstack.yarko.com/books/modelirovanie/page/blendseipy-licevye-dlia-glavnyx-personazei
    https://bookstack.yarko.com/books/modelirovanie/page/blendseipy-licevye-dlia-vtorostepennyx-personazei

    _______________________________________________________________________________

    2. РИГ РТА

    Первое с чего начинаем работу, это с локального рига рта. Выполнять лицевой сетап нужно именно с этого потому, что бленды, которые отдает отдел моделлирования не полные, то есть, бленды, корректирующие уголок рта они выполняют только основываясь на уже лицевом сетапе. Таким образом, нет необходимости "целиться" в положения блендов, а так же не тормозит производственный процесс, так как лицевой риг в работу можно брать не имея бленды.

    Screenshot_1.png

    На старте, нужно сделать 3 копии головы head, что для нас готовят моделлеры, и переименовать их в blends_mouth_geo, lips_minor_geo, mouth_geoгде mouth_geo будет нашей финальной геометрией и)
    Прта, lips_minor_geo будети нужаличии ненскольких дстекля минорных измобъененийктов и blends_mouth_geo - под осного цвную настройку открытия рета и деформаций уголков -ассете начинать как раз будем с этойю геометрию лучше комбайни.ть, Весли цвета по концепту разные то и геометрии перенесем в группу mouth_others, в face_others.

    Для позинга внутренних элементов локальных ригов нужно двигать тюнеры. Тюнеры можно назвать внутренними хелперами, с помощью которых можно донастроить лицевой сетап каждой локальной части лица. Тюнеры двигают непосредственно элементы рига, что находятся внутри others групп. Так же внутри имеются группы с констрейнами - все они нужны ТОЛЬКО для позинга - в работе они не нужны - отсюда, после того как тюнеры будут в правильных местах, группу _constraint_tuners_others нужно удалять.

    Screenshot_2.png

    _tuners_group - группы с тюнерами;
    _constraint_tuners_others -  группа с констрейнами, после позинга должна быть у каждого стеклалена
    --------------------------------------------------------------------------------------------------------------------------------------
    Внутри 3своя, тюнера:

    1) jaw_main_tuner обычно уже находится в корректном месте - его можно не двигать, однакой должгруппен
    Все он располагаветьящиеся в сэлередине между верхней и нижней губой;
    2)
     jaw_pivot_tuner нужно ставить вы типа лампочеку открытия челюсти;
    3) tongue_pivot_tuner нужно тоже ставить в точку открытия челюсти.

    Screenshot_3.png

    В силу стилизации, важное замечание:
    jaw_main_tuner не всегда нудолжно ставитьы в анатомически вердное положение

    После того, как все тюнеры были расставлены ий группае си отдельными объеконстрейнами как друг от друга, так и от любой другой части ассета.

Текстуры OUT

  • Приемка работы текстуры у худпоста подразумевает набор скриншотов в заметку к версии паблиша проекта Substance Painter в Ftrack с нескольких ракурсов и подчеркивающие материал (эти же скриншоты используются как ориентир для шейдинга)

изображение_2024-10-14_162209309.pngПРИМЕР ПЛОХОГО СКРИНШОТА

изображение_2024-10-14_162417803.pngизображение_2024-10-14_162447691.png

изображение_2024-10-14_162511045.pngизображение_2024-10-14_162533739.png
ПРИМЕР ХОРОШИХ СКРИНШОТОВ

  • Так же требуется один ракурс из Iray имеющий темную и светлую сторону, показы,вающий объем и материал. такой кадр необходимо создать пару кривых на верхнюю губу - M_jaw_up_curve, и на нижнюю губу - M_jaw_low_curve. Сделать подобное можно с помощью модуля mouthRig_temp в РБ.

    Screenshot_4.png

    Принцип работы следующий:
    1) в окне name пишем название кривой, то есть если мы настраиваем верхнюю губу, то M_jaw_up, если нижнюю, то M_jaw_low;
    2) далее на персонаже выделяем соответствующий эйджЛуп от левого уголка рта, до правого. Важно понимать, что эйджлупы нужно брать на рту, которые пересекаются;
    3) далее жмем кнопку RUN.

    В конечном итоге будут созданы все необходимые кривые и размещены в правильных местах в иерархии групп.

    Screenshot_5.png

    Screenshot_6.png

    Важно обращать внимание на нейминг, на момент написания статьи все локаторы имеют одинаковый префикс - потому его нужно править в форучную,мате png в руководствуясь тем, что левые локаторы и кости внутри имеют пзрефикс L, правые R, а центральный - оставить M.

    Так же нужно уделять внимание на начало кривых, т.е. направлшениеи 3840x2160, открлючивых должныground быть одинаковые

    Screenshot_7.png

    Когда кривые настроийках irayизображение_2024-10-14_162848386.png

  • Пабли, нужно обратить вниманиеш набора трансформу face_head_transform. В атрибутах у этой трансформы ексть много каналов, каждый из котоурых уже связан с элементами лицевого рига. Все эти каналы разбиты на группы для удобства. Благодаря этим атрибутам можно не копаться в риге, а сразу настраивать все, что необходимо. 

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

    Безымянный.png


    Здесь представлены 3 скинКластера на кривые и на геометрию соответственно, а в окне outJoints представлены кости, на которые нужно выполнять этот скинКластер.

    А именно:
    1) jaw_low_psd_skinCluster - это скин на кривую M_jaw_low_curve;
    2) jaw_up_pds_skinCluster - это скин на кривую M_jaw_up_curve;
    3) mouth_skinCluster - это скин на геометрию blends_mouth_geo.

    Добиться этого могут помочь атрибуты на face_head_transform. Регулировать их нужно когда рот уже открыт на максимум (вкл. limits на контроле M_jaw_control и опускаем рот максимально по оси Y).

    Screenshot_8.png

    CornerX - отвечает за движение уголка рта по оси X при максимально открытом положении рта;
    CornerY - отвечает за движение уголка рта по оси Y при максимально открытом положении рта;
    CornerZ - отвечает за движение уголка рта по оси Z при максимально открытом положении рта; 
    jaw_open_ty - отвечает за движение челюсти по оси Y при максимально открытом положении рта;
    jaw_open_tz - отвечает за движение челюсти по оси Z при максимально открытом положении рта;
    jaw_open_rx - отвечает за поворот челюсти по оси X при максимально открытом положении рта;
    jaw_upper_open_tz - отвечает за движение верхней части челюсти по оси Z при движении челюсти вверх;
    jaw_upper_open_rx - отвечает за поворот верхней части челюсти по оси X при движении челюсти вверх;
    corner_angle - отвечает за угол наклона уголка рта - этот атрибут автоматически настраивается исходя из угла наклона хелпера (см. пункт 1 - этого мануала). Однако его можно регулировать и потом, если при работе появляется необходимость поменять этот параметр.

    Как результат (см. картинки ниже), на выходе мы получим максимально приближенный к блендшейпу открытого рта результат основанный только на скиннинге, где выделенные кривые и наш blends_mouth_geo максимально приближены к блендшейпу, что выделен черной сеткой.

    Screenshot_9.pngScreenshot_10.png

    При покраске blends_mouth_geo важное замечание, уделять больше вниманию уголку рта, поскольку задача покрасить рот настолько хорошо, насколько это возможно ДАЖЕ С ЭКСТРЕМАЛЬНЫМИ положениями рта (для этого нужно на L(R)_corner_control выключить атрибут limits.

    Добиться нужного результата за счет использования только скинКластера не получится, потому нужны корректирующие бленды. Здесь работа делится на 2 части - 1 часть выполняется отделом риггинга, 2 - отделом моделлинга.

    Количество блендов на уголки рта лимитировано и они выполняются как на кривых, так и на геометрии, а именно:

    • corner_U

    • corner_D

    • corner_I

    • corner_O

    • corner_UO

    • corner_OD

    • corner_ID

    • corner_IU

    • jaw_open__corner_U

    • jaw_open__corner_D

    • jaw_open__corner_I

    • jaw_open__corner_O

    • jaw_open__corner_UO

    • jaw_open__corner_OD

    • jaw_open__corner_ID

    • jaw_open_corner_IU

    Где, U - означает вверх, D - вниз, I - в центр, O - наружу. Префикс jaw_open означает, что рот персонажа открыт в положение открытого рта, которое задается блендшейпом открытого рта.

    Так же применяется как на кривых, так и на геометрии корректирующий шейп jaw_open, который был взят для ориентира когда настраивали скин кривых.

    Бленды, которые так же будут присутствовать в лицевом сетап в формате exr и разрешении 4к

    Для мата
    , но перименяются тоалько на гстеометрии:

    • jaw_U

    • roll_up_in

    • roll_up_out

    • roll_bot_in

    • roll_bot_out

    • mouth_rotate_L

    • mouth_rotate_U

    • mouth_rotate_D

    • mouth_rotate_R

    Исходя из описклания блендов выше, необходимо создать блендшейпы на кривых M_jaw_low_curve - jaw_low_psd_blendShape и M_jaw_up_curve - jaw_up_psd_blendShape, и создать на них соответствующие таргеты уголков рта. На геометрии тоже нужен блендшейп - mouth_blendShape, на который следует продублировать таргеты, что есть на кривых, а так же добавить таргеты, которые должны быть, но только на геометрии (см. выше).

     Корректы на кривых следует выполнять таким образом, чтобы кривые по ходу движения уголка рта двигались по черепу персонажа - это придаст более реалистичный вид деформациям


    Поскольку большую часть корректов, что отдают моделлеры, на начало работы с лицевым ригом уже готовы - их следует подключить к таргетам mouth_blendShape

    Бленды на roll_up и roll_bot отдаются нераздельно, т.е. на нижнюю и верхние части нужно делить уже в риге. Выполняется это с помощью покраски блендшейпа или любым другим известным способом.

    Бленд mouth_rotate_R получается путем миррора mouth_rotate_L

    Итоговым результатом будет открытие рта и максимально хорошая покраска скина. Далее этот файл передается в отдел моделлинга или руководителю риг отдела, чтобы тот передал это в отдел моделлинга - для дополнительных корректов на уголках рта. Когда бленды будут готовы, их следует подключить/заменить на соответствующие таргеты в блендшейпе mouth_blendShape.

    Screenshot_11.png

    Результат с блендами уголков рта и открытой челюстью

    Далее, нужно создать блендшейп с геометрии blends_mouth_geo на геометрию lips_minor_geo, тем самым передадим деформации открытого рта на другой меш лица. Создадим скинКластер для настройки минорных изменений рига рта.
    Сами миноры нужны для создания дополнительных форм лица, когда обычные контролы не позволяют передать ту или иную мимику.

    Screenshot_12.png

    Здесь представлен скинКластер на lips_minor_geo, а в окне outJoints представлены кости, на которые нужно выполнять этот скинКластер.

    А именно:
    lips_minor_skinCluster - это скин на геометрию lips_minor_geo

    Красить миноры рекомендую уже в позе, поскольку мимика персонажа должна позволять расширять рот настолько широко, насколько это возможно.

    Screenshot_13.png

    Чтобы миноры следовали за геометрией, нужно настроить uvPin на null группы миноров. uvPin следует цеплять к mouth_geo (эта геометрия будет изменяться, потому миноры будут спокойно следовать за геометрией без возникновения циклов). Однако выходящую матрицу из uvPin я рекомендую декомпозировать через ноду decomposeMatrix и передавать только каналы транслейта, поскольку ротейт в данном случае не нужен. 

    Screenshot_14.png

    Однако при движении миноров теперь, будут возникать двойные трансформации, для нивелирования такой проблемы, достаточно создать multiplyDivide ноду, в input1 которой будут входить атрибуты транслейта минора, а в input2 находиться минусовые значения (-1, -1, -1). Выход multiplyDivide ноды следует подключить на группу трансформу между минором и его null группой. 

    Screenshot_15.png

    1) L_lips_low_3_minor_control_null - оффсет группа минора
    2) L_lips_low_3_minor_control_transform - трансформа минора
    3) L_lips_lower_3_minor_control - сам минор

    Screenshot_16.png

    Теперь назначим блендшейп от lips_minor_geo к геометрии mouth_geo. Это будет финальная геометрия рта, соответственно назвать этот блендшейп нужно как minors_final_blendShape. Создадим последние управляющие элементы рига к рту с помощью скинКластера к mouth_geo и назовем его как mouth_final_skinCluster.

    Screenshot_17.png

    Здесь представлен скинКластер на mouth_geo, а в окне outJoints представлены кости, на которые нужно выполнять этот скинКластер.

    А именно:
    mouth_final_skinCluster - это скин на геометрию mouth_geo

    Требования к покраске будут таким же, как и к минорам. Нужно стараться добиваться таких деформаций, чтобы регулируя контролы, можно было добиться максимальной экспрессии

    Screenshot_18.png

    Иногда полезно будет использовать деформер deltaMush, который позволит выровнять местами сетку. Однако следует помнить, что больше 10 smoothing iteration ставить нельзя, поскольку на больших значениях deltaMush с удовольствием скушает не мало fps


    На данном моменте лицевой ксетап рта считается законченным и геометрию mouth_geo можно подключать через блендшейп к геометрии head_final_geo и переходить к другим локальным ригам.

    Screenshot_19.png

    _______________________________________________________________________________

    3. РИГ ВЕК И ГЛАЗ

    Для создания локального ригабелый цвет, мак нужсимально будчерный рафнесс от 0 до 0.05 использовать 3 геометраллии: eyes_geo - гечноместрия,ь на кото1. у загрой будут деформации вязнутреннеий границы века; eyes_outer_geo - геометрия, на косторой будут деформации внешней границы векла;х eyes_final_geo - финальная геометрия, на которой будет финальный скейл век и подключенные eyes_outer_geo и eyes_geo, через блендшейп

    maya_w5bysu5bVS.png

    Геометрию eyes_geo обычным дубликатом не получить, потому начинать работу нужно с геометрией блендшейпа закрытого глаза closed_eyes.

    Выделим геометрию closed_eyes и подвинем тюнеры век  в группе lids_tuners_group/internal_tuners_group по границе линии смыкания век. Тюнеры подгонят необходимые элементы для риггинга век в нужные места, после их подгонки нужно удалить группу lids_constraint_tuners_others

    maya_nrS37eAE9z.png

    Тюнеры век не стоит ставить куда попало, нужно руководствоваться простой логикой:

    1) L_lids_corner_out_tuner и L_lids_corner_in_tuner ставятся в положения L_lids_minor_outer_control и L_lids_minor_inner_control соответственно;
    2) тюнеры верхние и нижниеь должна бы двигаться в "синергии", то есть неа нужно0, брать желтые тюнеры и двигать 1 влево, другой вправо - такой подход просто не позволит вам сомкнуть веко корректно при дальнейшем сетапе;
    3) располагать тюнеры следует логично, где центральные желтые тюнеры должны находить в середине, крайний левый и крайний правый на равноудаленное расстояние от центра и голубые тюнеры на середине между corner тюнерами и low(up)_1_tuner и low(up)_3_tuner соответственно.

    Для наиболее простого понимания, картинка ниже визуально описывает правила расстановки тюнеров век.

    maya_oytp0Ng5ro.png

    Следующей задачей будет создание геометрической плашки L(R)_eyelids_plane_geo, на которой будут находиться косточки, от которых в свою очередь будет идти скин. Сами косточки цепляются через uvPin - такой подход не снизит производительность и сильно облегчит скин. Как альтернатива плашке может являться кривая, однако красить её не совсем комфортно. 

    Получить плашку можно выделив полигоны по линии смыкания век, и удалить все не нужное, кроме этой плашки.

    Небольшой помощью при работе будет если последний полигон при выделении фейсЛупа убрать из этого выделения, тем самым будет четкое понимание где находится край века.

    maya_B9vTMwBoJb.png

    После получения плашки, нужно прискинить её к следующим косточкам, которые находятся в группах face_others/eyelids_others/lids_others.

    maya_ogvBgLPg9e.png 

    Эти косточки можно найти в группе, что описаны выше. Следует понимать, что эти косточки нужны лишь для левой плашки, для правой будут ровно те же самые косточки, но уже с префиксом R, вместо L.

    Прежде чем перейдем к настройке открытия века, нужно выполнить еще 1 действие - создать косточки, от которых будет идти базовый скин на открытие/закрытие века. Количество этих джоинтов будет эквивалентно количеству лупов на плашке, а их создание происходит вручную. Сами косточки нужно расставить по крайним положениям эйджЛупов.

    maya_YT08H37lO9.png

    Сами косточки нужно приврапить к плашке. Выполняется подобное через uvPin, поскольку это наиболее быстрый способ с точки зрения производительности ригга. Однако, стандартный uvPin передает все трансформы на джоинты, что создает ненужные ротейты на костях. В нашем случае ничего, кроме транслейтов не нужно, потому нужно декомпозировать исходящую матрицу из uvPin ноды в транслейты и передать на джоинты. Вручную такое выполняется с помощью decomposeNode, однако для экономии времени можно воспользоваться модулем uvPin_2 в RB.

    maya_RMLU5X7RbR.png

    1) geo - это имя плашки;
    2) new_name - это имя, которое будет у uvPin ноды;
    3) joints - лист джоинтов.

    Принцип работы достаточно тривиален, сначала нужно вставить в графу geo плашку или геометрию, на которой будет создан uvPin. В графу new_name нужно написать имя будущей uvPin ноды. В окно joints нужно вставить джоинты, которые будут приврапены к geo, сделать это можно выделив все нужные косточки в сцене и нажав правой кнопкой мыши по окну joints выбрать get selected from maya
    Теперь жмем RUN и все приврапится как нужно.

    В процессе открывания глаза, вероятен такой исход событий, когда джоинты или прыгают в нуль координат или врапятся к другому вертексу на плашке. В таком случае, я рекомендую приоткрыть глаз, удалить uvPin ноду и вручную перетащить в нужные места "улетевшие" джоинты. После снова применить модуль uvPin_2 в RB.

    Когда все подготовительные элементы сделаны, можно начинарують настройку открытия глаз. Первым делом корректно раскрасим скин на плашке L(R)_eyelids_plane_geo, результатом которого будет являться - корректные деформации при перемещении миноров века и вращении основных контролов век L_lids_upper_control и L_lids_lower_control.

    maya_wQOqroo8Ku.png
    maya_vEP4QTv8as.png

    На первой картинке ротейт основного контрола века L_lids_upper_control, в то время как на второй были смещены 3 минора внутренней границы века.

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

    Теперь можно открыть веко с помощью атрибутов на face_head_transform. Поскольку мы открываем глаза из положения закрытого века - результатом будет изображение_2024-10-14_163709704.png
    максимальное приближение к открытому глазу
    , то есть нужно настроить атрибуты таким образом, чтобы плашка L(R)_eyelids_plane_geo при открытии века была приближена к открытому веку настолько, насколько это возможно. Управлять открытием глаза можно с помощью атрибута blink на контроле L(R)_eye_lids_control.

    maya_UYhbfEGmPm.png
    Процесс настройки выполняется в соответствии с порядком атрибутов начиная с upper_remap и заканчивая min tZ

    upper remap - угол на который поднимется верхнее веко;
    lower remap - угол на который опуститсямый нижнее цвеко;
    corners remap - угол по которому будет двигаться угловыче контролы (обычно дефголтное значение около -40 хватает);

    изображение_2024-10-14_164001731.png
    lower info - максимальный угол нижнего века (атрибут заблокирован, он нужен только как информация);
    upper info - максимальный угол верхнего века (атрибут заблокирован, он нужен только как информация);
    upper value - максимальный угол верхнего века;
    lower value - минимальный угол верхнего века;
    upper angle joints - угол поворота верхних косточек при открытие/закрытие глаза;
    lower angle joints - угол поворота нижних косточек при открытие/закрытие глаза;
    max tX - максимальное доположение по устранслейту Х верхнего века;
    max tY - максимальное положение по транслейту Y верхнего века;
    max tZ - максимальное положение по транслейту Z верхнего века;
    min tX - минимальное положение по транслейту Х нижнего века;
    min tY - минимальное положение по транслейту Y нижнего века;
    min tZ - минимальное положение по транслейту Z нижнего века.

    При изменении атрибутов upper и lower remap можно регулировать угол на который будут опускаться и подниматься веки - таким образом, изменение этих атрибутов подгонит верхнюю и нижнюю границы плашки под открытый

  • глаз на геометрии. 

    - картинка где плашка при blink 1 и открытый глаз

    Для наиболее точной работы рига век, значение атрибутов upper remap и lower remap стоит сохранять равными друг другу. Конечно, система позволяет использовать разные значение этих атрибутов, но работать с настройкой век будет проще и комфортнее, имея равные значения в upper и lower remap.