Difference between revisions of "Autoskin"
Jump to navigation
Jump to search
(8 intermediate revisions by the same user not shown) | |||
Line 1: | Line 1: | ||
Последовательность действий при работе с автоскином: | Последовательность действий при работе с автоскином: | ||
+ | |||
+ | * Геометрия персонажа должна быть разделена на несколько объектов: | ||
+ | ** '''headmesh''': голова с шеей. | ||
+ | ** '''hands''': кисти. | ||
+ | ** '''coat''': торс, верхняя одежда. Либо вообще всё тело (тогда нужно legsFullyAffectCoat=true в autoskin.ms). | ||
+ | ** '''legs''': ноги от таза до стоп, но не доходя до них. Необязательно. Если такого объекта нет, надо создать одноимённую меш-пустышку с нулём вертексов. | ||
+ | ** '''boots''': ноги со стопами, но без таза. Необязательно. Если такого объекта нет, надо создать меш-пустышку с нулём вертексов. | ||
* Мерджим из референсного файла все объекты, начинающиеся на g_ | * Мерджим из референсного файла все объекты, начинающиеся на g_ | ||
+ | |||
+ | * Скейлим чела, чтобы он ближе к пропорциям импортнутых объектов был. | ||
* Удаляем старые '''g_l_arm и g_r_arm'''. Выделяем лупы вокруг плеч и подмышек. Жмём Create Shape From Selection, называя сплайны теми же именами (главное, не перепутать лево и право). Центрируем пивоты в полученных сплайнах, а затем двигаем их туда, где теоретически должны быть под одеждой реальные плечевые соединения. Обычно они выше центра сплайна и немного глубже. | * Удаляем старые '''g_l_arm и g_r_arm'''. Выделяем лупы вокруг плеч и подмышек. Жмём Create Shape From Selection, называя сплайны теми же именами (главное, не перепутать лево и право). Центрируем пивоты в полученных сплайнах, а затем двигаем их туда, где теоретически должны быть под одеждой реальные плечевые соединения. Обычно они выше центра сплайна и немного глубже. | ||
− | * Удаляем старые '''g_l_elbow и g_r_elbow'''. Выделяем лупы вокруг локтей, жмём Create Shape From Selection, называем теми же именами | + | * Удаляем старые '''g_l_elbow и g_r_elbow'''. Выделяем лупы вокруг локтей, жмём Create Shape From Selection, называем теми же именами. |
− | * Удаляем старые '''g_l_sleeve и g_r_sleeve'''. Выделяем лупы на самых кончиках рукавов, жмём Create Shape From Selection, называем теми же именами | + | * Удаляем старые '''g_l_sleeve и g_r_sleeve'''. Выделяем лупы на самых кончиках рукавов, жмём Create Shape From Selection, называем теми же именами. |
* Перемещаем и вращаем объекты '''g_l_hand, g_r_hand и g_l_hand_end, g_r_hand_end''' так, чтобы hand кружки находились на запястье, а проекция из hand в hand_end полностью захватывала кисть. | * Перемещаем и вращаем объекты '''g_l_hand, g_r_hand и g_l_hand_end, g_r_hand_end''' так, чтобы hand кружки находились на запястье, а проекция из hand в hand_end полностью захватывала кисть. | ||
Line 15: | Line 24: | ||
* Ставим '''g_pelvis''' так, чтобы он совпадал с позицией/углом верха тазовой кости. | * Ставим '''g_pelvis''' так, чтобы он совпадал с позицией/углом верха тазовой кости. | ||
− | * | + | * Меняем '''g_collar''' так, чтобы он огибал начало воротника. |
* Ставим и поворачиваем '''g_neck''' так, чтобы он располагался под шеей и совпадал с её углом (там будет начинаться кость шеи). | * Ставим и поворачиваем '''g_neck''' так, чтобы он располагался под шеей и совпадал с её углом (там будет начинаться кость шеи). | ||
Line 39: | Line 48: | ||
<hr> | <hr> | ||
+ | |||
* Сохраняемся. | * Сохраняемся. | ||
Line 48: | Line 58: | ||
* Запускаем '''zeroSkeletonTransforms.ms'''. На все всплывающие окошки долбим ОК/Enter. Получаем персонажа в Т-позе стандартизированной высоты. Если персонаж стоит в Т-позе коряво, релоадим файл, твикаем объекты и запускаем снова. | * Запускаем '''zeroSkeletonTransforms.ms'''. На все всплывающие окошки долбим ОК/Enter. Получаем персонажа в Т-позе стандартизированной высоты. Если персонаж стоит в Т-позе коряво, релоадим файл, твикаем объекты и запускаем снова. | ||
− | * Если плечи кажутся низкими, тупо поднимаем '''l_shoulder и r_shoulder'''. | + | * Если плечи кажутся низкими, тупо поднимаем '''l_arm и r_arm''' до уровня '''l_shoulder и r_shoulder'''. |
* Если что-то ещё странное, корректим руками. | * Если что-то ещё странное, корректим руками. | ||
+ | |||
<hr> | <hr> | ||
+ | |||
* Экспортируем в тестовый юнити-проект и тестируем с анимацией. | * Экспортируем в тестовый юнити-проект и тестируем с анимацией. |
Latest revision as of 17:52, 10 February 2022
Последовательность действий при работе с автоскином:
- Геометрия персонажа должна быть разделена на несколько объектов:
- headmesh: голова с шеей.
- hands: кисти.
- coat: торс, верхняя одежда. Либо вообще всё тело (тогда нужно legsFullyAffectCoat=true в autoskin.ms).
- legs: ноги от таза до стоп, но не доходя до них. Необязательно. Если такого объекта нет, надо создать одноимённую меш-пустышку с нулём вертексов.
- boots: ноги со стопами, но без таза. Необязательно. Если такого объекта нет, надо создать меш-пустышку с нулём вертексов.
- Мерджим из референсного файла все объекты, начинающиеся на g_
- Скейлим чела, чтобы он ближе к пропорциям импортнутых объектов был.
- Удаляем старые g_l_arm и g_r_arm. Выделяем лупы вокруг плеч и подмышек. Жмём Create Shape From Selection, называя сплайны теми же именами (главное, не перепутать лево и право). Центрируем пивоты в полученных сплайнах, а затем двигаем их туда, где теоретически должны быть под одеждой реальные плечевые соединения. Обычно они выше центра сплайна и немного глубже.
- Удаляем старые g_l_elbow и g_r_elbow. Выделяем лупы вокруг локтей, жмём Create Shape From Selection, называем теми же именами.
- Удаляем старые g_l_sleeve и g_r_sleeve. Выделяем лупы на самых кончиках рукавов, жмём Create Shape From Selection, называем теми же именами.
- Перемещаем и вращаем объекты g_l_hand, g_r_hand и g_l_hand_end, g_r_hand_end так, чтобы hand кружки находились на запястье, а проекция из hand в hand_end полностью захватывала кисть.
- Ставим и поворачиваем g_chest так, чтобы он совпадал с позицией/углом низа грудной клетки.
- Ставим g_pelvis так, чтобы он совпадал с позицией/углом верха тазовой кости.
- Меняем g_collar так, чтобы он огибал начало воротника.
- Ставим и поворачиваем g_neck так, чтобы он располагался под шеей и совпадал с её углом (там будет начинаться кость шеи).
- Ставим и поворачиваем g_collar_top так, чтобы он располагался ровно над воротником и совпадал с его углом.
- Ставим и поворачиваем g_head так, чтобы он располагался ровно под основанием черепа и челюстью (там будет начинаться кость головы).
- Если есть капюшон, который должна деформировать кость головы, то ставим g_collar_headtop ровно над капюшоном (выше всего персонажа). Если его нет, удаляем этот объект.
- Ставим g_l_thigh и g_r_thigh так, чтобы ровными кольцами опоясывали верх ног там, где они втыкаются в таз. Пивоты этих объектов используются для создания костей ног.
- Ставим g_l_knee и g_r_knee так, чтобы они опоясывали коленки. Пивоты этих объектов используются для создания костей в этих коленках.
- Ставим g_l_foot и g_r_foot ровно над над стопами. Они задают сочленение ноги и стопы.
- Ставим g_l_foot_end и g_r_foot_end под стопами. Проекция от foot к foot_end должна полностью захватывать заднюю часть стопы.
- Ставим g_l_toe и g_r_toe так, чтобы они опоясывали линию начала пальцев стопы (где она может сгибаться).
- Ставим g_l_toe_end и g_r_toe_end чуть дальше конца стопы спереди. Проекция от toe к toe_end должна полностью захватывать переднюю часть стопы.
- Сохраняемся.
- Запускаем autoskin.ms
- Можем покрутить кости и затестить качество скина. Если что-то плохо, релоадим файл, твикаем объекты и запускаем снова.
- Запускаем zeroSkeletonTransforms.ms. На все всплывающие окошки долбим ОК/Enter. Получаем персонажа в Т-позе стандартизированной высоты. Если персонаж стоит в Т-позе коряво, релоадим файл, твикаем объекты и запускаем снова.
- Если плечи кажутся низкими, тупо поднимаем l_arm и r_arm до уровня l_shoulder и r_shoulder.
- Если что-то ещё странное, корректим руками.
- Экспортируем в тестовый юнити-проект и тестируем с анимацией.