Риггинг для профессиональной анимации


Всем привет!
Зовут меня Жасурбек Бутаев.  Живу в городе Ташкент. Имею 3-летний опыт деятельности как 3d аниматор и риггер. Наша маленькая компания занимается разработкой видео игр.

Введение
Вначале о том, почему я решил написать такой большой учебный урок. Год назад я взял работу на свободную тему от замечательного 3д артиста Сардора Жумаева. Хотел делать риг для анимации. Но я не смог закончить работы, поскольку риг не получился таким, каким я его задумывал. Кроме того, я испытал настоящие трудности, когда хотел найти хороший учебный материал по полной настройки персонажа, который бы помог его использовать в продакшн. Пришлось собирать по кускам разрозненную информацию. Теперь, когда я получил определенный опыт в этом направлении, думаю могу поделиться им с теми, кто интересуется риггингом и знаком с Maya2011. Из-за большого объема информации, урок получился достаточно объемным.

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

Поехали! Урок состоит из 3 частей.

Первая часть

  1. Подготовка сцен
  2. Подготовка костей (joint)
  3. Ориентация костей
  4. Прикрепление (skinningbinding) персонажа к костям
  5. Использование корректирующих форм (Corrective Shapes)

Вторая часть

  1. Создание прокси систем и прикрепление их к костям
  2. FK IK система костей
  3. FK IK система переключения
  4. Создание контроллеров и их расположение
  5. Система RFS ног (Reverse Foot System)
  6. Растягивающие кости
  7. Система Auto Clavicle (автоматическое плечо)

Третья часть

  1. Сохранение позы в переключении FK IK
  2. Создание интерфейса для контролирования риг (Rig GUI)

 

Первая часть

Открываем файл здесь 01. Как видим, персонаж состоит из несколько объектов. Это очень удобно для создания ригга.


Переименуем объекты в зависимости от того, какая это часть. Выделим их и Edit> Delete by Type> History. Думаю, не возникнет трудностей, с очисткой истории объекта (А точнее, история Input в Channel Box). Этот прием придется использовать часто. Поэтому, мы должны добавить в Custom Shelf. Открываем меню Edit> Delete by Type> History. УдерживаяCtrl + Shift, нажмем на History. Выделим все объекты. Edit> Group или Ctrl + G. Эта команда поможет сгруппировать их. Переименуем созданную группу в meshMidPoly.


Вначале, мы должны проверить их на симметрию. Для этого открываем abSymMesh, вставляем его в Script Editor (Window>General Editors>Script Editor). Запускаем скриптCommand>Execute. На командной строке (Window>General Editors>Command Shell) пишем abSymMesh (Потом Enter). После запуска скрипта, выделяем объект и нажимаем на кнопку Check Symmetry. Если персонаж симметричен, нам об этом сообщат. Если нет, покажут, какие вертексы не симметричны.

Совет №1. Если при работе сцена зависает, отключите LightingTwoSidedLighting. Если продолжает зависать, тогда выделите meshMidPoly и нажмете 1.

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

Многие начнут со вставки костей. Мы же поступим иначе. Сначала вставим CV Curve. Если где то не соответствие, то поправляем его. Затем по вертексом будем вставлять кости. Это помогает сохранить чистоту в Channel Box.

Чтобы изменить настройки CV Curve Tool, нажмем на Option Box (квадратик) меню CreateCV Curve Tool. На Curve Degree поставим 1. После этого кривая станет острой.
Для ног сделаем следующее. Чтобы показать CV (точки), DisplayNurbsCVs. Две выше использованные команды добавим в Shelf. Что бы видеть CV внутри объекта, включаемX-ray.

Кости позвоночника вставим по его линии. Сделаем грудную кость больше. Поставим по одной кости для шеи и головы.

Кости для пальцев надо начинать с внутренней ладони. Как на скелете человека.

Для ладони добавляем дополнительно одну кость. Перед тем как начинать, перейдем на front панель. Нарисуем палец из 2 костей. Группируем его ( Edit>Group или Ctrl + G), вставим его пивот в начало Curve. Теперь выделим группу и разместим ее на первый палец. Выделим Curve, нажмем F8, поставим точки по локальным осям на нужные места. ИзменимMove Tool на Local следующим образом.

Для создания другого пальца, выделяем group01, нажмем на Ctrl + D (для дублирования) и изменим их точки.

Для мускулистого персонажа сделаем две ключицы. Потому что, одна кость влияет  на массу больше, чем две кости. На первом рисунке две кости поворачиваются по 45 градусов, в общем - 90 градусов. На втором рисунке, одна кость поворачивается на 90 градусов.

Кости для шланга поставим по середине. Вначале, выделив шланг, нажмем F10 и перейдем в режим Edge. Выделим Edge Loop (нажмем два раза на Edge). Нажав Select> Convert Selection> To Vertices выделим Vertex на Edge Loop. С помощью меню Create DeformersCluster, между этими вертексами создаем кластер.

После создания всех кластеров, создадим кривые по кластерам. Для этого включим Vertex Snap, нажав клавишу V.

Для того чтобы создать кости для левого оружия перейдём на Front panel. Предварительно создадим кривые и сгруппируем их. Поставим его pivot на нужное нам место. Откорректируем направление группы. Потом точно поставим CV.

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

Поставим недостающие кривые между костями. Открываем Outliner, выделяем все группы, кроме meshMidPoly и разгруппируем их (Edit> Ungroup). Выделяем все кривые в левой части и группируем. Его надо дублировать и для правой части (Ctrl+D). На атрибут scaleX поставим -1. Теперь все готово для создания joint.

Открыть сцену можно здесь. 02.
Начнем создавать кости по кривым. Вначале, активируем инструмент создания кости (SkeletonJoint Tool). Нажав клавишу V создадим кости по вертексом кривых.

Теперь займемся ориентацией кости. Ориентацию кости можно увидеть нижеследующем образом.

Выделяем бедренную кость. Нажав правой кнопкой мыши, запускаем команду Select Hierarchy. Это выделит все кости ног. Мы часто используем этот инструмент. Поэтому добавим его в Shelf. Открываем Script Editor и пишем.

select -hi;

Выделяем надпись и средней кнопкой мыши бросаем его в Shelf. Именуем команду в Shelf.

Совет №2
Если необходимо выделить иерархию нескольких отдельных групп костевой системы, используйте скрипт. Функция Select Hierarchy из контекстного меню выделяет иерархию только одну костевой системы.

Ориентация костей ног будет выглядеть  в нижеследующем виде.

Для изменения ориентации открываем SkeletonOrient Joints. Поставим XYZ на Orientation. Это означает, что ось X будет по направлению кости. Поставим -X на Second axis worldorientation. Если внимательно посмотрим на полученное,  то увидим, что ориентация последней кости выглядит не правильно. Для исправления этого, выделим эту кость, и откроемSkeletonOrient Joints. Поставим None на Orientation. Потом OK.

Для ускорения процесса ориентации мы можем использовать Comet Scripts. Comet Cartoons - http://www.comet-cartoons.com/ - Michael B. Comet

Теперь выделим кости позвоночника. Запускаем скрипт.

Исправим ориентацию остальных костей.

Файл с исправленными ориентациями вы можете взять здесь. 03.

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

(Тип Объекта)_(Размещение Объекта)_(Название Объекта)_(Дополнительная информация)
Например: jb_c_hip (jb - joint binded, c - center, hip - таз)

Ниже перечислены остальные расширение.
jb - joint binded 
jt - joint controller
je - joint end
jtFK - joint FK
jtIK - joint IK
m - mesh
c - center
l - left
r - right
ccIK - control curve for IK
loc - loсator
rfs - reverse foot system
grp - group
rps - rotate plane solver IK
scs - single chain solver IK
spIK - spline IK
ctrl - controller
cin - curve info node
mdn - multiply divide node

Файл с исправленными именами вы можете взять здесь. 04.
Для копирования кости из левой части в правую, выделяем кость jb_l_clavA.

Таким же способом копируем jb_l_legjb_l_carbonAjb_l_oxyA. Сделаем jb_r_qurolRoot потомком jb_r_shoulder. Для этого, вначале выделим jb_r_qurolRoot, затем jb_r_shoulder и нажмем клавишу P (или EditParent). Сделаем jb_l_qurolZaryadA потомком jb_l_qurolRoot. Сделаем jb_l_qurolRoot потомком jb_l_elbow.

Теперь посмотрим, как работает наш риг. Персонажем (mesh) управляет Joint Binded (jb - кости намеченные для привязки к мешу). Корректирующие формы (Corrective Shape Blendshapes) будут влиять на позы. Joint (jt) управляет Joint Binded (jb). Причина, по которой  мы дали значение jt костевой системе, является сохранение чистоты ригга. Еще одна причина в том, что система jb является одной целостной системой. Нам также необходимо скрывать кости рук и ног в туловище для эффективного управления IK FK системой.

Теперь для размещения всех костей, контроллеров и всех объектов создадим пустые группы. Не выделив ничего, нажмем CTRL+G. Повторим этот процесс 14 раз. Именуем эти группы как: Polvon, moveRotate, scale, extra, ik, controllers, joints, bind, ik, fk, control, blendshape, other, meshLowPoly. Составим из них иерархию следующим образом. В окнеOutliner, со средней кнопки мыши перетащим одну группу в другую. Это необходимо для правильной работы нашего ригга. Например, только в группе moveRotate будет атрибутыtranslate и rotate. В остальных группах их не будет. Только в группе scale будет атрибуты scale. В остальных группах их не будет. Выделим атрибуты scale группы moveRotate вChannel BoxChannels>Lock and Hide Selected (это можно сделать в контекстном меню). Атрибуты translate и rotate в группе scale уберем таким же способом. Выделим все остальные группы, нажав на Ctrl, уберем атрибуты translaterotate и scale и в этих группах.


Кости перетащим из группы joints в категорию bind. Начнем процесс skin персонажа. Для этого выделим все кости начинающиеся с jb.

Откроем Hipergraph, исключим кости оружие и шланга из выделения. Нажав Shift добавим m_c_badan из группы meshMidPoly в выделение. Открываем параметры инструментаSkin> Bind Skin> Interactive Skin Bind. В атрибуте Bind To выберем Selected Joints. Это позволит прикрепить персонаж только к выделенным костям.

Скрываем все объекты кроме m_c_badan. (Выделив объекты CRTL + H). Будем исправлять влияние костей. Сначала поставим ключ на 1 кадре на атрибут rotateY кости jb_l_pinky. На 10 кадре поставим 30 на атрибут rotate. На 20 кадре 0.

По деформации тела изменяем капсулу. В этом нам помогут боковые линии.

Файл с исправленными капсулами можно взять здесь. 05. Выделим персонаж. Меню Skin>Edit Smooth Skin>Enable Weight включает режим нормализации. Меню Skin>Edit Smooth Skin>Normalize Weights нормализует вес костей.

Если нормализация включена, то увеличение веса одной кости в vertex приведёт к уменьшению веса другой кости и наоборот. Сумма веса не измениться 1. Если нормализация выключена, увеличение веса одной кости в vertex не изменит веса другой кости. Сумма веса останется постоянной.

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

Выделим тело, для чего открываем меню Skin>Edit Smooth Skin>Paint Skin Weights Tool. По очередности будем корректировать веса костей.

Для этого нам понадобятся следующие инструменты.

Mode – режим работы
Paint – рисование весы костям
Select – режим выделения Vertex (в этом режиме Vertex выделяется как обычно, также как и F8)
Paint Select – режим выделения Vertex при их рисовании (в этот режиме выделяется рисованное тело Vertex, но, при этом, невозможно изменить вес)
Add – этот режим работает только при активном режиме Paint Select. Это позволяет выделить Vertex и добавить Vertex к выделенным
Remove – позволяет исключить из выделения
Toggle – позволяет менять выделенное на невыделенное и наоборот
Select Geometry – Если работая в режиме выделения, перейти в режим Paint рисование весов будет влиять на выделенные Vertex. С помощью кнопки Select Geometry весь объект становится активным и рисование влияет на весь Vertex.
Paint Operation – в режиме Paint, рисование изменяет вес кости
Replace – позволяет поставить вес Vertex как на Value 
Add – добавляет вес на Value при каждой рисовании (Например, вес vertex - 0.5, Value - 0.05, при каждой нажатии добавляет 0.05: 0.5, 0.55, 0.6, 0.65, 0.7 и т.д.)
Scale – умножает вес Vertex на коэффициент Value (Например, вес vertex - 0.6, Value - 0.5, при каждой нажатии умножает 0.05: 0.6, 0.3, 0.15, 0.075, 0.0375 и т.д.)
Smooth – сглаживает вес Vertex как вес стоящих соседей
Opacity – прозрачность кисти
Value – вес

- поставит в Value выделенный вес

Flood – принимает данную операцию ко всем частям объекта. Не требуется вручную рисовать все весы
Рисование общего тела не так уж сложно. Но надо обращать внимание на следующие части тела.

Закончив левые части тела копируем весы в правую часть.

Mirror across – по отношению какой плоскости копируется весы
Если Direction включен
XY – от +Z на -Z 
YZ – от +X на -X 
XZ – от +Y на -Y 
Если Direction выключен
XY – от -Z на +Z 
YZ – от -X на +X 
XZ – от -Y на +Y 
Surface Association – режимы копирования
Closest point on surface – копирование из пойнта в левой части в ближайший пойнт в правой части.
Ray cast – копирование из левой части в правую часть с помощью алгоритма raycast.
Closest component - копирование из vertex или poly из левой части в ближайший vertex или poly правой части.
Файл с готовыми весами Skin можно взять здесь. 06.

Теперь мы можем начинать скиннинг остальных объектов. Для этого нам нужно определить, для какого объекта нужны какие кости. Например, мы не будем прикреплять к шлангу все кости тела и оружие. Для этого выделяем основной mesh badan и открываем инструмент Skin>Edit Smooth Skin>Paint Skin Weights Tool. Определим каждые объекты, которым должны подходить определенные кости. Выделяем эти кости вместе с соответствующим объектом и открываем инструмент Skin>Bind Skin>Smooth Skin. На атрибут Bind To поставим Selected Joints. Затем, выделив основное тело m_c_badan, выделим текущий объект, который скинним. Открываем нижеследующий инструмент. Этот инструмент позволяет копировать вес кости из одного объекта в другую.

Таким образом, скинним все объекты и скорректируем нужные места.

Для исправления вышеуказанный ошибки в инструментах Paint Skin Weights Tool нажмем несколько раз кнопку Smooth.

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

Теперь исправим позвоночник. Нам нужно выделить отдельные его компоненты. Для этого переходим в режим Vertex с помощью F8 и выделяем одну Vertex. Нажав несколько разShift + >, увеличим выделение. Откроем табло Smooth Skins в окне Window>General Editors>Component Editor. В этой таблице находятся все весы и кости влияющие на выделенные компоненты. Выделим весы одной кости и сделаем их одинаковыми. Повторим этот процесс для остальных костей. Если изменение веса одной кости влияет на изменение веса другой (а так и должно произойти), поставим ON внизу названия кости. Это заморозит вес этого кости.

Оружия не деформируется. Поэтому их надо скиннить следующим образом.
m_r_qurolYurgich – jb_r_shoulder
m_r_qurolTutqich – jb_r_shoulder
m_r_qurolAylana – jb_r_qurolRoot
m_r_qurolAylanaTemir – jb_r_qurolRoot
m_r_qurolAylanaStvolTemir – jb_r_qurolRoot
m_r_qurolStvol – jb_r_qurolStvolA
m_r_qurolUsti – jb_r_qurolStvolB
m_l_qurolzaryad – jb_l_qurolBosim
m_l_qurolbrono – jb_l_qurolRoot
m_l_qurolstvol – jb_l_qurolStvolA
m_l_qurolstvolKatta – jb_l_qurolStvolB
m_l_qurolTagi – jb_l_elbow

Шланги также необходимо сделать по вышеуказанному принципу. Закончив скиннинг всех объектов, выделим все кости и запускаем команду Edit>Delete By Type>Channels. Это удаляет все ключи. Для того, чтобы позировать персонаж в нулевую позу, поставим 0 на атрибутах rotate всех костей для страховки. Это можно сделать также с помощью менюSkin>Go To Bind Pose. Но эта команда часто выдает ошибку, при прикреплении нескольких объектов в одну кость. Потому что для одной кости имеется несколько нулевых поз и команда не может определить какую из них надо запускать.
Файл с готовыми весами Skin всех объектов можно взять здесь. 07.

Теперь начнем создавать Corrective Shapes. Вначале как это работает. Создается дополнительная форма (Blendshape) объекта, которая преобразует вид объекта в определенную позу. Это форма (Blendshape) активируется в определенную позу. Например, в фильме Властелин Колец использовали 800 Corrective Shapes только для одного персонажа Голлум.

Чтобы понять как это работает, разберем обычный пример. Создадим цилиндр. Высоту (Height) сделаем 8, Subdivisions Height 20, TranslateX 2. Нажав Ctrl + D дублируем цилиндр. Вводим -2 в TranslateX. Соединим их с помощью меню Mesh>Combine.

Очистим историю нажав на (). Переименуем объект на baseMesh и расположим кости как на рисунке.

Прикрепим baseMesh этим костям. Если будем поворачивать одну из костей, то результат нас не обрадует. Мы не будем иметь возможности решить возникающие проблемы в скиннинге. Потому что вес кости в одном позе может быть отличным, но в другом совершенно неприемлемым. Поэтому делаются корректирующие формы.

Поставим baseMesh в нулевую позу и продублируем его. Переименуем его на LeftKneeCorrectiveShape. Выделим baseMesh и LeftKneeCorrectiveShape по очередности. Откроем параметры меню Create Deformers>Blendshape. Напишем correctiveShapes на BlendshapeNode и перейдём в раздел Advanced. Выбираем Front of Chain в Deformation order. Это поставит порядок деформации правильно: вначале тайный tweak1, потом blendshapeNode (correctiveShapes) и skinCluster1. Выделим нод correctiveShapes в Inputs нашего объекта (BaseMesh) и поставим 1 на атрибут LeftKneeCorrectiveShape. Вид самого объекта LeftKneeCorrectiveShape изменим нижеследующим образом.

baseMesh теперь смотрится вот в такой позе.

Но если перейдем в нулевую позу, blendshape не изменяется и объект выглядит странным. Нам нужно, чтобы в нулевой позе blendshape был отключен, а при приближении к нашей позе blendshape должен активизироваться. Для исправления откроем окно Animate>Set Driven Key>Set. Выделим колени и нажмем Load Driver. Теперь эта кость становится управляемой. Выделим нод correctiveShapes из baseMesh и нажмем на Load Driven. Поставим 0 на атрибут rotateZ в окне Driver. Поставим 0 на атрибут LeftKneeCorrectiveShape в окне Driven. Нажмем на кнопку Key для создания нулевой позы. Теперь повернем кость на 80 градус по rotateZ, Поставим 1 на атрибут LeftKneeCorrectiveShape. Нажмем на кнопкуKey для создания основной позы. Если повернем кость, то увидим, что деформация стала намного лучше и реалистичнее.

Для того чтобы не повторять все это для правой части, дублируем blendshape (LeftKneeCorrectiveShape). Поставим -1 на атрибут scaleX. Сделаем Modify>Feeze Transformations. Добавим его в blendshape. (Edit Deformers>Blend Shape>Add). Если увеличим атрибут бленда до 1, то увидим, что левая часть изменяется не совсем так, как мы ожидали для правой части. Это потому, что blendshape работает по vertex ID. Изменение атрибута transform не влияет на vertex ID. К счастью, есть несколько способов исправить это. Несколько раз нажмем Z и перейдем туда, где мы остановились. Дублируем baseMesh, даем название rightKneeCorrectiveShape и поставим 20 на атрибут translateX (для того, чтобы открыть доступ к этому атрибуту выбираем Unlock Selected на контекстном меню). Дублируем rightKneeCorrectiveShape еще раз и даем название rightKneeCorrectiveShapeDelete. Поставим -1 на атрибут scaleX. Вначале выделим LeftKneeCorrectiveShape, потом rightKneeCorrectiveShapeDelete и создадим blendshape. Сначала выделим rightKneeCorrectiveShape, потомrightKneeCorrectiveShapeDelete и создадим Create Deformers>Wrap. Этот деформер позволяет контролировать один объект с помощью компонентов другого объекта. Поставим 1 на атрибут blendshape rightKneeCorrectiveShapeDelete Очистим историю rightKneeCorrectiveShape. Удалим rightKneeCorrectiveShapeDelete иrightKneeCorrectiveShapeDeleteBase. Готовый blendshape соединим к позу кости по вышеуказанному принципу. Теперь готовы обе стороны.

Но этот способ является не самым лучшим в продакшене и в нашем персонаже. Во первых, корректировка blendshape в позе очень сложна. Во вторых, копирование готовогоblendshape в обратной стороне еще труднее. Теперь сделаем ту же работу с помощью скрипта cgTkShapeBuilder от www.cgtoolkit.com.

Подготовим такую же сцену с baseMesh и костью. Дублируем baseMesh и переименуем на normalShape. Выделив normalShape и baseMesh один за другим создаем blendshape(Create Deformers>Blendshape). cgTkShapeBuilder требует пустой blendshape нод. Загружаем его в Script Editor. Запускаем скрипт. В командной строке выполняем процедуруcgTkShapeBuilder.

Загружаем основной деформирующий объект. Выделим baseMesh Edit>Load Base Mesh в окне cgTkShapeBuilder. Выделим correctiveShapes нод Edit>Load Active Blendshape Nodeдля загрузки blendshape нод в cgTkShapeBuilder. Потом переходим в табло Create Shapes. Позиционируем кость (rotate Z = 80). Выбираем последовательно baseMesh и кость и нажимаем на Sculpt Changes on Dublicate. Скрипт создает дубликат основного объекта, и теперь мы можем его деформировать как угодно.

Выбираем деформированный объект и нажимаем на кнопку Generate Blendshape. Переходим на табло Setup Shapes и обновим лист blendshape нода (Refresh Blendshape List). Появляется новый атрибут. Выделим его. Выделив кости нажмем на Load Driver Joint. Сделаем Z в параметре Joint Axis. В Joint Angle 0, shape % 0 нажмем на Set Key. В Joint Angle80, shape % 100 нажмем на Set KeyCorrective shape готов. Теперь нам надо сделать другую сторону. Этот скрипт не позволяет копировать готовый blendshape в другую сторону. Но мы можем создать его для правой стороны заново. Для создания этой формы используем другой способ. Для этого откроем скрипт abSymMesh, которого использовали в начале урока. Выделим baseMesh и нажмем на Select Base Geometry. Внизу появится сообщения ”Base geometry is symmetrical”. Дублируем новый blendshape (baseMesh1blendShape11) переименуем на baseMesh1blendShapeRight. Выделив его, нажмем на Flip Selected и появиться зеркальная форма. Привязываем его к кости с помощью окна Set Driven Key. После этого наше тестовое задание готово.

Для нашего персонажа я создал корректирующие формы для следующих мест. Всех их переместил в группу blendshape.

Файл с готовыми корректирующими формами можно взять здесь. 08.

 

Вторая часть

Персонаж состоит из 38761 полигонов. Использовать этот риг будет очень сложно для аниматора. Поэтому, создадим легкую прокси модель персонажа.

Совет №4
Включайте прокси модель в риг. По возможности, сделайте число полигонов как можно меньше, а форму, по возможности, как можно более похожую. Сделайте прокси из отдельных частей тела.

</div

838 0 850 92
35
2011-12-22
Модель для примера ужасная.
2011-12-22
Сам урок хороший. Блин, но модель просто убивает.
2011-12-22
Наконец-то что-то серьёзное, благодарю)
2011-12-22
титанический труд!
2011-12-22
Урок получилса Грамотна и Профессионално. Наконецто очен серьёзное урок. Спасиба Жасурбек Бутаев !
2011-12-22
Такой урок найти очень тяжело в нашем времени классни урок получился. Благодарю зато что поделились своим знаниям.
2011-12-22
At this time Tashkent is happy forever and ever, Jasur do your best and go to Pixer animation.
2011-12-22
Великолепный урок!
2011-12-22
Яна шунақа уроклар кутиб қоламиз, Render.ru га урок жуда мақул.
2011-12-22
Отличный урок, мастерский просто.
2011-12-22
Дарс зор вообще ! Катта рахмат акя! [smile=06]
2011-12-23
Спасибо Render.ru Спасибо всем.
2011-12-23
tushinmasamam mayaga zo`r chiqibdi lekin :)))))))))))))))))))))))))))))))))))))))))))))))))))
2011-12-24
Спасибо! Подобное бы для макса!
2011-12-24
Я майку к сожалению не знаю, максом занимаюсь, прочитал урок чисто из любопытства. Все говорят, что макс для анимации не заточен, что для персонажей только майя..... ну по крайней мере скининг мало чем в максе отличается, теже контейнеры, таже таблица весов.... всё тоже, всё знакомое, только оформление менющек немного непривычное.... Воистину говорят - рулит не программа, рулит человек ПС. преклоняюсь перед работоспособностью автора
2011-12-24
Jasurbek! It's very perfect tutorial. Good luck in future career! P.S. Urok zo'r chiqibdi. keyingi ishlarizga omad. Etganimde bal qo'shib qo'ydim. Rustam
2011-12-29
Отличный урок)
2011-12-29
отличный урок! спасибо
2012-01-08
Алексей1980 да и в максе все тоже только вот глючно все это "тоже" реализованно
2012-01-09
Молочик!!! )
2012-01-13
Спасибо за урок. Давно искал такой шедевр. Перелажу на Майю по рабочей необходимости и теперь потихоньку осваиваю ее возможности. Она мне нравится все больше т больше... :) А теперь еще больше нравится будет!
2012-01-13
[b]То Tenor (3D Work):[/b] Нормально реализовано. Просто чуть по-другому. Ну и от человека, как заметили, много чего зависит.
2012-01-14
[quote=Tenor] Алексей1980 да и в максе все тоже только вот глючно все это "тоже" реализованно [/quote] соглашусь. тестировал.. [quote=Павел Кондратенко] То Tenor (3D Work): Нормально реализовано. Просто чуть по-другому. Ну и от человека, как заметили, много чего зависит. [/quote] не попробовав, не говорите.. :)
2012-01-15
To Skif (3D&Anim Work): Демагогию разводить не буду на тему где лучше риггить и анимировать. Конечно в майе. Но это не значит, что в максе не возможно нормально зариггить перса без глюков. Если у вас не получается это не значит что не получается у других. И уж тем более не стоит за других говорить пробовали они это делать или нет.
2012-01-17
говорят раньше люди без [b]Interactive Skin Bind[/b] жили :)))))))
2012-01-25
Спасибо за урок))) Вам нужно книгу написать «Мои похождения в Maya» И описать некоторые секреты, которыми хотите поделиться с новичками.
2012-02-01
Сеперский урок. Спасибо большое. Почерпнул много нового.
2012-02-09
вот как надо писать уроки! грамотно и увлекательно, спасибо большое
2012-03-31
Как жаль что такого урока для макса нету (
2014-07-17
я еще не дочитал и половины, но уже сейчас тебе, Жасурбек, огромный респект за отличный урок!
2016-11-07
Пите лайах!
2018-04-13
Очень тяжелая для понимания статья, в виде текста всё это воспринимать тяжело, учитывая еще что сейчас майя уже поменялась
2018-11-05
Вообще то, урок сложный,и да же очень. Скининг вряд ли получится. Мало информации. По нему отдельный урок нужен. А скрипт absymmesh? Хорошо если с симметрией всё в порядке, а если нет, то что делать? Урок для продвинутых майщиков. А нужен ли он продвинутым?
2020-02-29
Ссылка на скрпт не работает http://st.render.ru/image/41348
Не могли бы скинуть просто вставить скрипт просто в тест....
2020-02-29
Здесь вы можете найти все файлы урока.
https://drive.google.com/file/d/1hkcgimEt6csgSBOF6...
RENDER.RU