Създаване на костна система и ik връзки на персонаж (ik setup) в 3d studio max 7



Дата20.09.2016
Размер162.66 Kb.
Създаване на костна система

и IK връзки на персонаж (IK Setup)

в 3D Studio MAX 7
ас. Десислава Георгиева

При разглеждането на тези практически похвати, като пример ще се работи с файл pluggo.max, съдържащ mesh-обект на героя Плуго.



Подготовка на сцената
Когато се работи с кости и IK вериги, е добре да се направят някои предварителни подготовки така, че по-нататъшната работа с тях да се улесни.

В това число влизат:



  • Създаване на предварителни селекции.

    • Клавиш Н от клавиатурата отваря диалоговият прозорец Select Objects. От тук се селектират всички обектите от тялото на персонажа. В полето Named Selection Sets се задава име Pluggo Mesh на селекцията.

  • Задаване на прозрачност на обекта на персонажа.

    • ALT+X прави обекта прозрачен.

  • Замразяване на обекта Персонаж.

    • Десен клавиш на празно място в някой от работните прозорци и избор на Freeze Selection.




Създаване на кости за крака, гръбнака и главата на персонажа
След като тялото на персонажа е „замразено” така, че да не може да се селектира и размества по погрешка и след като е направено прозрачно, за да се виждат костите, които ще се поставят, се пристъпва към самото създаване на кости.

При създаването на кости за даден персонаж е добре да се създават отделни вериги кости за крайниците (ръце и крака) и за тялото. Връзките между тези вериги няма да се осъществяват чрез обичайния начин за създаване на връзка родител-дете чрез бутона Select and Link, а чрез други контроли, които ще ги управляват.




  1. За направата на кости на крака, се отваря меню Character -> Bone Tools и се включва бутона Create Bones. Създават се последователно костта на бедрото, прасеца, стъпалото и пръстите. Края на тази верига от кости завършва с една последна крайна кост, която не участва в анимациите, но е необходима винаги, когато се задава край на верига от кости. Тя се получава като се натисне десния клавиш на мишката.

  2. Проверява се дали костите се намират на правилното място, като се прави справка и с другите работни изгледи. Ако е необходимо преместване или скъсяване на костите се включва бутона Bone Edit Mode от диалоговия прозорец Bone Tools, селектира дадена кост и се размества.

  3. Задават се и перки на костите в подменюто Fin Adjustment ToolsSide Fins, Front Fins, Back Fins и им се дават подходящи стойности така, че костта да заема ¾ от персонажа.

  4. За да се създадат веригата кости за гръбнака и главата отделно от тази за крака, е необходимо новата верига кости да се направи встрани от тялото, за да не се закачат автоматично новите кости към старите. За да се разположат на правилната им място и да се редактират дължините им, се използва отново бутона Bone Edit Mode. Задават се и „перки” на костите.

  5. На всички кости се дава подходящо име така, че лесно да се ориентираме след това при работа с тях.



Създаване на наименовани селекции за костите


  1. Селектират се всички кости.

  2. В полето Named Selection Sets се задава име на костите Pluggo Bones.

Създаване на IK решаващи вериги (IK Solvers) за крака
След създаването на костите на персонажа, е необходимо да се създадат връзки, които лесно и интерактивно да манипулират крака и стъпалото. Това става чрез прилагането на IK решаващи вериги (IK Solvers) към избрани части от скелета.

Тези вериги решават по какъв начин костите трябва да се преместват и завъртат, като това се решава на базата на целеви обект (Goal Object). Например, ако се разположи IK solver на крака, с целеви обект глезена, то тогава, когато се премества този целеви обект, глезенът ще се премества до зададената позиция и костите на бедрото и прасеца ще се преместят и завъртят.

В 3D Studio MAX има няколко вида решаващи вериги, на за ръце и крака е най-ефективен и лесен за използване верига тип HI Solver. Този вид верига е създадена да работи с йерархични вериги от две или повече кости, които се огъват в една посока (както коляното и лакъта).
Подготовка на сцената
Не е нужно да се вижда mesh-обекта, когато се задават правилата, по които ще се движат костите. По-лесно ще се работи, ако тялото на персонажа е скрито и не се вижда.


  1. С десен клавиш на мишката се кликва на празно място в работния прозорец и се избира Unfreeze All, за да се „размрази” тялото на персонажа.

  2. От полето за наименовани селекции се избира Pluggo Mesh.

  3. Тялото на персонажа се скрива (десен клавиш на празно място -> Hide Selection).


Създаване на решаваща верига за коляното
За да се създаде решаваща верига се започва от селекция на най-старшата кост в йерархията, която ще бъде част от веригата.

  1. Селектира се BoneHip.

  2. Отваря се меню Animation -> IK Solvers -> HI Solver и се посочва костта, която ще определя другия край на решаващата верига – BoneAnkle.

  3. Решаващата верига се преименува на IKAnkle. Двете пресичащи се сини линии в края на веригата определят „целта” й. Чрез преместването й, коляното се свива и отваря. Ротация на „целта” не оказва никаква промяна на положението на костите.



Създаване на втора решаваща верига
Ако се цели завъртане на глезена така, че петата да се повдигне от земята, трябва да се завърти IK-целта на IKAnkle около точка, различна от точката на пресичането на нейната координатна система (pivot point).Като например това може да бъде точката между стъпалото и пръстите на стъпалото.

При анимацията на тримерни обекти, често използван метод да се завърти един обект около чужд център на координатна система, е да се завърти родителският обект. Този подход не работи обаче, когато се борави с IK-вериги.

Ако се свърже IK-целта, към която и да било кост чрез Select and Link, това ще разруши IK-веригата. Вместо това, трябва да се създаде IK-цел в точката между стъпалото и пръстите и да се използва новата IK-цел като родителски обект, за да се накара IK-целта при глезена да се завърта.


  1. Селектира се BoneAnkle. Тази кост ще е начало на втората IK-верига.

  2. Отваря се меню Animation –> IK Solvers -> HI Solver.

  3. Посочва се BoneToe, която определя края на веригата.

  4. Новата верига се преименува IKBall.

  5. Използва се Select and Link, за да се привърже IKAnkle към IKBall.

Сега, ако се селектира „целта” на IKBall и се завърти, това ще повдигне петата и ще свие коляното. Но пък пръстите на крака също ще се завъртят. Това може да се избегне като се създаде нова верига, която ще завършва при пръстите.

За да се премахнат направени ротации и премествания, се прилага командата Undo.





Създаване на трета решаваща верига


  1. Селектира се BoneToe.

  2. Отваря се меню Animation -> IK Solvers -> HI Solver.

  3. Посочва се BoneToeTip.

  4. Третата верига се преименува IKToe. Сега, ако се завърти IKBall, глезенът ще се изправи, но пръстите ще останат неподвижни.

  5. Затова чрез Select and Link се привързва IKBall към IKToe. Сега, ако се завърти IKToe, ще се завърти цялото стъпало и ще се свие коляното.

В прозореца Schematic View могат да се проверят създадените йерархични връзки между обектите в сцената. Тялото и очите на персонажа Pluggo_Body, Pluggo_EyeRight и Pluggo_EyeLeft не са свързани в йерархична верига и са „скрити”. Костите на крака са свързани в една верига, също и костите на гръбнака и главата. IK-решаващите вериги, които управляват костите, са свързани в отделна верига.





Задаване на ограничения за усукването на IK-веригите

Проверка на настройките:

  1. Селектира се IKAnkle и се премества леко нагоре.

  2. Отваря се панел Motion.

  3. В подменю IKSolver Properties, се задават различни стойности на параметъра Swivel Angle – ъгъл на завъртане в градуси.

Резултатът е, че бедрото се завърта и коляното се насочва в друга посока. Въпреки това, костите на стъпалото също се усукват около оста си, което не е желателно. Това може да се предотврати като се промени друг параметър – Parent Space.

Той определя как костите на една IK-верига ще се усукват, когато се анимира IK-веригата.

Когато се променя ъгълът на усукване на IKAnkle веригата, прасецът се усуква, както и костта на глезена.

Може да се промени стойността на Parent Space така, че костите на стъпалото да не наследяват усукването на костта на прасеца.



Когато се промени стойността на Parent Space на IK-верига на IK Goal, костите във веригата се усукват според зададената анимация на IK-целта (Goal), а не заради костта на прасеца. Това дава по-голям контрол върху стъпалото така, че то да се усуква само когато това е целта.



Костта на глезена и на пръстите на крака се контролират от техни собствени IK-вериги така, че ще трябва да се променят параметрите на тези вериги, за да не се усуква стъпалото при завъртане на коляното.



  1. Селектира се IKToe и се задава неговото родителско пространство (Parent Space) да е IK Goal.

  2. Селектира се IKAnkle и се променя стойността на параметъра Swivel Angle. Този път костите на стъпалото не се усукват (завъртат около оста си).

  3. Задава се Swivel Angle=0 отново.

  4. Ако коляното се огъва в грешна посока, се променя Swivel Angle до стойност, при която коляното ще сочи напред. Този ефект на огъване на коляното назад, а не напред, може да се избегне като когато се създават костите на бедрото и на прасеца, те се разположат под ъгъл, все едно, че коляното е леко свито. При създаването на решаващата верига за коляното ще се вземе това свиване напред по подразбиране.

Задаване на ъгъл на усукване за глезена и пръстите
Когато се задава опцията IK Goal на IKBall и IKToe, костите може да са се усукали. Това се редактира по следния начин:

  1. Селектира се IKBall.

  2. Променя се стойността на параметъра Swivel Angle.

  3. Селектира се IKToe и се променя стойността на параметъра Swivel Angle.



Добавяне на спомагателни обекти за бърз контрол

Работата с IK-веригите и костите на даден персонаж може значително да се улесни. За целта се добавят прости двумерни обекти или хелпери (helpers) в сцената. Те се свързват с изградената йерархична система така, че цялата анимация на персонажа да се извършва като се анимират тези прости спомагателни обекти.

За изградената вече йерархична система от кости и решаващи вериги, се добавят следните обекти:


  • Правоъгълник CtrlFoot, който ще отговаря за движенията на стъпалото.

  • По-голям правоъгълник CtrlBody, отговорен за преместването и завъртането на целия персонаж.

  • Кръг CtrlLeg, който ще отговаря за приклякването на персонажа.

  • Обект кръг с две пресечени линии CtrlSpine, отговорен за завъртането и накланянето на горната част на тялото.

  • Обект кръг с две пресечени линии CtrlHead, отговорен за завъртането на главата.

За да работят тези спомагателни обекти в една система заедно с костите и решаващите вериги, е необходимо те да се добавят към йерархиите и всичко да се свърже в една обща йерархична верига.

Свързват се чрез Select and Link:


към

  • IKToe CtrlFoot

  • BoneHip CtrlLeg

  • BoneSpine01 CtrlSpine

  • BoneHead CtrlNeck

  • CtrlNeck BoneSpine02

  • CtrlSpine CtrlLeg

  • CtrlFoot CtrlBody

  • CtrlLeg CtrlBody

Привързване чрез



Select and Link

Цялата йерархична система в схематичен вид:


От тук нататък анимацията на персонажа може да се извърши само като се преместват и завъртат простите управляващи обекти:



Следващата стъпка при задаването на „костната система” на всеки персонаж е прилагането на модификатор Skin към тялото му, посочване от кои кости е съставено то и определяне за всяка една кост каква част от тялото контролира.
Присъединяване на костите към тялото на персонажа (Skinning)

ас. Десислава Георгиева



Присъединяването на костите към тялото на персонажа (mesh-обекта) се извършва, за да се определи каква част от тялото контролира всяка кост. Тази процедура се нарича skinning в 3D Studio MAX и се извършва като на mesh-обекта на тялото на персонажа се прилага модификатор Skin.

Подготовка на сцената


  1. Ако се продължава работата от предишния урок по поставянето на костите, е необходимо да се отвори файл pluggo-2.max, върху който ще се работи.

  2. За всеки случай, ако е направена някаква анимация на костите, се отива в кадър 0.

  3. Всички обекти в сцената се показват чрез командата Unhide All от контекстното меню на десния клавиш на мишката.

  4. Ако костите не обхващат добре тялото се правят корекции в тяхното положение – меню Character -> Bone Tools -> Bone Edit Mode.

  5. Селектира се Pluggo_Body и се натиска ALT+X, за да се направи отново плътен.


Прилагане на модификатора Skin
Модификаторът се прилага върху обекта, който трябва да се деформира от костите.

  1. Селектира се Pluggo_Body.

  2. В панел Modify се кликва върху Editable Poly в стека с модификатори така, че над това ниво да се приложи модификатора Skin, който се избира от списъка с модификатори.

Ако върху обекта е приложен модификатор MeshSmooth, по-добре е модификаторът Skin да се приложи преди този модификатор. Целта е да има по- малко върхове, които да се редактират при прилагането на Skin модификатора и да се контролират от него и едновременно с това повърхността на персонажа да остане „гладка”.





  1. Включва се опцията Show end result on/off toggle под стека с модификатори, ако още не е включена. Чрез нея се вижда крайният резултат от приложението на всички модификатори в стека, докато се работи на по-ниво в стека.

  2. Прилага се модификатор Skin.

  3. От менюто Parameter rollout на модификатора се включва бутона Add и от списъка с обекти в сцената се избират костите, които ще оказват влияние върху тялото на персонажа.

Настройка на сцената за по-добър поглед върху резултата от модификатора Skin
Ако се селектира CtrlSpine, който отговаря за накланянето на горната част на тялото, ще се види, че очите на персонажа не се преместват заедно с главата. Това е така, защото те не са закачени за нищо.

За да се движат заедно с главата, очите се привързват с бутона Select and Link за костта на главата.

За целите на настройката на костите, може да се направи една проста анимация – в 10 кадър, Pluggo да си наклони главата настрани. Това става чрез ротация на помощния обект CtrlNeck.

И тъй като на този етап няма да има нужда да се виждат костите, помощните обекти и решаващите вериги, те могат да се селектират и скрият чрез командата Hide Selection от контекстното меню на десния клавиш на мишката.


Настройка на обвивките на костите
Когато се прилага модификаторът Skin, към всяка кост се присъединяват по две обвивки, които определят доколко костта засяга върховете на mesh-обекта на тялото.

Обвивките се редактират като:



  1. Се селектира персонажа и в стека с модификаторите се премине на ниво Skin.

  2. В подменю Parameters на този модификатор, се включи бутона Edit Envelopes.

  3. При селекция на различни кости от менюто с присъединените кости, се визуализират в прозорците на екрана обвивките на селектираната кост.

Всеки чифт обвивки се определя от два отделни сплайна:




    • Вътрешна обвивка, в която върховете получават максимално влияние от костта. Тази обвивка е обозначена с червен цвят.

    • Външна обвивка, в която върховете между вътрешната и външната обвивка получават по-малко влияние от костта. Колкото по-далече се намира върхът от вътрешната обвивка, толкова по-малко влияние получава. Външната обвивка е означена с кафяв цвят.

Всички останали върхове, които не са вътре във външната обвивка, не се влияят от костта. В участъците, в които две обвивки се припокриват, върховете на mesh-обекта се повлияват и от двете кости, носители на тези обвивки.

В идеалният случай, вътрешната обвивка обхваща частите от тялото, които не се огъват, като например средната част на бедрото или прасеца. Външните обвивки на две съседни кости трябва да се припокриват, за да се осигури равномерно влияние върху връзката (ставата), както е при коляното и лакъта.

Първоначалният размер на обвивките се определя от размера на костта, в момента, в който е приложен модификаторът Skin. В режим на прозореца Smooth + Highlights, влиянието на обвивките се показва като оцветени области от mesh-обекта на тялото. Червените зони са най-силно повлияни, докато жълтите и оранжевите области получават по-малко влияние. Сините зони не получават абсолютно никакво влияние от обвивката на костта.


За по-голяма гъвкавост при проучването дали обвивките на костите са с правилните размери, е добре да си покажат управляващите прости геометрични обекти от йерархията на костите, чрез които ще се извършва анимацията на персонажа. Например, ако се селектира управляващият обект CtrlNeck и се завърти, така че главата да се наклони, ще се види, че когато главата се накланя се деформира и тялото, а това не е желателно. Проблемът може да се коригира като се намалят вътрешната и външната обвивка на костта на главата.






Редактиране на обвивките
Обвивките могат да се редактират като се преместват техните управляващи точки (handles). Това са малките квадратчета върху сплайна, обозначаващ обвивката.

Редактирането на размерите на вътрешната и външната обвивка продължава, докато не се получи задоволителен резултат.

Понякога и това не е достатъчно, за да се обхване правилно mesh-обекта, както е в случая с лявото ухо на персонажа. В такива случаи е необходимо ръчно да променим влиянието на костта върху върхове-те (в случая е само един връх – при ухото).

Редактиране на тегловните коефициенти на върховетее
Чрез ръчно променяне на степента на влияние на костите върху дадени върхове, се редактират случаи, при които с обвивките не може правилно да се обхване персонажа или например когато обвивките на единия крак обхващат и другия, което е абсолютно нежелателно.

Когато се редактират обвивките на костите, всъщност се променят тегловните коефициенти на всеки връх. Тези коефициенти определят степента на влияние на всяка кост върху всеки връх.


За да се отиде на редакция на върховете, е необходимо:


  1. Да се отиде в кадър 0.

  2. Да се включи бутона Edit Envelopes в подменю Parameters.

  3. Да се включи опцията Vertices.

  4. Да се селектират върховете, чиито тегловни коефициенти трябва да се редактират.

  5. Да се отвори таблицата с тегловните коефициенти чрез бутон Weight Table.

В таблицата може да се зададе да се показват само селектираните върхове, за по-лесна ориентация в настройките. Горе на таблицата са изписани имената на костите, в ляво са селектираните върхове и в дясно тегловните коефициенти на върха към всяка кост. За да може върхът да се влияе 100% от костта на главата (и да е маркиран в червено), е необходимо коефициентът за костта BoneHead = 1 , а BoneHeadTip = 0.




Работа с ъгловите деформатори

(Angle Deformers)

ас. Десислава Георгиева


Въпреки възможността за ръчни настройки на тегловните коефициенти на върховете на mesh-обекта на персонажа за всяка кост, понякога и това не е достатъчно, за да реагира правилно тялото при свиване на костите. Такива ситуации възникват в местата на свивките - колена, лакти, врат. За да се въведат по-точни настройки, са създадени ъгловите деформатори. Ъгловите деформатори (Angle Deformers) на модификатора Skin също така добавят „изпъкналости” от мускули и деформации.

Има три типа ъглови деформатори: Joint, Bulge и Morph.

Ъгловите деформатори работят, като „казват” на върховете как да се държат, когато е достигнат даден ъгъл между две съседни кости. Например, може да се използва Bulge angle deformer, за да се накарат върховете в горната част на ръката да изпъкнат (придвижат навън), когато лакътът е свит в повече от 90° и да се оформи изпъкване на мускула.



Към този материал е приложен файла pluggo-5.max, върху който ще се работи. На персонажа е приложена анимация в 15 кадър, в който той прикляква.
За де се редактира свивката при коляното се постъпва по следния начин:

  1. Селектира се тялото на персонажа – PluggoMesh.

  2. Отваря се панел Modify. В стека с модификатори се отваря знака + на модификатора Skin.







Каталог: upload -> 2015 -> universita -> 2007-2008
2007-2008 -> 1Определение на кг
2007-2008 -> Връзката компютър аниматор Увод 1 стр. Същината на въпроса История на Компютърната Графика
2007-2008 -> Реферат тема: историческо развитие на интернет технологиите изготвил: Антон Тодоров Георгиев Фак. №30593
2007-2008 -> Електронна музика
2007-2008 -> Увод в компютърната графика
2007-2008 -> Bmp bmp (Bitmap File) е графичен формат, създаден от Micro$oft, и е основният използван в Windows. Разширението на файловете идва от термина BitMaP, който в превод означава "карта на битовете"
2007-2008 -> Формати за цифрова музика: Ogg Vorbis
2007-2008 -> Курсов проект по “cstb 714 компютърна анимация” Задание за курсова работа


Поделитесь с Вашими друзьями:


База данных защищена авторским правом ©obuch.info 2019
отнасят до администрацията

    Начална страница