Сообщество Империал: [Статья] Некоторые способы 3д-моделирования для АТВ - Сообщество Империал

СоциоПат

[Статья] Некоторые способы 3д-моделирования для АТВ

[Статья] Некоторые способы 3д-моделирования для АТВ
Тема создана: 02 июля 2020, 15:03 · Автор: СоциоПат
 СоциоПат
  • Imperial
Imperial
Социолог

Дата: 02 июля 2020, 15:03

В этой статье я хочу остановить НЕ на точной последовательности моих действий по 3д-моделингу головы, а на основных моментах, ошибках, нюансах. Статья поможет и мне - не забыть то, что я уже проделал, но в силу неопытности легко могу позабыть, и другим людям, которые хотят 3д-моделировать для АТВ и не только. Думаю, опытные, профессиональные 3д-моделисты с легкой улыбкой закроют данную статью и займутся своими профессиональными делами))) - но начинающему человеку(кстати, к которым отношусь и я), считаю, будет полезным почитать написанное здесь.
Вначале, как всегда, хочу выразить благодарность всем людям, которые создавали необходимые программы, помогали мне советами и идеями - поименно перечислять не буду, думаю, если они когда и прочтут эту статью, сразу поймут, что речь о них))).
Что ж, теперь можно и приступать.
Некоторые моменты 3д-моделирования для АТВ, создания развертки, текстуры и анимация.
Итак, в предыдущей статье мы научились экспортировать нужные нам дефолтные РИГИД_модели из игры. Какая была моя цель - из понравившейся мне женской головы ригид_модели nordic_seeress_01 сделать полноценную, тк базовая обладала лишь передней половиной головы - это объясняется тем, что модель в игре - жрец, с разными платками/косынками, которые заднюю часть - дырку просто закрывали.
Первое, на чем остановлюсь, настройки МАСШТАБИРОВАНИЯ в 3дмакс (у меня версия 2014).
Важный момент, тк у меня был казус, когда все в 3дмаксе сделал правильно, экспортировал удачно, в Аките их не видно - оказалось, что модели были просто раз в 100 меньше обычных!!!!
Итак, что нужно сделать, смотрим картинку:
Customize - Units Setup - System Unit Setup значения выставляем, как на рисунке, можно увидеть, что используются ДЮЙМЫ (inches)
Imperial
Далее, когда мы, например, загружаем файл ДАЕ, при открытии в 3дмакс, настройки будут такими, как на картинке (раздел Units - Scale factor):
Imperial
Еще один момент, связанный с масштабированием, иногда мы при открытии файла (как правило стороннего, не из игры) можем увидеть следующее окно
Imperial
Так вот, чтобы не сбить нашу настройку масштаба в 3дмаксе(она нужна для АттилыТВ), выбираем ВЕРХНИЙ ответ Rescale the File Objects to the System Unit Scale?, что означает, привести масштаб нового файла к масштабу в настройках 3дмакс. Нижний же вариант автоматически изменит настройку масштаба в 3дмакс.
Так, с масштабом, кажется, все.
Второе, что мы изучим. Открываем полноценную модель женской головы из игры. Можно подкрасить ее для удобства
Imperial
Импортируем переднюю часть головы , удаляем ненужные части МЕШа (просто выделить МЕШ, нажать DELETE), и опять же для удобства подкрасим переднюю часть другим цветом.
Imperial
Немного терминологии - ВЕРТЕКС (vertex) - точка (представьте квадрат , у него четыре вершины, так вот они и есть ВЕРТЕКСы), ребра (edge) - стороны того же квадрата, полигоны - плоскость квадрата (четырехугольники в случае квадрата).
Теперь будем с задней части (зеленый МЕШ) удалять ненужное, чтобы потом склеить с передней частью (фиолетовый МЕШ). Нажимаем правой кнопкой мыши на зеленом МЕШе и выбираем Object Properties, затем в окошке ставим галочку напротив See-Through, тем самым сделав зеленый меш прозрачным, так удобнее, но затем в работе, можно будет переключаться между прозрачным/непрозрачным видами.
Imperial
Затем выбираем модификатор Editable Mesh справа вверху, и выбираем красный квадратик - ПОЛИГОНы.
Imperial
Теперь с зажатым CTRL левой кнопкой мыши мы щелкаем по полигонам модели и выбираем их (как файлы в обычной папке), они становятся красными.
Imperial
По сути нам надо выделить ту часть прозрачного МЕШа, которая приблизительно совпадает с фиолетовым мешем, если нечаянно выделили не тот полигон, нужно зажать ALT и нажать по нему левой кнопкой мыши. Можно также выделять протягиванием с зажатой левой кнопкой мыши.
Получаем приблизительно такую вещь
Imperial
Важная информация для удобства выделения, в выделенном списке на картинке вверху слева можно выбирать то, что хотите выделять - либо ВСЕ (ALL), либо только МЕШ (Geometry), либо только кости (Bone).
Imperial
Далее выделяем половину задней - зеленой части, удаляем ее, так проще, изменим только другую - оставшуюся половину, а потом отзеркалим, и будет полноценная задняя часть))).
Imperial
Далее, можно увидеть, что задняя часть состоит из большего числа полигонов - так модель выглядит ровнее/красивее, но тк передняя часть имеет другое строение, и я не хочу ее менять, мы заднюю часть приведем к виду передней части
Imperial
Посмотрите на зеленый меш, в области синих треугольников мы видим 4 полигона, мы их выделим и удалим, а на их место создадим два полигона по контуру синих линий. Для этого, когда выбран справа красный квадратик в разделе Edit Geometry нажимаем кнопку Create (когда закончим, нужно отжать эту кнопку) и левой кнопкой мыши создаем полигоны.
Imperial
Понаблюдайте за КУРСОРОМ мыши, когда вы соединяете его с уже созданной точкой (ВЕРТЕКС) полигона, он меняет форму, что означает, что ваш будущий полигон соединиться с уже существующим, если вы нажмете левой кнопкой мыши в данном месте. Если вы нарисовали треугольник и полигон никак не образуется, а курсор "хочет" продолжать рисовать фигуру, нажмите правую кнопку мыши и рисование закончится, а полигон создается. Таким образом проходимся по всей модели задней части (зеленый МЕШ).
Затем по контуру фиолетовой части двигаем соответствующие точки зеленого меша, выбираем вертексы и двигаем как можно ближе:
Imperial
Здесь уже проявляем творческую смекалку, это долго, местами нудно, приходится часто сохранять, отменять, переделывать по-другому, тк на внешний вид модели влияет, как будут располагаться полигоны (смотри картинку), повторюсь, здесь уже творчество:
Imperial
Поверьте, зеленое расположение полигонов и синее на картинке сверху по разному влияют на внешний вид модели, какой выбирать - надо исходить из конкретного случая в процессе моделирования.
Дальше, напишу некоторые истины 3дмакса.
Чтобы менять вид, можно нажать на строчку, показанную на картинке
Imperial
Там как бы три кнопки - "плюсик", "orthographic", "smooth+highlights" с выпадающими контекстными меню. Разберем их.
"+" меню нам нужно для просмотра наличия "открытых ребер" - "+" - xView - Open Edges
Imperial
Это штука нужна для проверки, когда сделали модель, посмотрели на наличие открытых ребер - может забыли где соединить, пропустили...Они на модели подсвечиваются зеленым цветом.
Вторая кнопка "orthographic" - выбор вида, перспектива, фронтальная проекция, вид сбоку и тд, там на английском названия, но кто учил язык легко разберется.
Ну и наконец, "smooth+highlights" - в ней можно выбрать Wireframe, иногда необходимый вид при редактировании модели - смотри картинку ниже
Imperial
Дальше, еще нужные кнопки, смотри картинку
Imperial
Здесь 1 - просто выбор объекта, 2 - выбор с перемещением, можно двигать произвольно, а можно навести на появляющееся отображение любой из трех осей и двигать только вдоль выбранной оси, 3 - выбор и вращение, 4 - как раз "отзеркаливание".
Если у нас выбран любой меш, зажимаем ALT и потом зажав колесико мыши, мы можем поворачивать/вращать модель, соответственно колесико еще масштабирует вид на модель.
Кнопки для работы с мешем (которые справа под модификатором Editable Mesh), при выбранном модификаторе Editable Mesh, Create- создать вертекс/ребро/полигон, смотря что выбрано, Attach - присоединение (нужно, когда зеленый меш будем присоединять к фиолетовому, пока у нас как бы две разных модели), weld - сварка, она для соединения вертексов, как бы сваривает два/три/четыре вертекса в один, причем они должны располагаться как можно ближе друг к другу, иначе сварка просто не состоится.
Продолжаем работать с моделью, я упомянул, что нужно зеленый меш придвинуть к фиолетовому, как можно ближе. Можно вручную двигать соответствующие вертексы, можно пустоту между двумя мешами дорисовать полигонами, создавая их на зеленом меше. Главное, чтобы задняя часть была логичным продолжением передней части и сочеталась с ней, посмотрите на картинке:
Imperial
Обратите внимание, что точки расположены напротив друг друга у обоих мешей, чтобы мы могли без проблем потом их "сварить".
Также помимо ручного варианта передвижения точек, можно сделать следующее (очень долгий вариант):
выбрать на фиолетовом меше (при выбранном модификаторе Editable Mesh) вертекс, нажать правой кнопкой мыши и в появляющемся контекстном меню напротив слова Move нажать на квадратик, чтобы вылезла табличка с координатами этой точки по трем осям.
Imperial
На верхней картинке смотрите только на оператор Move и квадратик, чтобы понять как открыть меню, показанное на нижней картинке
Imperial
Запомните эти числа, и проставьте их в табличку координат для соответствующего вертекса на зеленом меше. Нажав Enter вы увидите, как точка зеленого меша подвинется с большой точностью к соответствующей ей точке на фиолетовом меше.
Когда таким образом вы подгоните половину (как мы помним, работаем именно с половиной, так легче!!!) задней части головы к передней части, выделяем заднюю часть и жмем на кнопку Mirror (чтобы отзеркалить половину).
Imperial
В открывшемся контекстном меню ставим галочку напротив Copy и жмем ОК.
Imperial
Теперь у нас две половины задней части головы, но они пока являются двумя разными моделями, чтобы их объединить, нажимаем на одну из половин, потом кнопку Attach, и щелкаем по другой половине, отжимаем кнопку Attach. Теперь у нас полноценная задняя часть головы.
Imperial

Но давайте включим OPEN Edges для проверки неспаянных ребер, естественно по краям модели если будут открытые_ребра - это нормально, если внутри модели - их надо будет спаять:
Imperial
На рисунке видно, что в месте соединения двух половинок задней части головы, у нас есть открытые_ребра, выделяем вертексы по-очереди вдоль этих ребер и жмем кнопку Selected в разделе оператора WELD справа.
Imperial
Мы увидим, как открытые_ребра вдоль центра задней части головы исчезают))).
Imperial
Теперь, думаю, можно соединить обе части - переднюю и заднюю - вместе тем же способом, что и половинки задней части головы, причем К ПЕРЕДНЕЙ мы крепим ЗАДНЮЮ часть. Затем свариваем соответствующие вертексы между задней и передней частью уже одной модели головы. Контролируем себя с помощью открытых_ребер. Можно аккуратно выделить несколько вертексов и сварить, это допустимо, если вы очень точно, максимально близко расположили соответствующие вертексы друг к другу, тк обратите внимание на число напротив кнопки Selected, оно как бы задает расстояние сварки, те если оно 0,003, то на таком расстоянии точки сварятся, а на большем - нет.
Соответственно внешние ребра останутся открытыми.
Imperial

Далее выделяем модель на модификаторе Editable Mesh на уровне полигонов полностью, в правом меню немного прокручиваем вниз, чтобы увидеть такую строчку AUTO SMOOTH с базовым значением у меня 45,0. Ставим сначала значение 0 и жмем auto smooth, увидим как модель вся станет грубой, потом ставим значение 45 и снова жмем auto smooth, теперь модель вся станет равномерно гладкой.
Imperial
Двигаемся дальше. Присваиваем модели модификатор Edit Normals, он будет выше модификатора Editable Mesh. У меня на предыдущих скриншотах уже есть разные модификаторы, не обращайте внимания, тк картинки делаю уже с готовой модели, и все нужные модификаторы у меня уже присвоены.
Нажимаем ctrl+A, чтобы выделить все нормали модели, потом жмем сначала на кнопку Break справа под модификаторами, а потом на кнопку Unify.
Imperial
Вещь несложная, но мне подсказали - полезная, для улучшения модели, поэтому лучше сделать))).
Идем дальше. Вообще, при открытии готовых моделей из игры, у них уже есть присвоенный модификатор SKIN, его суть заключается в том, чтобы МЕШ - кожа (skin) присоединить к соответствующим костям правильно. Те допустим верхняя часть головы НЕ должна быть присоединена к кости ноги, тк кость ноги будет двигаться в процессе анимации, а за ней все точки МЕШа, которые присоединили к этой кости. Тк передняя часть головы у нас была отдельной моделью, у нее уже был готовый СКИН, причем более чем адекватный, для того чтобы его сохранить, мы именно к ПЕРЕДНЕЙ части присоединяли заднюю часть, а не наоборот (тогда СКИН передней части просто не сохраняется)
Imperial
Как проходит процесс СКИНинга, справа в меню под модификаторами нужно нажать Edit Envelopes (или жмем плюсик у модификатора SKIN и потом Envelope), мы увидим как окрасится в разные цвета часть модели, также справа мы видим список костей, к которым крепится кожа - наш с вами МЕШ (модель). Тк у нас модель головы, костей ног мы там не увидим, тк модель головы к ним крепится НЕ должна. Чтобы сделать правильный СКИНинг задней части, откроем готовую модель полноценной женской головы из игры (ту, от которой отрезали заднюю часть), хоть мы немного меняли заднюю часть, приводя ее в соответствие с передней, все равно, стараемся выставить такие же цвета и в том же месте, как и на готовой модели. Как выставляются цвета, а точнее ВЕСа вертексов (weight) - каждому весу свой цвет соответствует, например весу 1 - цвет красный, что значит, что данная кость полностью влияет на данный вертекс, если желтый - средняя степень влияния, синий - очень слабое влияние. Мы выбираем справа одну и ту же кость (на примерочной модели и на нашей), под разделом Select ставим галочку Vertices и выбираем какой-то вертекс
Imperial
Затем справа на панели модификатора прокручиваем вниз пока не увидим иконку гаечного ключа, рядом кнопку Weight Table...Жмем на "гаечный ключ" и видим открывшееся контекстное меню Weight Tool.
Там мы видим, какой вес у нашего вертекса для разных костей - может одной, может двух и тд...Такой же вес ставим на нашей модели.
Imperial
Щелкаем на цифирки в меню - 0, 0.1, 0.25 и тд, тем самым назначая нужный вес..Цвет будет меняться в зависимости от значения. Можно выставить очень точное значение, например не 0.5, а 0.526, это значение вводим в меню напротив Set Weight и жмем саму кнопку Set Weight. Максимальное значение, напоминаю, 1. Минимальное - 0, те кость не будет влиять на вертекс со значением веса = 0. Хочу сразу успокоить вас, когда вы столкнетесь с ситуацией, что пытаетесь изменить вес вертекса для кости, а он не меняется, ничего страшного, вы будете заниматься и другими костями, и если этот вертекс связан должен быть с двумя костями, выставив какое-то значение веса для второй кости, вы увидите, как у той самой первой он изменится по формуле "1 – вес второй кости". Таким образом нужно добиться сходства весов задней части вашей модели и весов ванильной - примерочной модели. Если мы нажмем кнопку Weight Table, увидим таблицу, где можно видеть все вертексы, кости и значения весов, в таблице также можно вводить значения весов и менять их. Здесь долгая, утомительная работа, требующая внимательности, чтобы выставить правильные веса.
Если вы делаете новую модель, например, той же головы, вы добавляйте к ней через импорт модель головы из игры и удаляйте ванильный меш, чтобы остались лишь кости и ваша новая модель, присвойте ей модификатор SKIN, вы можете видеть, что справа в списке костей никаких костей нет, для этого жмем на кнопку ADD напротив раздела Bones, появляется меню, где выбираем нужные вам кости или все кости, и жмем Select. Вы увидите, как эти добавятся в список справа под модификатором.
Imperial
Что еще необходимо сказать про модификатор SKIN...Если по каким-то причинам вам после СКИНинга необходимо передвинуть/повернуть модель, сначала убираем галочки с пунктов Paint Blend Weights и Always Deform...
Imperial
Потом выбираем уже назначенный модификатор Editable Mesh, двигаем/вращаем ее, затем переходим снова в SKIN и снова ставим те же галочки.
В конце статьи я еще немного добавлю про СКИНинг, только там на примере другой модели, мы рассмотрим очень полезный модификатор Skin Wrap.
Двигаемся дальше - чем дальше, тем интереснее)))..Модель наша готова, но теперь надо ее раскрасить текстурами, а для этого нужно выполнить развертку нашей модели – причем сделать постараться ее так, чтобы сохранить элементы развертки передней части модели nordic_seeress_01, той самой, помните, которую мы брали из игры без изменений...Чтобы не рисовать заново уже нарисованное разработчиками на высоком уровне женское лицо)))..Развертка по сути - это отображение нашей 3д-модели на 2д-поверхности, чтобы ее выполнить, нужно нашу модель разрезать с помощью швов, надо стараться выполнять швы в тех местах модели, которые находятся как можно меньше/реже на виду...
Давайте обратимся к картинкам с трех сторон уже готовых швов для нашей модели -
Imperial
Imperial
Imperial
Мы видим зеленые линии - это и есть швы, те разрезы нашей модели...Сначала я подробнее остановлюсь на местах разреза...Первое, это конечно, внешние грани модели - подчеркнул красным
Imperial
Дальше, отдельно швы по периметру глаз и рта (губы) -
Imperial
Следующий шов (один из самых неудобных для рисования, тк он внутри модели, надо ее делать прозрачной, аккуратно вращать и не запутаться в линиях) - это как бы рот изнутри, эта часть модели, как я понимаю, реализована, чтобы видеть при анимации открывания рта горло, язык - те для реалистичности...
Imperial
На рисунке красным цветом выделены внутренности рта - горло/язык...Синим цветом я показал наружную часть рта (губы) для сравнения...Вид изнутри модели, модель прозрачная...
Последний шов мы делаем по центру головы сзади (немного заходим на макушку), тк эта часть по сути будет прикрыта волосами, шлемом, может какой шкурой, и это будет не сильно заметно на текстуре.
Imperial
Вот такие швы будем делать, на верхних картинках уже готовые швы просто для наглядности.
Как делать швы, развертку - сначала назначаем модификатор Unwrap UVW, он будет в списке наших модификаторов самым верхним.
Imperial
После назначения модификатора мы увидим, как на модели появятся зеленые линии - это АВТОшвы, те швы автоматически выполненные модификатором. Видно, что они сделаны и в других местах модели, ничего страшного.
Imperial
Чтобы убрать зеленые линии - автошвы, листаем меню модификатора (которое справа), и убираем галочку с Map Seams, который находится в разделе Configure-Display, чтобы включить автошвы снова, ставим галочку...
Imperial
Как рисовать швы вручную (они будут отображаться СИНИМ цветом) -
В разделе Peel - Seams выбираем иконку "зеленой пунктирной линии с белой стрелкой", которая называется Edit Seams и начинаем левой кнопкой мыши щелкать по тем ребрам, которые будут необходимым нам разрезом.
Imperial
Если выбрали случайно лишнее ребро, зажимаем ALT и щелкаем по этому лишнему ребру. Когда закончили разрезы, отжимаем иконку Edit Seams...Видимость ручных швов регулируется галочкой напротив Peel Seams.
На данном этапе лично я долго мучился, чтобы получить хорошую развертку, с элементами частей развертки ванильной модели nordic_seeress_01 из игры...
Делаем следующее...Делаем с АВТОшвами, рисовать вручную не нужно, тк все равно дорабатывать придется в окне развертки...Но это только конкретно для нашей модели, для других - делать по-другому, только теми же способами...
Выбираем значок полигонов и нажимаем ctrl+A, чтобы выбрать всю модель (она покраснеет ))) )
Imperial
Затем справа щелкаем кнопку Open UV Editor для открытия окна развертки
Imperial
В окне развертки (далее ОР) мы увидим возможно абракадабру, ничего страшного, исправим)))..
Для начала давайте отделим соединение (на рисунке обозначена 3) между разверткой лица (на рисунке обозначена 1) и частью головы (на рисунке обозначена 2):
Imperial
Щелкнем левой кнопкой мыши где-нибудь вне ОР, чтобы сбросить общее выделение. Далее, общие принципы работы с разверткой - выделять можно на уровне точек, ребер, полигонов - это выбирается справа под модификатором
Imperial
Выделять можно как в окне развертки, так и на модели - ОР и модель связаны между собой визуально...Более того вы можете увидеть, например, нужный полигон на развертке и его же на модели, так легче понять, что у вас в этом месте - щека или шея)))...С зажатым ctrl можно выделять несколько объектов, с зажатым ALT - убирать ненужное выделение, можно выделять протягиванием, те зажатой левой кнопкой мыши...Продолжим, выделяем то самое соединение (которое на рисунке обозначено 3), щелкаем по нему правой кнопкой мыши и нажимаем Break
Imperial
Передвинем этот кусок вниз, чтобы не мешал.
Imperial
Как перемещать/вращать/масштабировать куски развертки - с помощью иконок слева вверху ОР:
Imperial
Дальше, давайте передвинем сразу куски - глаза и рот(внутренний),чтобы не мешались, можно даже временно за пределы шахматного поля (главное в конце не забыть вернуть их на свободное место на шахматном поле):
Imperial
Давайте покажу, что лицо развертки мне удалось сохранить согласно текстуре ванильной модели, для этого сначала поменяем размер поля развертки (у ванильной модели оно 1024 на 512), щелкаем на иконку "Brings Up the Options Dialog" справа вверху ОР и меняем разрешение 256-256 на 1024-512 и ОК
Imperial
Видим, что размер шахматного поля изменился...Теперь сделаем фон развертки в виде текстуры ванильной модели, а не шахматного поля(фон можно менять когда угодно), для этого щелкаем справа вверху на CheckerPattern (Checker), выбираем в выпадающем списке Pick Texture
Imperial
В открывшемся окне выбираем Bitmap
Imperial
И далее загружаем нашу текстуру, вместо шахматного поля появится фон текстуры ванильной модели, можно видеть как лицо развертки совпадает с лицом на ванильной текстуре, это хорошо (опять же, напоминаю, это для НАШЕГО конкретного случая):
Imperial
Теперь, убедившись, можно переключиться обратно на шахматную доску)))..
Теперь отделим кусок, соединяющий шею и половинку задней части головы (красное выделение на картинке)
Imperial
Синим цветом на картинке сверху я обозначил половинку задней части головы, на самом деле это ДВЕ половинки задней части головы, наложенные друг на друга, давайте передвинем одну из половинок на свободное место:
Imperial
Для чего выделим всю заднюю часть на ОР и затем на модели через ALT уберем половину выделения
Imperial
Дальше, смотрим на следующую картинку, я немного передвинул куски развертки для удобства и выделил один кусок (красный на картинке), вы помимо этого видите СИНИЕ линии (ребра) на других кусках, так вот, эти СИНИЕ ребра обозначают место соединения с ребрами выделенного куска, ведь когда мы РЕЗАЛИ модель, ребра, по которым резали, стали принадлежать обоим получившимся кускам
Imperial
Чтобы поточнее определить, какое ребро одного куска соотносится с ребром другого куска, давайте выберем "выделение по ребру" и выберем какое-нибудь ребро на одном куске, увидим на другом куске СИНЕЕ ребро
Imperial
Таким образом мы можем соединить обратно эти два ребра, которые показаны на предыдущем рисунке, сделаем это с помощью команды Stitch Selected (нажимаем правой кнопкой мыши, появляется контекстное меню и там выбираем Stitch Selected)
Imperial
Красиво?))) Ничего страшного, мы нажмем отмену действия (ctrl+z) и отменим изменение, просто нужно обратить ваше внимание, что в результате каких-то действий, можно получить подобные картинки, когда два куска пересекаются друг с другом, это будет ошибка в развертке, и их надо исправлять...Еще из этого примера вы можете увидеть, что тот кусок, ребро которого мы выделили, остался на месте, а другой кусок (у которого соответствующее ребро было синим) передвинулся и склеился по выделенному ребру с первым куском...а если бы мы выбрали ребро на куске-лице и нажали Stitch Selected, то этот кусок-лицо остается на месте, а другой кусок перелетит к нему для соединения, смотрите на картинке:
Imperial
Imperial
Давайте отразим по горизонтали кусок, который у нас слева от куска-лица, для чего мы его выделяем на уровне полигонов и нажимаем Tools - Flip Horizontal (там рядом есть еще кнопка Mirror Horizontal, если честно, я до конца не понимаю, в чем между ними разница)
Imperial
Сейчас, на предыдущей картинке, я просто показал способ отражения куска развертки...Продолжаем работу с моделью...Давайте выделим несколько кусков развертки, каких, посмотрите на рисунке и нажмем кнопку Reset Peel (иконка загнутой белой стрелки в разделе Peel в ОР)
Imperial
Получим нашу с вами заднюю часть головы
Imperial
Давайте уменьшим масштаб этой части развертки для удобства и кусок лица отодвинем временно в сторону.
Imperial
Теперь наш выделенный кусок мы разрежем на полигоны, сначала жмем Mapping, потом жмем Flatten Mapping
Imperial
Мы увидим окошко этого оператора Flatten Mapping, в нем есть параметр Polygon Angle Threshold со значением 45...
Imperial
Так вот, если мы увеличим этот параметр, кусок распадется на меньшее число кусочков: например, 90
Imperial
Если мы поставим для этого параметра маленькое число, кусков будет много, например при =1 видим следующее
Imperial
Вот этот вариант мы и оставим)))) передвинем эти куски вниз, слегка уменьшив масштаб, а кусок-лицо расположим в центре ОР
Imperial
Теперь к нашему лицу будем по-очереди приклеивать все маленькие кусочки, часть этих кусков приклеится слева, другая часть - справа...Если мы просто выделим нужное ребро на лице и нажмем Stitch Selected, необходимый кусок подлетит к лицу и приклеится, но вы увидите, как кусок-лицо остается на месте, однако выделенное ребро (и смежные с ним вершины) слегка передвинется – попробуйте это сделать, приблизив камеру к ребру и убедитесь сами...Это не критично, но мы же хотели оставить кусок-лицо без изменений, причем, эти изменения могут быть НЕсимметричными с левой и правой сторон, а значит, когда будем рисовать текстуру, нам будет рисовать ГОРАЗДО сложнее, хотя бы тем, что уже не получится нарисовать одну половину в фотошопе и, скопировав, отразить по горизонтали/вертикали на другую половину развертки...Значит, нам кусок-лицо необходимо "железно" закрепить...Подобной кнопки я не нашел, зато у оператора Stitch Selected есть необходимая настройка, когда мы выбираем ребро, нажимаем правой кнопкой мыши для вызова меню, НЕ нажимайте сразу на Stitch Selected, а нажмите на квадратик напротив Stitch Selected для вызова дополнительного меню Stitch Tool:
Imperial
В этом меню Stitch Tool мы видим параметр Bias, равный изначально 0,5
Imperial
Так вот, если мы это значение ОБНУЛИМ (те Bias = 0), то наш кусок-лицо остается полностью неизменным...
Проделав описанную операцию, вы увидите, что присоединившийся кусок залезает на наше лицо.., на уровне выделения точек выберем точку, залезшую на лицо и отодвинем в сторону:
Imperial
Imperial
Вот здесь "шахматная доска" как фон окна развертки нам очень в помощь, посмотрите, что я не произвольно отодвинул точку(вертекс), а в угол белой ячейки - тогда нам проще будет двигать симметричный вертекс на правой стороне лица на такое же расстояние и под тем же углом, чтобы сохранить симметричность развертки:
Imperial
Таким образом добавляем, передвигаем, сохраняя симметричность, все кусочки ))))
Также мы разрежем на кусочки оставшийся кусок-шея и потом добавим его к куску-лицу
Imperial
Действия все аналогичные, поэтому покажу сразу конечный вариант развертки
Imperial
Один момент, на котором надо остановиться, связан с тем, что мы присоединяем к лицу слева и справа кусочки, поэтому они будут просто нарастать слева и справа, никак не соединяясь друг с другом, типа такого:
Imperial
На этом рисунке я просто показал, что нам надо будет соединить левую и правую части, не обращайте внимания, что там все криво, у меня не осталось сохранений в 3дмаксе на данной стадии, поэтому я тупо разрезал произвольно конечный вариант и отодвинул в сторону, чтобы заново не склеивать все куски до этого самого момента...Здесь нам снова поможет параметр Bias в меню Stitch Tool, только значение будем ставить не ноль, а другое, такое, чтобы две части - левая и правая- сдвигались равномерно и симметрично друг к другу, попробуйте это сделать, вы увидите наглядно, что части сдвигаются равномерно...ОБЯЗАТЕЛЬНО еще снимаем галочку в меню Stitch Tool с параметра Align Clusters (типа автоматического выравнивания развертки, нам в данном случае это не нужно, тк искажается лицо, попробуйте проделать с галочкой и без для сравнения и наглядности)!!!
При Bias = 0
Imperial
Меняем Bias на значение, например, 0.5
Imperial
А при значении Bias=0.42 получим нормальное расположение
Imperial
Не забываем регулярно сохранять ваш 3дмакс-файл))))
Когда развертка готова, проверьте, что нет нигде пересечений элементов развертки, наложений, что все части развертки расположены в шахматной зоне - те в поле развертки, а не за пределами, когда во всем убедились, сохраним нашу развертку для фотошопа...Жмем Tools, потом Render UVW Template
Imperial
Появится окошко с названием Render UVs
Imperial
Давайте разберем, что здесь к чему...Width и Height это ширина-высота будущей текстуры, для нашей нынешней модели это 1024 на 512...Дальше, Show Overlap - я не знаю, для чего это нужно, где-то прочитал совет снимать галочку, так что снимаем...MODE - это вид текстуры, те NONE - текстура будет прозрачной на черном фоне, SOLID - текстура на черном фоне, но закрашенная серым цветом, NORMAL - текстура нормалей, нам пригодится, я свою текстуру нормал как раз делал из 3дмакса...Галочка напротив Visible Edges - показывает на текстуре все ребра, если снята, то ребра мы не увидим, только текстуру...Оба режима нам будут полезны..
Давайте выберем любой вид текстуры и нажмем Render UV Template в этом окошке:
Imperial
Появится изображение нашей текстуры, жмем на дискету и сохраняем нашу текстуру...Лучше в формате TGA, тк нам в 3д максе и BOBе все равно надо будет экспортировать в этом формате текстуры...Думаю, с разверткой на этом закончим, теперь будем рисовать текстуры в фотошопе, используя максимально ванильную текстуру модели nordic_seeress_01...
Для начала откроем эту текстуру-помощницу nordic_seeress_01_diffuse в фотошопе, необходимо выделить лицо, глаза и рот-внутренний, самый лучший способ в этом случае, я считаю, это выделение по маске, для чего мы жмем на значок в левой части окна "редактирование в режиме БЫСТРАЯ МАСКА", обозначен на рисунке:
Imperial
Инструментом "КИСТЬ" с жесткостью, непрозрачностью, нажимом 100% начинаем закрашивать необходимые части, я для быстроты, обычно рисую по контуру, а потом применяю заливку, на рисунке вы видите закрашенную часть КРАСНЫМ цветом, это справедливо для быстрой маски
Imperial
Если мы отожмем значок БЫСТРОЙ МАСКИ, то увидим выделение
Imperial
Когда выделили все, что вам нужно, сохраним выделение на новый слой для удобства, чтобы можно было всегда пользоваться этим выделением и не рисовать его заново, для чего жмем правой кнопкой мыши и "сохранить выделенную область", получим новый слой, где фон черный, а наше выделение белое:
Imperial
Теперь, чтобы вызвать наше выделение, жмем "выделение" - "цветовой диапазон", в появляющемся окошке ставим разброс 200 и ОК
Imperial
Затем переключаемся на наш фон, те саму картинку и видим наше выделение
Imperial
Затем копируем выделение на нашу с вами новую текстуру, располагая ее правильно
Imperial
Далее, можно придумать разные варианты заполнения оставшейся части текстуры, но это кожа, она не может быть только, грубо говоря красной или зеленой, посмотритесь в зеркало, тут светлее, тут темнее, тут немного красноватый оттенок, тут немного беловатый и тд....Здесь уже вступает в дело талант/нюх художника)))) Я не художник, тем более в компьютерной графике, поэтому я делал следующее:
- копируем слой лица на другой, чтобы если испортим, у нас останется первоначальный слой лица, и можем делать попытку номер 2
- с копией слоя начинаем действие: растягиваем во все стороны не спеша краски лица инструментом ПАЛЕЦ
Imperial
Параметры инструмента подбираются индивидуально (сила нажима, интенсивность)...То, что у меня краска залезает за границы текстуры - это даже хорошо, тк эти части потом будут соединяться в шов на модели и если вы хоть немного (пару пикселей) пропустите, сделаете, как вам будет казаться, четко по линии текстуры, на модели будут белые или черные пиксели, которые вы не докрасили, и будет некрасиво....ОЧень далеко выходит за пределы текстуры смысла нет...Вот таким образом получаем нашу с вами диффуз-текстуру...
Imperial
Посмотрите, зеленым цветом на картинке я выделил место спереди на шее, горле, его рисовал вручную, взяв цвет чуть темнее/светлее основного фона, нарисовал на другом слое, и потом ставил наложение слоя другое (по-умолчанию ОБЫЧНЫЕ) - можно "мягкий свет", можно еще какое, надо смотреть, какое больше подходит в конкретном случае
Imperial
Это основные способы создания диффуз-текстуры, которые применял я....Во вкладке ИЗОБРАЖЕНИЕ-КОРРЕКЦИЯ есть разные операторы, которые позволяют менять тон, насыщенность и тд, пользуйтесь ими также, если хотите, например, сделать кожу более светлого оттенка и тд...
Обратите внимание на уши, у ванильной текстуры не было детализации, вручную рисовать ее тяжело, я просто скачал текстуру человека в хорошем разрешении, вырезал ухо (конечно с текстуры, я не кровожаден!!!))) ), скопировал его на мою текстуру и опять же перечисленными инструментами добился единства с остальной текстурой, по-моему получилось неплохо, цельно...
Imperial
Почаще сохраняйте файл и проверяйте периодически в 3дмакс, как текстура смотрится на модели...
Дальше, сразу из нашей диффуз-текстуры делаем текстуру level.tga, просто обесцветив нашу диффуз-текстуру и сохраним...
Далее, текстура normal, в этот раз я ее сделал, взяв основу прямо из 3дмакс, чуть выше писал об этом...Откроем ее в фотошоп, она немного отличается от подобных текстур-normal в игре, я покажу как это исправить:
Imperial
Посмотрите справа каналы, выбираем синий и закрашиваем полностью черным:
Imperial
Затем выбираем красный канал и закрашиваем белым цветом:
Imperial
Текстура normal приобретает схожий с игровыми вид:
Imperial
На ней желтый цвет обозначает "впадины", а красный цвет - "вершины"...Те конечно, не настоящие впадины/вершины, а только ВИЗУАЛЬНОЕ отображение...
Опять же, назначили совместно с диффуз-текстурой на модель в 3дмаксе и проверили, устраивает ли вас данная текстура, или что-то нужно поменять....
Далее текстура gloss_map, опять же чтобы привести ее в вид подобно игровым, нужно открыть свою диффуз-текстуру и обесцветить, а потом в синем канале закрасить все черным...
Imperial
Дальше, пользуясь правилом "СВЕТЛЫЙ тон дает блики, глянцевость, ТЕМНЫЙ тон дает матовость", отрегулировать вашу глосс-текстуру, сохраняя и проверяя ее в 3дмакс на модели...
Текстура Specular, делаем опять же из диффуз-текстуры, опять же можно обесцветить и пользоваться правилом "белые тона дают блеск, черные тона дают матовость"....
В текстурах level, specular, gloss_map альфа-канал не требуется...
Напоминаю, что это способы, с помощью которых я сделал себе модель и текстуры, вполне возможно, существуют способы более грамотные и правильные для создания текстур, буду рад услышать их от вас в комментариях...
С текстурами, думаю, все, давайте поговорим немного об анимации...
Вообще, в АТВ с анимацией по большому счету все в порядке, набор файлов анимации - те разных движений модели - предостаточно, и выполнены на высоком идейно-художественном уровне)))) Но, меня эта тема заинтересовала потому, что допустим игровые ЛЬВЫ, ВОЛКИ не имеют боевой анимации - удара, прыжка с укусом и тп....И если мы создадим отряд с боевыми львами вместо собак, все будет работать, но, приблизив камеру в бою, увидим как львы стоят между рядов противника, и противник периодически умирает, иногда умирают львы - это происходит потому, что в таблицах мы прописали цифры, а визуального отображения нет....(как например есть у собак, мы видим - собака прыгает на воина, тот от этого удара погибает, все видно и понятно)....Можно в боевую анимацию записать например файл "бег_льва", тогда мы увидим, что при беге льва среди врагов, те будут погибать, тк происходит в таблицах боевая анимация и происходит расчет урона и гибели воинов, он опять же - это некрасиво, нужна видимость атаки, например, просто удар лапой и тогда все понятно, лев ударил лапой, воин погиб от этого...
Прекрасный инструмент BOB, однако, не позволит вам сделать новую анимацию для ванильных скелетов, точнее вы сделаете, но в игре будет работать либо ваша новая анимация, либо ванильная, вместе соединенные они вам отобразят белиберду!!!! Я лично проверил это несколькими способами, плюс создатель RMe - Phazer сообщил мне то же самое, он с другими мододелами тоже пытались проделать эту операцию в BOB...Поэтому в своей программе RMe он реализовал замечательный экспорт из формата 3дмакса FBX в игровой ANIM, но пока эта версия RMe находится на тестировании, есть еще проблемы, если например, программа экспортирует все анимации волков без проблем, то с моделями собак - проблема, там скелет и скин модели смотрят в разные стороны и вручную вряд ли вы сможете соединить их правильно...
Теоретически, вы можете создать новый скелет и новые анимации для моделей игры, но лично я это НЕ проверял, тк помимо создания и экспорта, полагаю, надо заполнить несколько таблиц в ПФМ...Мной проверено лично замена ванильного скелета волка на ОДНОИМЕННЫЙ другой скелет (визуально он выглядит таким же, но только для вас, а не для BOB) с созданием для этого скелета анимации, минус этого способа, что все другие ванильные анимации волка будут в игре работать неправильно (волк будет расползаться, летать и тп) и по сути, я должен пересоздать все ванильные анимации волка с новым скелетом, тогда будет полноценная модель в игре...
Сложного ничего нет, я вам покажу простейший способ создания анимации в 3дмакс, экспорт в BOB...
Откроем файл wolf.anim.DAE (те файл скелета модели - базовый, с помощью которого я в первой своей статье описывал экспорт модели!!!) в 3дмакс:
Imperial
СЕйчас поясню, что я обозначил на рисунке цифрами, цифра 1 указывает нам на панель кадров анимации от 0 до 100, цифра 4 - это панель воспроизведения анимации, когда она создана, принцип как у любого проигрывателя типа ВИНАМП, нажали PLAY и увидите как ползунок кадров 1 поползет по панели кадров, а модель будет двигаться....Цифра 2 указывает на кнопку TOGGLE SET KEY MODE, нажав на которую вы попадете в режим ручного создания анимации, вы увидите красную рамку при нажатии на эту кнопку, кнопка 3 SET KEYS (в виде ключа) - при нажатии на нее на панели кадров создастся ключ, он действует по типу сохранения скелета, скина модели в определенной позиции..
Давайте сделаем простейшую анимацию:
Сначала жмем SET KEY, появилась красная рамка, напоминающая нам о режиме создания анимации:
Imperial
Затем, выделив ВСЮ модель и скелет, жмем кнопку со значком ключа SET KEYS, чтобы зафиксировать на нулевом кадре наше ванильное расположение модели:
Imperial
Слева нарисованная мной зеленая стрелка указывает на нулевой кадр, если присмотреться, вы увидите, что там появится зелено-красно-синий значок, означающий КЛЮЧ на этом кадре...
Дальше передвинем ползунок кадров, например на 30 кадр
Imperial
Далее мы должны двигать КОСТИ, ведь скин (те шкура модели) соединен с костями и будет двигаться вслед за ними...Для этого вспомним в начале статьи мои комментарии о способах выделения (all, geometry, bone), пользуясь этим выделим какую-нибудь кость и передвинем (если скин мешает, выбрали кость, временно скрыли скин или выбрали скин, скрыли, а потом выбрали кость):
Imperial
Я передвинул чуть вперед и вверх левую ногу, затем снова выделяем ВСЕ (и скелет, и скин модели) и жмем на значок ключа:
Imperial
Видим, что на 30 кадре появился значок, это правильно (для удобства вида отодвинул ползунок в сторону)...
Теперь можем нажать кнопку TOGGLE SET KEY MODE, чтобы выйти из режима создания анимации и нажать PLAY, посмотреть, что получилось, можно вручную двигать ползунок медленно, внимательно просматривая свою анимацию)))) Сохраним 3дмакс-файл...Дальше экспортируем в CS2 (я назвал primerchik.CS2)...
Еще раз загрузим файл wolf.anim.DAE, удалим весь скин и , как я описывал в своей первой статье, повернем скелет на 180 по оси Z и назначим значению координаты Y минусовое значение, сохраним как wolf.CS2...
Затем копируем файл wolf.CS2 в Акиту (Total War Attila\assembly_kit\raw_data\animations\skeletons), а файл primerchik.CS2 помещаем по адресу (Total War Attila\assembly_kit\raw_data\animations\ROME2\animals\ wolf)...
Необходимо также сделать несколько правил для BOB, сейчас покажу текст и куда помещать:
rules.bob (Total War Attila\assembly_kit\raw_data\animations\ROME2\animals) должен содержать текст
[Animation]
AnimationType = wolf
rules.bob (Total War Attila\assembly_kit\raw_data\animations\ROME2\animals\ wolf) должен содержать текст
[Animation]
AnimationType = wolf
CoreTranslations = false
FaceTranslations = false
FaceRotations = false
LeftHandTranslations = false
LeftHandRotations = false
RightHandTranslations = false
RightHandRotations = false
IgnoreMetadata = true
FPS=15
Еще в папку Total War Attila\assembly_kit\raw_data\animations\skeletons помещаем файл wolf.bone_table, в котором должен быть текст
Imperial
Выполним экспорт скелета и файла анимации в BOB и полученные файлы помещаем в пак, прописываем в таблицах анимацию (есть отдельные туториалы по этому делу, поэтому останавливаться на этом не буду), запускаем игру с модом и видим нашу анимацию:
Imperial
А вот что происходит с ванильной анимацией (которая к сожалению в паре с нашей новой анимацией работать будет неправильно)
Imperial
Для полного понимания происходящего, удалите файлы скелетона (wolf.anim и wolf.bone_inv_trans_mats) из вашего пака, вы увидите:
ваша созданная анимация
Imperial
ванильная анимация
Imperial
Вот так)))))
Очень хочется, чтобы программист Phazer полностью доделал свою замечательную программу RMe и тогда экспортировать анимацию будет гораздо легче и появится возможность сочетать свою созданную анимацию и ванильную вместе в игре...
С анимацией все, а мы в завершении статьи рассмотрим модификатор в 3д макс - SKIN WRAP
Суть этого модификатора такова - упрощение процесса скиннинга для модели, не имеющей скиннинга с помощью ПОХОЖЕЙ модели со скиннингом...
Откроем файл (или сделаем) без скелета и скининга, у меня это ванильная модель из игры - женские руки:
Imperial
Импортируем к ней модель других женских рук из игры со скиннингом (при этом нашей модели дадим желтый цвет, а модели со скиннингом синий для удобства):
Imperial
Затем нашей модели присваиваем модификатор skin wrap
Imperial
Жмем кнопочку ADD и после нажимаем на синюю модель (со скиннингом), у нас появится в окошке над кнопкой ADD название синей модели
Imperial
Прокручиваем вниз до кнопки Convert to Skin и нажимаем ее
Imperial
Мы увидим как у нашей желтой модели появится модификатор SKIN
Imperial

Конечно, нужно проверить весь скиннинг, может немного уточнить веса, но в целом, процесс очень удовлетворительный (зависит от схожести двух моделей и то, как они расположены относительно друг друга - должны быть близко и точно как на картинках)...
На этом, думаю, можно завершить статью...Описанные в ней способы - не панацея, наверняка существуют и другие более качественные способы, но это те, которыми пользовался я, и результаты мне понравились, поэтому делюсь ими с вами...Буду рад в комментариях обсуждениям, вопросам, уточнениям, замечаниям...Удачного всем модостроения!!!
     Похожие Темы
    М[Статья] Справочник по Descr Strat от Rome Total War
    [Статья] Справочник по Descr Strat от Rome Total War
    Автор G GF93
    Обновление 02 марта 2024, 21:11
    С[Статья] Патч 4.2 Расширение для Теней перемен - часть первая: Катай
    [Статья] Патч 4.2 Расширение для Теней перемен - часть первая: Катай
    Автор C Carnosaurus
    Обновление 08 февраля 2024, 23:00
    3[Сичевые Свитки - Статья - Процесс внедрения анимации в M2TW]
    [Сичевые Свитки - Статья - Процесс внедрения анимации в M2TW]
    Автор Д Денис_Полянин
    Обновление 02 февраля 2024, 19:48
    Воспользуйтесь одной из соц-сетей для входа
    РегистрацияВход на форум 
    Сообщество ИмпериалИмперский Атриум Имперский Атриум Статьи Библиотеки Обратная Связь
    Стиль:Language: 
    «Империал» · Условия · Ответственность · Визитка · 18 апр 2024, 09:23 · Зеркала: Org, Site, Online · Счётчики