Текстурщикам
Текстуры МАНУАЛ: ЛИЦЕВОЙ РИГ ПЕРСОНАЖА
IN
_______________________________________________________________________________
ОТДЕЛ АРТА
Здесь
представлен
- подробный
гайд пко настройке лицевогопт с указанием материга перслонажа. Настраивать лицевой сетап персонажа, рекомферендусов (желатся пельно порядку в соответствии с пунктами ниже. КакCG результатференсы, нао выходеиз будет получежизн лицевой риг, так же допустимы) + указание степени новизны обудъекта и предполагаемая плановость в кадре.
ПРИМЕР ПЛОХОГО КОНЦЕПТА



ПРИМЕРЫ ОТНОСИТЕЛЬНО ХОРОШИХ КОНЦЕПТОВ
ОТДЕЛ АРТА

ПРИМЕР ПЛОХОГО КОНЦЕПТА



ПРИМЕРЫ ОТНОСИТЕЛЬНО ХОРОШИХ КОНЦЕПТОВ
- Если
зв текстурах необходимы определёноные картинки или надподключеиси - нияужны эти самые картинки и надписи четкие и в хогрошем качестве(если еще и в векторе толица квообще сущпер)
ПЛОХОЙ ПРИМЕР КАРТИНКИ(ПРИСУТВСТВУЕТ ЛИШНИЙ ЭЛЕМЕНТ СКОТЧА И НЕЧЕТКИЕ НАДПИСИ)
ПРИМЕР ХОРОШЕЙ КАРТИНКИ
ОТДЕЛ МОДЕЛЛИНГА
- Модель в в формате USD - у всех объектов есть UV и отсутствую
щт оверлапы. У каждой мубодели_рювигудолжны начинаться вrig_dev1001ассюдиметеи рассказаны, особенно когда ассетисборки пздаертсонажа для полученрияфинальвыносе объекта из друго анимационного ассета._______________________________________________________________________________1. ИМПОРТ ЛИЦЕВОГО ПРЕСЕТАПрежде чем начать работу необходимо открытьпоследний файл из моделлинга, ипроизвестинебольшойклинап. Для этого в окнеригБилдера (РБ)необходимо открыть модульcleanup, там выделить подмодульcleaning_hashи кликнутьRUN. Далее,удаляем все, кроме:группа for_rigгруппа blendshapesгеометрические меши в группе geo, которые относятся к лицу (глаза, брови, ресницы, челюсти, язык, волосы, очки и т.п.)
Если нужно освежить память, как вызватьнеобходимый модульвРБ, то можно обратить внимание на статьюниже, награфу:созданиеи UV разверткиг_дев ассета,пользоваться рунководством2.
отсюда https://bookstack.yarko.com/books/rigging-AtN/modelirovanie/page/manual-rigging-biped-personazacastye-osibki-v-topologii-uv-i-materialax - Ге
пометрьиякмогдаелейсцедолжна максимально сочищенаотразного мусора и лишних геомветрий, нужно импорстирвоватьпматереиалам сетликонцевого рпта.
Резигна,где укожеа, будумага, ткань, стеклози лампочки даолжны всенеобхогдимыеконтролы,атак же созданы все нужные связи между ними. Импортировать этотпресетможно черезРБ, открыв модульimport_face_temp.
Т
Каждое лицо уникально, потому недостаточно просто импортнуть пресет, его нужно подогнать - для этого первая кнопка import helpers модуля import_face_temp импортирует в сцену хелперы. С помощью этих хелперов можно расставить ориентиры, где будут созданы контролы.
Чтобы избежать ошибок при позинге хелперов, полезным будет открыть 1 из существующих лицевых ригов (на момент написания статьи, готовы лица на персонажей doc и vinilion) и посмотреть в каких местах расставлены контролы.
Хелперы следует расставлять аккуратно, в правильные и логичные места на лице. На некоторых хелперах будут скрыты атрибуты вращения - это не ошибка, а умышленное действие, поскольку поворот хелпера будет учитываться при конвертации в контролы. Пример подгонки хелперов, изображен на изображении ниже.
Следующим этапом будет конвертация хелперов в контролы, для этого нужно просто нажать вторую кнопку face adapt в модуле import_face_temp. После этого, работа над подгонкой лицевого сетапа будет почти завершена. Оставшиеся 10-20 процентов будут подгоняться за счет работы с тюнерами, которые будут находиться в группах локальных ригов внутри face_others.
Как работать с тюнерами будет описано ниже, в отдельных блоках посвященных локальным ригам.
Шейпы контролов, к сожалению, придется настраивать вручную, так как хелперы конвертируют только оффсет трансформы
Поскольку данная система лицевого рига имеет локальную основу, каждая часть лица будет выполняться на отдельной геометрии,ей т.не. вся работа лицевого скомбайнетапа выполняется локально - такой подход позволяет удобно работать с дриугом, а так же минимиз объектамир.(допует время на дебаггинг в случае, если риг нуждкается совмещение прметавках.
Начинать работу будем с ллокв\не метального рига рта - поскольку бленды на уголки рта моделлеры делают на основе лицевого рига. То есть, когда риг рта будет закончен, эта версия рига отправляется в отдел моделлинга, где создают дополнительные корректы под заданные лимиты уголков рта. В это время работа над лицевым риггом не прекращается, а просто выполняются другие элементы лицевого рига (риг век, бровей, доработка рига рта и т.п.). После того, как бленды будут закончены и одобрены - их нужно подключить уже в лицевом сетапе.
Тем самым, все бленды будут готовы. Ниже будут ссылки на статьи по блендшейпам, для того, чтобы можно было самостоятельно проверить все ли бленды присутствуют на геометрии.
https://bookstack.yarko.com/books/modelirovanie/page/blendseipy-licevye-dlia-glavnyx-personazeihttps://bookstack.yarko.com/books/modelirovanie/page/blendseipy-licevye-dlia-vtorostepennyx-personazei
_______________________________________________________________________________
2. РИГ РТА
Первое с чего начинаем работу, это с локального рига рта. Выполнять лицевой сетап нужно именно с этого потому, что бленды, которые отдает отдел моделлирования не полные, то есть, бленды, корректирующие уголок рта они выполняют только основываясь на уже лицевом сетапе. Таким образом, нет необходимости "целиться" в положения блендов, а так же не тормозит производственный процесс, так как лицевой риг в работу можно брать не имея бленды.
На старте, нужно сделать 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 нужно удалять.
_tuners_group - группы с тюнерами;_constraint_tuners_others - группа с констрейнами, после позинга должна быть у каждого стеклалена--------------------------------------------------------------------------------------------------------------------------------------Внутри 3своя, тюнера:1) jaw_main_tuner обычно уже находится в корректном месте - его можно не двигать, однакой должгруппен
Все он располагаветьящиеся в сэлередине между верхней и нижней губой;2) jaw_pivot_tuner нужно ставить вы типа лампочеку открытия челюсти;3) tongue_pivot_tuner нужно тоже ставить в точку открытия челюсти.
В силу стилизации, важное замечание:
jaw_main_tuner не всегда нудолжно ставитьы в анатомически вердное положение
После того, как все тюнеры были расставлены ий группае си отдельными объеконстрейнами как друг от друга, так и от любой другой части ассета.
Текстуры OUT
- Приемка работы текстуры у худпоста подразумевает набор скриншотов в заметку к версии паблиша проекта Substance Painter в Ftrack с нескольких ракурсов и подчеркивающие материал (эти же скриншоты используются как ориентир для шейдинга)
- Так же требуется один ракурс из Iray имеющий темную и светлую сторону, показы
,вающий объем и материал. такой кадр необходимо создатьпару кривыхна верхнюю губу -M_jaw_up_curve, и на нижнюю губу -M_jaw_low_curve. Сделать подобное можно с помощью модуляmouthRig_tempвРБ.Принципработы следующий:1) в окнеnameпишемназвание кривой, то есть если мы настраиваем верхнюю губу, тоM_jaw_up, если нижнюю, тоM_jaw_low;2) далее на персонаже выделяем соответствующийэйджЛупотлевогоуголка рта, доправого.Важно понимать, чтоэйджлупынужно брать на рту,которые пересекаются;3) далее жмем кнопкуRUN.В конечном итоге будут созданы все необходимые кривые и размещены в правильных местах в иерархии групп.Важно обращать внимание нанейминг, на момент написания статьи все локаторы имеютодинаковый префикс- потому егонужно править в форучную,мате png в руководствуясь тем, что левые локаторы и кости внутри имеютпзрефикс L,правые R, ацентральный-оставить M.Так же нужно уделять внимание наначало кривых, т.е. направлшениеи 3840x2160, открлючивыхдолжныgroundбыть одинаковые - Пабли
, нужно обратить вниманиеш набора трансформуface_head_transform. В атрибутах у этой трансформыексть много каналов, каждый из котоурыхуже связанс элементамилицевого рига. Все эти каналы разбиты нагруппыдля удобства. Благодаря этим атрибутам можно не копаться в риге, а сразу настраивать все, что необходимо.Следующим этапом будет созданияскина, какна кривых, так ина геометрии. Наш основной вектор, это при открытие ртапопасть в положениеблендшейпа открытого рта, который отдаютмоделлеры.Конечно, точь в точь попасть в положения блендов не получится, однаконужно стремиться к тому, чтобы кривые при открытие рта были почти по форме блендшейпа открытого рта.Здесь представлены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).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максимально приближены кблендшейпу, что выделенчерной сеткой.При покраскеblends_mouth_geoважное замечание, уделять больше вниманиюуголку рта, посколькузадача покрасить рот настолько хорошо, насколько это возможноДАЖЕ С ЭКСТРЕМАЛЬНЫМИположениями рта(для этого нужно на L(R)_corner_control выключить атрибутlimits.Добиться нужного результата засчетиспользования толькоскинКластеране получится, потому нужныкорректирующие бленды. Здесь работа делится на 2 части -1 часть выполняется отделом риггинга,2 - отделом моделлинга.Количество блендов на уголки рталимитированои они выполняются как накривых, так и нагеометрии, а именно:corner_Ucorner_Dcorner_Icorner_Ocorner_UOcorner_ODcorner_IDcorner_IUjaw_open__corner_Ujaw_open__corner_Djaw_open__corner_Ijaw_open__corner_Ojaw_open__corner_UOjaw_open__corner_ODjaw_open__corner_IDjaw_open_corner_IU
Где,U- означает вверх,D- вниз,I- в центр,O- наружу. Префиксjaw_openозначает, что рот персонажа открыт в положение открытого рта, которое задаетсяблендшейпом открытого рта.Так жеприменяется как накривых, так и нагеометриикорректирующий шейпjaw_open, который был взят для ориентира когда настраивали скинкривых.Бленды, которые так же будут присутствовать влицевомсетапв формате exr и разрешении 4к
Для мата, но перименяются тоалько нагстеометрии:jaw_Uroll_up_inroll_up_outroll_bot_inroll_bot_outmouth_rotate_Lmouth_rotate_Umouth_rotate_Dmouth_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.Результат с блендами уголков рта и открытой челюстьюДалее, нужно создать блендшейп с геометрииblends_mouth_geoна геометриюlips_minor_geo, тем самым передадим деформации открытого рта на другой меш лица. СоздадимскинКластердля настройкиминорных измененийрига рта.Самиминорынужны для созданиядополнительных форм лица, когда обычные контролы не позволяют передать ту или иную мимику.Здесь представленскинКластернаlips_minor_geo, а в окнеoutJointsпредставлены кости, на которые нужно выполнять этотскинКластер.А именно:lips_minor_skinCluster- это скин на геометриюlips_minor_geoКрасить миноры рекомендую уже в позе, поскольку мимика персонажа должна позволять расширять рот настолько широко, насколько это возможно.Чтобы миноры следовали за геометрией, нужно настроитьuvPinнаnull группыминоров.uvPinследует цеплять кmouth_geo(эта геометрия будет изменяться, потому миноры будут спокойно следовать за геометрией без возникновенияциклов). Однаковыходящуюматрицу изuvPinя рекомендую декомпозировать через нодуdecomposeMatrixи передавать только каналытранслейта, посколькуротейтв данном случае не нужен.Однако при движении миноров теперь, будут возникатьдвойные трансформации, для нивелирования такой проблемы, достаточно создатьmultiplyDivideноду, вinput1которой будут входить атрибутытранслейта минора, а вinput2находиться минусовые значения(-1, -1, -1). ВыходmultiplyDivideноды следует подключить на группу трансформумеждуминороми егоnullгруппой.1)L_lips_low_3_minor_control_null- оффсет группа минора2)L_lips_low_3_minor_control_transform- трансформа минора3)L_lips_lower_3_minor_control- сам минорТеперь назначим блендшейп отlips_minor_geoк геометрииmouth_geo. Это будетфинальная геометрия рта, соответственно назвать этот блендшейп нужно какminors_final_blendShape. Создадим последние управляющие элементы рига к рту с помощьюскинКластеракmouth_geoи назовем его какmouth_final_skinCluster.Здесь представленскинКластернаmouth_geo, а в окнеoutJointsпредставлены кости, на которые нужно выполнять этотскинКластер.А именно:mouth_final_skinCluster- это скин на геометриюmouth_geoТребования к покраске будут таким же, как и кминорам. Нужно стараться добиваться таких деформаций, чтобы регулируя контролы, можно было добиться максимальнойэкспрессии.Иногда полезно будетиспользоватьдеформерdeltaMush, который позволит выровнять местами сетку. Однако следует помнить, чтобольше 10 smoothing iteration ставить нельзя, поскольку на больших значенияхdeltaMushс удовольствием скушает немалоfpsНа данном моментелицевойксетап ртасчитаетсязаконченными геометриюmouth_geoможно подключать через блендшейп к геометрииhead_final_geoи переходить к другимлокальным ригам._______________________________________________________________________________3. РИГ ВЕК И ГЛАЗДля создания локальногоригабелый цвет, макнужсимальнобудчерный рафнесс от 0 до 0.05 использовать3 геометраллии:eyes_geo- гечноместрия,ь накото1. у загрой будут деформациивязнутреннеийграницы века;eyes_outer_geo- геометрия,накосторой будут деформациивнешнейграницы векла;хeyes_final_geo- финальная геометрия, на которой будет финальный скейлвекиподключенныеeyes_outer_geoиeyes_geo, черезблендшейп.Геометриюeyes_geoобычным дубликатомне получить, потому начинать работунужнос геометриейблендшейпа закрытого глаза closed_eyes.Выделим геометриюclosed_eyesи подвинемтюнеры векв группеlids_tuners_group/internal_tuners_groupпогранице линии смыкания век.Тюнерыподгонят необходимые элементы дляриггинга векв нужные места, после их подгонки нужноудалитьгруппуlids_constraint_tuners_others.Тюнеры векне стоит ставить куда попало, нужно руководствоваться простой логикой: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соответственно.Для наиболее простого понимания, картинка ниже визуально описывает правила расстановки тюнеров век.Следующей задачей будет созданиегеометрической плашки L(R)_eyelids_plane_geo, на которой будут находитьсякосточки, от которых в свою очередь будет идтискин. Сами косточки цепляются черезuvPin- такой подходне снизит производительностьи сильно облегчитскин.Как альтернатива плашке может являться кривая, однако красить её не совсем комфортно.Получить плашку можно выделив полигоны по линии смыкания век, и удалить все не нужное, кроме этой плашки.Небольшой помощью при работе будет если последний полигон при выделении фейсЛупа убрать из этого выделения, тем самым будет четкое понимание где находится край века.После получения плашки, нужноприскинитьеё к следующим косточкам, которые находятся в группахface_others/eyelids_others/lids_others.Эти косточки можно найти в группе,что описаны выше. Следует понимать, что эти косточки нужны лишь длялевой плашки, для правой будут ровно те же самые косточки, но уже спрефиксом R, вместоL.Прежде чем перейдем кнастройке открытия века, нужно выполнитьеще 1 действие- создатькосточки, от которых будет идти базовыйскиннаоткрытие/закрытие века. Количество этихджоинтовбудетэквивалентноколичествулуповна плашке, а их создание происходитвручную. Самикосточкинужно расставить покрайним положениям эйджЛупов.Сами косточки нужноприврапитьк плашке. Выполняется подобное черезuvPin, поскольку это наиболее быстрый способ с точки зрения производительности ригга. Однако, стандартныйuvPinпередает все трансформы наджоинты, что создаетненужные ротейтынакостях. В нашем случае ничего, крометранслейтовне нужно, потому нужно декомпозировать исходящую матрицу изuvPinноды втранслейтыи передать наджоинты. Вручную такое выполняется с помощьюdecomposeNode, однако для экономии времени можно воспользоваться модулемuvPin_2вRB.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.Напервойкартинке ротейт основного контрола векаL_lids_upper_control, в то время как навторойбыли смещены3 минора внутренней границы века.Исходя из картинок можно понять, что верхнее и нижние полигоны на плашке века имеют одинаковые веса - тем самым при смыкании геометрического глаза не будут возникать дырки и заломы. Кроме того, особое внимание при покраске следует обратить на плавность изгибов века.Теперь можно открыть веко с помощьюатрибутовнаface_head_transform. Поскольку мы открываем глаза из положениязакрытого века- результатом будет
максимальноеприближение к открытому глазу, то есть нужно настроитьатрибутытаким образом, чтобы плашкаL(R)_eyelids_plane_geoпри открытии века былаприближена к открытому веку настолько, насколько это возможно. Управлять открытием глаза можно с помощью атрибутаblinkна контролеL(R)_eye_lids_control.Процесс настройки выполняется в соответствии с порядком атрибутов начиная сupper_remapи заканчиваяmin tZ.upper remap- угол на который поднимется верхнее веко;lower remap- угол на которыйопуститсямыйнижнеецвеко;corners remap- угол по которому будетдвигаться угловычеконтролы(обычнодефголтное значение около -40 хватает);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.