afarmer_innovationsreport
DESCRIPTION
modelling&rigging virtual toy transformerTRANSCRIPT
-
ADocumentationoftheModellingandRiggingTechniquesUsedtoCreateaVirtualToy
TransformerandthePossibleApplicationsforitasaMarketingTool
ByAlisonFarmer
March2006
-
ContentsPagePageNo.
Abstract 2
Introduction 2
ModellingtheVirtualToy 3
RiggingtheVirtual Toy 11
SettinguptheSkeleton 12
SettinguptheFK TransformationRig 15 SettinguptheVehicleRig 18
TheProblemswithCreating theIKRig 18
PossibleUsesoftheVirtualToyasa MarketingTool 24
CriticalAnalysis 29
AppendixA 31
AppendixB 38
References 40
2
-
Abstract
TheobjectivethatI setouttoachieveforthis projectwastocreateanaccuratereplicaofatoyTransformerrobotusing3Dcomputermodellingsoftwareandtobuildaworkingmechanicalrigthatwouldenablehimtotransform.Thisallowedmetoexplorethetechniquesusedtomodelmechanical, robotictypecharactersandtounderstandandgainknowledgeaboutthemostaptmethodsforriggingthem.Ontopofthis,I decidedtoexplorethepossibleusesandapplicationsofmyvirtualtoymodelasamarketingtoolforthetoycompany.Myobjectivesprovidedmewithaprojectthatwastobebothchallengingandinnovative.Thepracticalsideofthisreportistargetedatanaudiencewhounderstandtheconceptsandterminologyof3DcomputermodellingandrigginginAliasMaya.
Introduction
ThisreportdocumentsthetechniquesandsolutionsthatI haveappliedtothepracticalaspects oftheprojectandisalsoadiscussionaboutthetheoreticalapplicationsof3Dcomputervisualizationasamarketingstrategy,inthecontextofmyvirtualtoy.Iaimtobringtolight someofthemostusefulmethodsandapproachestomechanicalmodellingandalsototacklethemanyissuesthatcanoccurwithmechanicalriggingaswellasthesolutionsthathelpedtoovercomethem.
Ifeelthatthereisanabundanceofinformationfrombooksandontheinternetaboutthedifferentapproachestoorganicmodellingandthebestmethodsforsett inguphumanandcreaturerigs,butalotlessiswrittenabouthowthesepracticesareappliedtoamechanicaltypecharacter.I hadrecently,however,acquiredtwobooksinaseriesreleasedbytheCGToolkit company,namelyTheArtofRigging:Volume1andTheArtofRigging:Volume2byKiaranRitchie.The2n d volumegoesintodepthabouthowtoset uparobotictypecharacterforanimationanddiscussestheimplementationofsomecustomMELscriptstospeedupandimproveupontheriggingprocess. IwillbedescribinghowIemployedthetechniquesthatI learntfromthesebooks,tothevirtualTransformermodelandalsohowIappliedmyownknowledgeandunderstandingtosolvesomeofthemorecomplexriggingissuesuniquetothismechanicalcharacter.
3
-
Duringworkingonthepracticalaspectsofthisprojectandbuildingthevirtualtoy,I wasinspiredtocarryoutresearchintothepossiblewaysinwhichmyvirtualtoycouldbeusedasamarketingtoolfortheactualtoyTransformerproduct.I will bereviewingsomeoftheapplicationsthatI consideredforthevirtualtoyandwill alsobedocumentingmyfindingsfromresearchingintothewaysinwhichtoycompaniescanusecomputeranimationasaneffectivemeansofmarketingtheirproducts.
ModellingtheVirtualToy
OneofthemainchallengesformewiththisprojectwastobeabletoproduceanaccuratereplicaofthetoyTransformerin3D.I thoughtthiswouldbeausefultechniquetopracticeasit translatestothewaytheindustrypipelineworks;amodellerreceivesthedesignsofacharacterorenvironmentstructureandhastofollowthesedesignstoahighdegreeofaccuracyinordertosatisfytheclient. ThisisinnovativeandanewexperienceformeasI haveonlyevermodelledcharactersthatIhavedesignedmyself. Thismeansthatinthemodellingstageyoucanstill bequitefreeandlooseabouthowyouwantyourcharactertoturnout.Ifindthatwhenyouaremodellingyourowncharacterdesign, thedesignstagecancrossoverintothemodellingstageasyoubegintoseeyourcharacteremergeasathreedimensionalobject. Youcanthensculptat will anychangesthatyoufeelmayimproveuponyouroriginaldesign.
Withthisparticulartoycharactertheaccuracyofthemodellingwasevenmoreimportantduetothefactthatthetoytransformsfromastandingrobotintoafuturisticjet initsvehiclemode(seeFigure1).Thismeantthateachpartofthevirtualmodelhadtobeanaccuratelyscaled3Dversionofthepartsthatmakeupthetoy, sothattheyallfoldupandconnecttogetherrealisticallytoformthejetvehicle.
4
-
Figure1.ThisshowsthetoyTransformer,Starscream,thatIwillberecreatingusingMayaasthe3Dmodellingsoftware.Itshowsthetoybeforetransformationinrobotmodeandaftertransformationinvehiclemode.(Imagetakenfromwww.toysnjoys.com)
Tobeabletomakethispossible, it wasnecessaryformetopurchasetheactualtoyallowingmetotakemeasurementsdirectlyoffofi t.Takingmeasurementsformymodelfrom2Dimages(forexampledrawingsandphotosfromwebsites)wouldnothaveallowedmetoachievetheaccuracythatI hadaimedfor.Havingthetoyinfrontofmemadeit alot easierformetoobtainanunderstandingofhowthetoyworkedandwhatpartsfoldeduptoachievethetransformation.
It is interestingtothinkwhetherifIhadbeenmodellingfromblueprintsoftheTransformer,wouldIhavefoundit hardertocreatemyvirtualmodel?AlthoughIwouldhavehadaccurate2DdrawingstoworkfromIthinkitwouldhavebeenalot hardertobuildthe3Dmodelasthereisonlysomuchyoucaninterpretfroma2Dimage.ThisisanissuethatI havebecomeawareofthroughmyownexperienceof3Dcomputermodellingandseeingthewayfellowstudentswork.Ifindthatit iscommonpracticetoscaninafrontandsideviewofyourcharacterintoMayaandbuildyour3Dmodelbyliningit upwiththetwoviews.Thisoftenmeansyoucanbecomesofixatedonhowwellyourmodell inesupwiththese2Dimageplanesthatyoucanoverlookthemodelasawholeini ts3Dformandrestrictyourcreativemindfromseeingwhatlooksrightandwrong.
Ihavefoundwithrecentworkandthroughundertakingthisprojectthathavinga3Dclaysculptureorinthis caseanactualtoyfigurine,themodellingprocessismadelesscomplexandthefinalresult thatyou
5
-
achieveisoftenmoresuccessfulandaestheticallypleasing.Inthecaseofthis project, I thinkithasenabledmetoproducea3DrepresentationofthetoytoahigherdegreeofaccuracythanifIwastouseblueprintsoraccurate2Dimagestoworkfrom.However,it isnotalwaysthecasethat, asamodeller,youwill haveamaquettetoworkfrom.Inindustry,forexampleaclientmaynotprovidethis kindofmaterial. I t isthenveryimportantthatthatthemodelsheetsyouhavetoworkfromareclearandconcise.
Agoodmodelsheetincludesveryt ightandaccuratedrawingsthatareusedbythemodellersasreferenceplanesinsidethe3Dmodellingenvironment. RitchieK,TheArtofRigging:Volume2,2005
WecanseefromthecharacterdesigninFigure2 oftheSP23robotthatbuildingamaquetteforthemodellertoworkfromwouldbeimpracticalduetothecomplexityofthecharacter.
Thisprojectalsoofferedmethechallengeofmodellinganonorganiccharacter.ThiswasanewlearningexperienceasIhadonlyevermodelledorganic,creaturelikecharactersinmypreviouswork.Thewordnonorganicusedinthiscontextdescribesthemodelasbeinganonlivingorindustrial object, forexampleacarorachairandthewordorganicreferstoanaturalorlivingbeing,suchasaplantoraperson.Ihavefoundthattherearebigdifferencesinthewaysinwhichyouapproachmodellingamechanicalobjectcomparedtoanorganicone.I havealsolearntaboutparticularmodellingtool optionsinMayathathaveassistedmeinreproducinganaccuratemodeloftheTransformer.
6
-
Figure2.ModelsheetforSP23robot,featuredinTheArtofRigging:Volume2.Thisiscomprisedofatop,frontandsideview,aswellassomecloseupsofthecomplexroboticleg.Thisgivesthemodellersenoughinformationtoaccuratelyreproducetheformoftherobotin3Dmodellingsoftware.
I discoveredthebestwaytomodeleachpartofthetransformerwastostart withapolygoncubeinMayaandscaleit tomatchtheexactmeasurementsoftheparticularpiece,thenworkthedetail intoi t. Thistechniqueisknownasboxmodelling. ThisisquitedifferenttohowIwouldtacklethefirst stagesofmodellinganorganiccharacter.Ifyouweretouseacubeasthebasis ofyourmeshforanorganicmodel,it isoftenthecasethatevenafteraddingsignificantdetail thecharactertendstoretainaboxlikeshapetoit whichis veryunnatural. Topologyisalsoanissuewithorganicmodelling.It isimportantthattheedgesofthemodelflowintherightdirectionsothatit ispossibletoachieverealisticdeformationswhenit comestotheriggingandskinningofthemodel.Sogenerally, startingwithapredefinedshapetomodelanorganiccharacterisabadideaduetothefactthati t will alreadycomewithanexistingtopology.Thisisnotanissuewithmechanicalmodelling,aseventhoughthemodelwill berigged,theseparatepartswillnotdeforminanyway.Thisisbecausethemodelwill notbeboundasskintotherig.Instead,eachseparatepieceisparentedtothe
7
-
correspondingjoint toallowforanimation. Thiswill bediscussedfurtherintheRiggingchapter.
TobeabletomakethemodelanaccuratelyscaledreproductionofthetoyinMaya,it wasnecessaryformetoconstantlycheckthelengthsofeachpart throughoutthemodellingprocess,usingMayasDistanceTool. Thiscreatestwolocatorsanddisplaysthedistancebetweenthemtotheuser.Tomeasurethelengthsoftheedgesofeachpiecetoahighdegreeofaccuracy,Iwouldsnaponelocatortothevertexat thestartoftheedgeIwishedtomeasureandtheotherlocatortothevertexattheendofthatedge(seeFigure3).
Figure3.DistanceToolThisisusedaccuratelybysnappingthestartlocatortothevertexatthepointyouwishtomeasurefrom,thensnappingtheendlocatortothevertexatthepointyouwishtomeasureto.Mayawilldisplaythelengthinunitsbetweenthesetwolocators.
Toworkindetail tothemodelit isnecessarytosplit yourgeometrytoincreasethenumberofedgesandfacesonthepolygonssurface.Thisenablesyoutomakeextrusionsat theappropriateplaceonaparticularpartofyourmodel.Tocreateaccurateandevenedgesandfacesonthepartsofthetoymodel, IutilisedtheSnapToMagnetsbuttoninMayasSplit PolygonToolsettings. Oncethisoptionisturnedon,you
8
-
cancontroltheNumberOfMagnetsandtheMagnetToleranceattributes(seeFigure4). Bysettingthemagnettoleranceto100%meansthatwhereveryouclickontheedgethatyouwishtosplit , thesplit will happenattheclosestmagnetpoint. IftheNumberofMagnetsis1(asinFigure4)thentherewill beonemagnetpointalongthatedgeandit will beatanequaldistancefromthestart andendpointsofthatparticularedge,i.e. i t willsit halfwayalongit. Increasingthenumberofmagnetswill allowforsplits tooccuratincreasingnumbersoffractionaldivisions, e.g.settingthenumberofmagnetsto2willenabletheedgetobesplit intothirds.Byusingmagnetsi t isthereforepossibletocreateevensplits aroundanobjectatarangeofdifferentfractionaldivisions. I foundthisaidedmyabilitytoreproducethedetail ineachofthetoypartswithahighlevelofaccuracy.
Figure4.SplitPolygonToolUsingthistoolwiththe'SnapToMagnets'optionboxcheckedon,allowsyoutocontrolwherethisparticulartoolwillsplitanedge.ByadjustingtheNumberofMagnetsandsettingtheMagnetToleranceto100%,enablesyoutosplittheedgeatarangeoffractionaldivisions.
I havefoundthatwhenmodellinghardedged,industrial surfaces,i t isimportanttoconsiderthenormalsoftheedgesonthemodel.I t ispossibletoachieveverydifferentlookstoasurfacebysofteningor
9
-
hardeningthenormals(seeFigure5).ByselectingthedesirededgesandmakingthenormalsAllHardwill maketheedgesappearsharpinshadedmode.BymakingthenormalsAllSoftwill softentheirappearanceandeffectivelysmooththesurface.
ThroughoutthemodellingofthistoyTransformer,Ihadnotneededtoconsiderthepolycountofthefinalmodelasit wasmyaimtoproduceahighlydetailedaccuratereproductionofthetoy. Iwasworkingtoachievethesamelevelofdetailthatisheldintheactualtoyproduct.AsIhaveprogressedwiththisproject, however,I havebeguntothinkaboutwhatthis3Dvisualizationofthetoycouldbeusedfor.Inresearchingintothetoyindustryandthewaystoycompaniesmarkettheirproducts,I haverealisedsomepossibleapplicationsformyvirtualmodel.Iwillbediscussingthis atalaterstageinthisreport.
Figure5.Soften/HardenNormalsItispossibletoachievedistinctlydifferentlookstoamodelbysofteningorhardeningthenormals.Wecanseefromthisimagethatmakingthenormalshardgivestheedgeasharplookandmakingthenormalssoftgivesthemodelamuchsmootherappearance.
MostoftheusesforthisvirtualtoythatI havearrivedatwouldrequireittobeofamuchlowerlevelofdetail thanwhatI haveachievedformymodel. Anexampleofthiswouldbeifit weretobeusedonawebsiteinaFlashanimationorgame.Althoughmymodelistoo
10
-
detailedforsuchapplicationsasthese,it wouldbeaneasyprocesstoreducethemodelintermsofpolycountandremovealot ofthemodelsdetail tomakeit suitableforsuchuses.
ThefinalcompletedmodeloftheTransformercanbeseeninrobotmode,inFigure6 andinvehiclemode,aftertransformation, inFigure7 .
Figure6.ThisisthefinishedmodeloftheTransformerinrobotmode,showingthefrontandbackviews.
11
-
Figure7.ThisisthefinishedmodeloftheTransformerinVehiclemode,showingthefrontandbackviews.
RiggingtheVirtualToy
SimilartothewayIhadonlyeverbuilt organicmodelsbeforethisproject, Ihadalsoonlyeverriggedorganiccharacters,sosett ingupamechanicalmodeltobeanimatedwasaninnovativechallengeforme.Ihadrecentlyacquiredsomeveryinterestingandusefulbooksthatteachthetheoryandpracticesofriggingusedbyprofessionaltechnicaldirectors.Thebooksarecalled,TheArtOfRigging: Volume1andTheArtofRigging:Volume2,writtenbyKiaranRitchie,JakeCalleryandKarimBiri andreleasedbyCGToolkit. Thesebookswereinitially purchasedtoassist withmyMajorProjectandwhilesometopicscoveredwillsignificantlyhelpmewiththis project, therearealsomanynewideascoveredthatI wouldliketheopportunitytoexperimentwith. InTheArtofRigging:Volume2,theprocessofsettinguparigforacomplex,roboticcharacter(theSP23robotasshowninFigure2)is discussedindetail. Havingworkedthroughbothbooksandtutorials covered,Ihavefelt encouragedtoapplythenewskills andtechniquesthatIhavelearntontoamechanicalmodelofmyown.Thisprojectoffersmetheopportunitytodothisandtoimproveandfurthermyunderstandingoftheriggingprocess.
NotonlywastherethechallengeofsettinguparigforamechanicalmodelbutIalsohadtothinkabouthowitcouldbebuilt toallowfor
12
-
thevirtualtoytotransform.AverysuccessfulexampleofatransformableriginactioncanbeseenontheCitroenC4televisioncommercial (seeFigure8). Seeingthisadvertinspiredmetowanttoresearchintomethodsofdevelopingtransformingrigsandhencethis beingoneofthereasonswhyIhavechosentobuildavirtualtoyTransformer.UsingaTransformertoywasalsoidealformyprojectasitmeantI didnotneedtoconsiderhowthetransformationwouldwork(asthetoymakershaddesigned
thisalready),thusallowingmetohavemoretimetofocusonbuildingthecomplexrig.
ThemainissueIhadtoconsiderwhenriggingtheTransformer,wasthattherigneededtocopewiththreedifferentstates; robotmode,transformationmodeandvehiclemode.I decidedthatthebestwaytodothiswouldbetobuildthreeseparaterigs,oneforeachmode.Thiswasnecessarybecausetherewereverydifferentcontrols andsetupsneededforthedifferentstates. It wasmuchmorepracticalanduserfriendlytohavethesethreeseparaterigsetupsinsteadofattemptingtoincorporateall thecontrolsneededfortherobot,thetransformationandthevehicleontoonesingleskeleton.
WhentheTransformerisinrobotmodetheanimatorwouldfinditmucheasiertoanimatewitharigsetupwithinversekinematics(IK)controls. Theanimatorcanselectthesecontrols tomovethelegsandarmsandsetkeysonthem,forexampletoanimatetheTransformerwalking. Unfortunately,duetothewayinwhichthetoyis built, i t wasdifficult toaccomplishaworkingIKrigandIwilldiscussthereasonsforthisatalaterstageinthisreport. Forthetransformationstateofthevirtualtoy,it wasmoresuitabletohavearigsetupwithforwardkinematics(FK).TheFKrigismademorepracticalfortheanimatorbythecreationofslidersthatcancontrolhowmucheachpart ofthe
13
Figure8.TheCitroenTransformingCarThisTVcommercialwasproducedbySpyFilmsinToronto,withanimationundertakenbyaVancouverbasedVFXcompany,TheEmbassy.
-
modelhastransformed.Thisallowstheanimatortoset keysontheseslidercontrolstoanimatethetransformation. Forthelast state,therigonlyneededtobeabletohandlethetranslationandrotationofthejet.Theanimatorcanselectonemaincontrolwhichcanbeusedtocontrolthejetsmovementandwhichalsoholdsattributestocontroltherotarymotionsofthewingflapsandtheguns. Toswitchbetweenthedifferentrigsasthevirtualtoytransforms,forexamplefromrobotmodetotransformationmode,thetransformationskeletonwouldneedtobepositionedtomatchtherobotskeletonspositionandthevisibilityoftherobotrigwouldbeswitchedoffattheframewherethetransformationbegins.
SettinguptheSkeleton
It is veryimportantwhensett inguptheskeletonforamechanicalcharacterthatthejointsareplacedaccurately.
Riggingmechanicalcharacters(orvehicles)requiressomeextraattention.Youmaybefamiliarwithplacingjointsbyhand.Thisworksfinefororganiccharacters,butit canpresentaproblemformechanicalrigs. Ritchie K, 2005. Pg 101.
Thejoints shouldbeplacedatthepivotpointsofeachpieceandiftheyareplacedslightly offcentrei t cancausethemechanicalparts ofthemodeltolookwobblyandbrokenwhenanimated(seeFigure9).ToensurethatI wasplacingmyjoints attheexactcentreoftheTransformersmechanicaljoints, IusedMayassnappingtool. UsingthisI wasabletosnapthejointstoavertexthatwasattheexactcentreofrotationforthatparticularpiece.Forsomepartsofthemodel,however,i t wasnotpossibletodothis, i .e. if therewasnovertexlyingattheexactcentreofrotation.Anexampleofwherethisoccurredisinplacingthejointfortheknee.
14
-
Figure9.AccuratelyPlacingJoints.ThisshowshowIhavesnappedthejointstothepivotpointsoftheseparatepartsoftheTransformertoytoensurepreciseplacementandpreventthelegfromlookingbrokenandwobblywhenanimated.
Figure10.ThisshowshowthecgTkSnapToPivotscriptwasusedtoplacethejointsaccurately,inthecorrectpivotposition.
15
-
Fortheknee,I neededtosnapthejoint tothecentreofthekneesgeometry.Firstly, I centredthepivotonthekneepieceusingtheMayacommandCentrePivot. I thenneededtosnapthejoint tothekneespivotandtodothisIwasabletouseascriptthatwassuppliedwithTheArtofRigging:Volume2,calledcgTKSnapToPivot(seeAppendixA.I). Thisisafairlysimplescriptthatallowsyoutoselectabaseobjectandatargetobjectandonrunningthescriptit will querytheworldspacelocationofthebaseobjectspivotandmovethetargetobjecttothatposition. WecanseefromFigure10 , thatthekneejointhasbeensnappedtothepivotofthekneesgeometryasfromselectingthemboththemanipulatorslaydirectlyontopofeachother.
Afteraccuratelyplacingthejoints, I neededtochecktheorientationsoftheiraxestomakesurethattheyarel inedupwiththeorientationofthepivotsofeachpart ofthemodel. Thisis just asimportantasplacingthejoints precisely,asthejointmaybesit tingat thecorrectpivotpointbutifi tsaxesarenotorientedcorrectly, it wouldmeanthatallthreeaxeswouldneedtoberotatedtoachievethedesiredrotationforeachpartofthemodel,whichisverydifficult andimpracticalforananimator.Iftheaxesarelinedupcorrectlywecanjust selectthedesiredaxistorotatearoundandthegeometrywill moverealistically.InordertorigtheTransformersothatit movesaccordingtoi tsmechanicalstructure,I neededtoconsiderwhichaxesareusedandwhatmotionisrestrictedateachjoint.
Inmanycases,mechanicaljoints arerestrictedtoonefreeaxis. Thisisthecasewithalmosteverymovingpartonyourcar(thingsl ikewheels. Wipers,doors, seatbacks,steeringwheeletc).Whenriggingthesekindsofobjects, it isimportantthatyoudonotgivetheanimatortheoptionoftwistingthepieceinthewrongaxis.Joints thathavelimitedaxesshouldhavetheirunusedaxeslockedandhiddenfromtheanimator. Ritchie K, 2005, pg 119.
16
-
The finalskeletonjoint layoutcanbeseeninFigure11 .
SettinguptheFKTransformationRig
OnceIhadaccuratelyplacedthejoints andcorrectlyorientedthem,IdecidedtosetuptheFKTransformationrigfirst. I init iallyneededtocheckthatthevirtualmodelcouldfolduplikethetoytotransformintothejet . Ifoundthis averythrillingpartoftheproject. It wasexcitingtorotateeachpartofthevirtualtoyTransformerandtothenhaveanentirelydifferentlookingmodelthatcorrectlyresembledthejetthattherealtoytransformsto.It wasquiteasatisfyingprocessandmustresemblehowachildwouldfeelplayingwiththetoy.Thisismostlikelythemainreasonforthis toyssuccessandits mainsell ingpoint.Tosetuptheanimationrigforthis skeleton,toallowit tobeanimatedinanFKfashion, IdecidedtoapplysomeofthetechniqueswhichIhadlearntfromTheArtofRigging:Volume2tutorial DVDandutilisesomeofthemelscriptstomakesett inguptherigfasterandmoreuserfriendly.Insteadofcreatingcurvestouseascontrollers,awayofusingmechanicalcharactersgeometrydirectlyascontrollerobjectsisexplained.Theideaisthattheanimatorcanclickonthevariousbodypartstomanipulatetherig(seeFigure12).
17
Figure11.TheSkeletonThisshowsthebonelayoutfortheTransformerrig
-
TosetuptheTransformersbodypartsascontrolobjects,I usedamelscript(cgTKAttachControl)providedwiththebook(seeAppendixA.II).ThisspeduptheprocessofcreatingthecontrollerobjectsfortheTransformer.It worksbyselectingthepart ofthevirtualmodelsgeometryyouwishtomakeacontrollerandthenshift selectingtheunderlyingjoint. Onexecutionof thescriptanorientconstraintrelationshipissetupbetweenthecontrollerandthejoint. I twill alsoparentconstrainthecontroller
objecttothejoint. Indoingsoit will makesurethatthecontrollerobjectsrotationaxesarestill properlyalignedtothejointandthatitstransformsareset tozero.ImadeuseofanotherMELscripthere,calledcgTKDynSelectorwhichaddsadynSelctionattributetoeachofthecontrollerobjects(seeAppendixA.III). Thescriptthenworksbychangingthecolourofthecontrolthathasbeenselected.Thisisusefulfortheanimatortoclearlyseewhichpart oftherobottheyareaffecting.
Thissetupworkednicelyformostparts oftheTransformer,however,somepiecesonthemodelareverysmall andquitehardforananimatortoselectananimate,forexample,thepartsthatattachtheTransformersupperlegand
18
Figure12.Thisshowshowthebodypartsofthetransformerareusedascontrolobjects fortheFKrig.
Figure13.ThisshowsthepartsoftheTransformerthatwouldbehardforananimatortouseascontrolobjectsastheyareverysmallandhiddenbetweenotherpartsofthemodelsgeometry.
-
armtoi tstorso (seeFigure13).
I decidedawayofgettingaroundthis issuewouldbetoaddsomefloatattributestotheupperarmandleggeometrythatcontroltherotationsofthejoins. I thenconnectedtherotateXchannelsofthearmandlegconnectorjoints, totheirrespectiveattributesontheupperarmandlegpieces.Thiswasachievedusingtheconnectioneditortocreatealinkbetweenthem.Iusedthis techniqueonotherparts oftheTransformersbodytomaketherigmucheasiertoposeforananimator.Tocontroltheguns,forexample,theanimatorsimplyneedstoselectthetorsoandinthechannelsboxforthetorsocontrolthereareattributestorotatethegunstotheredesiredposition.
Tomakethetransformationrigevenmoreuserfriendlyfortheanimator,I decidedtouseamelscript(providedbyTheArtofRigging:Volume2book)thatsetsupapickwalkingabilitybetweenthecontrollerobjects.Thescript, cgTKPickWalkercreatesanewsetofhotkeysthattheanimatorcanusetopickwalkthroughtherigscontrols (seeAppendixA.IV).
I havemadesurethatall unusedattributesinthechannelboxhavebeenlockedandhiddenfromtheanimatorforeachcontroller.Atthisstage,theanimatorcouldtaketherigandsetkeysonthecontrollerstoanimatetheseriesofrotationsneededtotransformtherobot. ThetransformationstepscanbeseeninFigure14.Iftheanimatorwasunawareofhowtotransformmyvirtualmodel,thenjust havingtheFKrigasi twasatthisstagewouldmakeitextremelyhardfortheanimatortokeythetransformation.Tosolvethis issueandtomaketherigusabletoanybody,I decidedtoaddsomecustomfloatattributesthatcontroltowhatextentdifferentareasoftheTransformerhavetransformed.ThesearesetupusingMayasSetDrivenKeyoption.
Soanexampleofthiswouldbetoset uponeofthearmstotransform,Icreatedafloatattributeonthetorsocontroller,namedit Transform
19
-
Arm,andsetit torange from0to10.UsingthesetdrivenkeyoptioninMaya,I loadedtheTransformArmattributeasthedriverandloadedallofthecontrolobjectsthatmakeupthearmintothedrivensection.Ithensetkeysbetweenthe0to10valueoftheTransformArmattributetocontroltheorderthateachpartofthearmfoldedupin.Thisenablesananimatortoslidebetweenvaluestomakethearmtransform.IsetupsimilarattributesandkeysfortheotherpartsoftheTransformersothatan
animatorcansetkeysonthesesliderstocontrolwhichpart oftheTransformeristransformingateachframe.InFigure15, wecanseetheFKTransformationriginactionandthelist ofattributesattachedtothetorsocontrol.
Figure15.ThisshowsthesequenceofthevirtualTransformer,transformingintothejet.Thisiscontrolledusingtheattributesattachedtothetorsocontrolandslidingbetween0and10.Whentheseattributesareat0,notransformationhashappened(asinStep1).Whentheyaresetto10thevirtualtoyisfullytransformed(asinStep7).
20
Figure14.InstructionSheetforTransformertoy.Thisshowstheseriesofrotationsthatneedtohappeninorderforthetoytotransform.
-
SettinguptheVehicleRig
TherigfortheJet vehiclethatthevirtualtoytransformsintodidnotneedtoconsist ofmanycontrols. It neededtoallowfortranslationandrotationofthejet andtoalsoallowforcontrolofthegunsandthesidewings.I decidedthatthemostsuitablesetupforthisparticularrigwastocreateacontrollerobjectintheformofaNurbscurvethattheanimatorwouldselecttomoveandrotatethejet . I thenaddedattributestothiscontrolobjectthatcouldbeusedassliderstocontroltherotationofthegunsandtheopeningandclosingofthesidewingflaps.I discoveredanefficientandsimpletechniqueforlinkingtheattributesonthecontrollerwiththeappropriatemotionsthatI requiredfromthegunandthewings. Thiswastocreateal inkbetweentheappropriatejoints rotationchannelandthecorrespondingattributeonthecontrollerbyusingtheconnectioneditor.Thismeantthatwhentheattributeswereanimatedthejoints rotatedintheaxis thattheyhadbeenlinkedto.ThesetupforthisrigcanbeseeninFigure16 .
Figure16.TheVehicleRig.ThisshowstherigsetupfortheTransformerinvehiclemode.Wecanseetheattributesthatareattachedtothemaincontroltoallowforanimationoftheleftandrightgunsandwingflaps.
21
-
TheProblemswithCreatingtheIKRig
The use of inverse kinematics to drive the motion of a characters jointchainprovidesaneasymorepractical set upforananimator to control.It allows for a more intuitive way of positioning your character thanwith forward kinematics, in particular for goaldirected movements.The reason for this is that an animator can focus on the goal they wishthe joint chain to reachandnot haveto consider therotationof eachofthese joints in the chain to reach the desired position, as an IK handlewill calculate this for them. This setup works effectively on organiccharacters, where the joints can move relatively freely to reach adesiredpose. The toyTransformer, however, is built in suchaway thatthat the movements of each of i ts parts are restricted, often to onerotationalaxis,duetoitsmechanicalnature.
It is evident that setting up inverse kinematics for a mechanicalcharacter is not a medialtask, as discussed in thechapter on Rigging theIK Leg, for the SP23robots leg, in The ArtofRigging:Volume2.The robots leg isproblematic because ofits mechanical nature.Using IK on a leg withso many mechanicalconstraints provesextremely dif ficult. Theproblem is that MayasIK solvers do notsupport joint l imits. That is, an IK solver will attempt to twist a jointin any direction in order to solve the joint chain. Ritch ie K, The Art ofRigging: Volume2 , 2005
For the SP23 robot, that is used to demonstrate mechanical riggingtechniquesin this book,anIKsetupwasachievedbyusingpolevector,aimand orient constraints. These constraints helped to create a leg rigthat did not break the mechanical nature of the robots leg. Whenapplying similar techniques to my virtual toy robot, however, Iencountered some complex issues that were not dealt with in the book
22
-
and which caused the IK leg controls to make the leg rig behave in anodd,nonuserfriendlynature.
Figure 17 , shows the SP23 robots leg rig setup. Three IK handleswere placed along the chain of joints that runs from joint A to the t ipjoint. This systemof IK handles could be util ised as the joints fromAto D all rotated about the same axis. This meant that rotating the IKhandle at its end effector at Joint D in the correct axis, caused the restof the joint chain tofollow suit and rotateabout the correspondingaxes. The main problem with this mechanical leg rig occurred whentranslating the controller cube, as the union and rotor joints did notfollow and resulted in the leg appearing to be broken. The techniquesused to resolve this problem involved the use of constraints betweenthe rotor and union joints and the controller cube. The problem withsetting up inverse kinematics on myTransformer was that, unlike withthe SP23 robots leg, the joints along the main leg chain were eachrestrictedtodifferentrotations.ThiscanbeseeninFigure18 .
After attempting somedifferent setups for the leg, I managed to createan IK setup, which worked to an extent. The joints never rotate aboutthe wrong axes, and by moving the foot controller, the animator canpose the leg into position, although this sometimes leads to an
23
Figure18.ThisshowsthedifferentrotationalrestrictionsofthejointsalongtheTransformersleg.
SP23robotsleg,featuredinTheArtofRigging:Volume2.pg121
-
unexpected leg movement, especially at extreme poses and when thecontrolismovedinmorethanoneaxis.
I went about sett ing up the IK leg, first by opening up the jointlimitation options for each joint and setting limitations on theirrotation channels so that each joint would only rotate in the desiredway. I then created separate IK handles between each joint along thechain(seeFigure19).
This seemed the most suitable action to take as there are never morethan three joints along the Transformers leg rig that rotate about thesameaxis. I then created a null groupandsnapped its pivot to the firstjoint at thehip, where thestart of the first IKhandleresided. I createdacontrollerobject andsnappedthis to theankle. I thenparentedall the
24
Figure19.ThisshowstheIKsetupthatgavemethebestresultswiththeTransformerleg,althoughthissetupisstillnotidealforananimatortoworkwith.
-
IKhandles to thenull groupandparentedthis to the legcontrol object.ThetypeofmotionthatI attainedwiththiscanbeseeninFigure20 .
Figure20.ThisshowshowtheIKlegsetupreactstomovingthecontrollerobjectindifferentdirections.
TheIKsetupseemstoworkwell, until thecontrollerismovedtoanextremeandsomeflippingoccursat theknee.Alsomovingthecontrolaboutinmorethanoneaxissometimesmovesthelegintoanunexpectedposition. Theflippingofthekneecouldbefixedusingapolevectorconstraint andanyunexpectedmovementscouldbecontrolledbyimplementinganIK/FKswitch.ThiswouldallowtheanimatortoposethelegusingtheIKrigandtothenswitchtoanFKrigtoobtainmorecontroloverthepositionoftheleg.WhenusinganIK/FKswitchthefinalpositionofthejoints isdeterminedbyblendingbetweentheIKposeandtheFKpose.
Thearmsweresetupwithinversekinematicsbutbyusingtwocontrollers,oneplacedattheshoulderandoneat thehand.Byrotatingtheshouldercontroltheanimatorisabletoposetheupperarm.AswiththelegaseparateIKhandlewascreatedbetweeneachjointalongthearmchain. Fortheupperarmcontrol, anull groupwascreatedand
25
-
snappedtothepivotoftheshoulderjoint. ThetwoIKhandlesthatareusedtocontroltheupperarmwereparentedunderthis null group.Ithenparentedthisgrouptotheshouldercontrolobjectandrestricted
the
channelsonthissothattheanimatorcouldonlyrotateit intheXandZaxestocorrespondwithhowthejointsat this part ofthearmcanmove.BecauseIhadlimitedtherotationofthesejoints intheattributeeditor(asI haddonepreviouslywiththelegjoints), this meantthatrotatingthecontrolintheZaxisonlyaffectedthejoint intheupperarmthatthismotionwaspossiblefor.Likewise,byrotatingthecontrollerintheXaxis,thecorrectjoint wouldrespondtothis actionandallowforrotationoftheupperarmaboutX.Figure21 showshowtheupperarmcontrolaffectstherig.
Thelowerarmcontrolwassnappedtothejointatthebaseofthehand.Withthelimits ofthejoints rotationsrestricted,asimilarsetupwasaccomplishedwiththelowerarm.Anull groupwascreatedandsnappedtotheelbowjoint. TheIKhandlesthatwereplacedbetweenthejointsinthelowerarmwerethenparentedtothis null groupandagainthiswasparentedtothelowerarmcontrollerobject. Wecanseehowthelowerarmrigreactstotranslatingthelowerarmcontrol
26
Figure21.Thisshowstheposesthatcanbeachievedbyanimatingtheupperarmcontrol.
-
backwardsandforwardsinFigure22.
Duetot imeconstraints,I wasunabletofullycompletetheIKrigsetupforthetransformerandimplementanIK/FKswitch.I alsowishtodeveloptherigfurtherandmakeit moreuserfriendlyatalaterstage.
Ithinkit isimportanttorealisethattheTransformerhasbeendesignedtobeatoyandwhenachildplayswiththerobot,he/sheiseffectivelyrotatingeachpartofthetoyatat imetoposeit, inanFKfashion.Ofcourse,thisdoesnotmeanthatiftheTransformerweretobedesignedfordigital animationthatthedesignerwouldconsidersuchissuesasrigging.TheSP23robotusedinTheArtofRigginghadbeendesignedwithdigital animationinmind,butpurelyforthepurposesofbeingabletocoversomecomplexriggingissues.
Inmostrealworldcases,thedesignsareconceivedwithlitt le ornoregardforpracticalitywhenit comestodigitalanimation. If thiswerethecase,designerswouldbel imitedandtheir creativitybecomesstagnant. Ritch ie K, 2005, pg3.
PossibleusesoftheVirtualToyasaMarketingTool
DuringtheprocessofcreatingmyvirtualtoyTransformerandsettingitupforanimation, Ibeganthinkingabouthowthis 3Dvisualizationcouldbeusedbythetoycompanytomarkettheirproduct.Computervisualizationis usedasamarketingtoolbysomedesignfirms,inparticulararchitecturaldesigncompanies.
27
Figure22.Thisshowstheposesthatcanbeachievedbyanimatingthelowerarmcontrol
-
Animationforarchitects, makesuseofthecomputergeneratedmodelandthecomputersprocessingpowertocreateanimationwalkthroughs,whichcangreatlyenhanceaclientsunderstandingandspeeduptheapprovalprocess Curt is B. Charles , 1996, pg71.
Itworksasasuccessfulmarketingapproachforthesecompaniesasitgivesaclearerimagetotheclientofwhatthefinalconstructionwill belike.Withthisprincipleinmind,I thoughtabouthowthevirtualTransformercouldactinsuchasawayastopromoteits toycounterpart.
Inanattempttogainsomedirectfeedbackontheextenttowhichmy3Dcomputermodelcouldbeappliedasamarketingtool, I sentanemail tothetoycompany,Hasbro,whomaketheseparticularTransformertoys(seeAppendixB).AftersomedeliberationastowhetherIwasastudentoraninventor(thecompanydoesnotdealdirectlywithoutsideinventorsasthetoydesignsareallcreatedinhouse),myemail wasforwardedontothedesignteamatHasbro.Isentwithit somerendersofmytoymodelandalsoashort videoclipofthetransformer,sotheycouldseewhatIhadachieved.Mymainquestionwastofindoutwhethertheywouldconsiderusingsuch3Dvisualizationinanyareaofmarketingtheirproduct.Asofyet, I havenotreceivedanyfurtherresponsefromthecompanyregardingmylastemail tothem.
I cameupwitharangeofdifferentpossibleusesofmyownthatIthoughtwouldbebeneficial tothetoycompany.ThetoyTransformerproductcamewithaset ofcarefullydrawnoutinstructionsthatgaveastepbystepguidetotransformingthetoyfromrobotmodetovehiclemode(seeFigure14).Oneapplicationofmyvirtualtoycouldbeusedasameansforcreatingthediagramsforsuchinstructionmanuals. Withmyvirtualtoysetupforanimation,i t isrelativelyquickandsimpletorenderastil l imageofthetoyateachstageofthetransformationprocess.I consideredthistobebeneficialtothetoycompanyasitwouldenablethemtoproducehigherqualityinstructions, withoutbeinglabourintensiveortimeconsuming.
Togaugethelengthoft imeit wouldtaketoputtogetherasimilarsetofinstructions,I resolvedtogoaheadandrecreatesomeusingmyown3Dmodelandposingit foreachconsecutivestageofthetransformation.I renderedoutclearimagesoftheTransformer,using
28
-
MentalRayandmadeuseofitsambientocclusiontexturenode.Ipluggedtheoutputofthis nodeintothecolouroutputofthematerialonmymodel. Theambientocclusionnodeeffectivelylightensthelightareasanddarkensthedarkareasoftheshaderat rendertime.Byincreasingitssamplesto100,I wasabletorenderclear,sharp,highqualityimagestouseasthediagramsfortheinstructionpage.I thencreatedthebasicstructurallayoutinPhotoshopandlayeredall myrenderedimagestogethertocreatethefinalinstructionpage(seeFigure23).Theinstructionstookapproximately6hoursofworktoobtainmyrendersandcreatethestructureinPhotoshop.Iwassti llunsureatthisstage,whetherthecompanywouldfindthisparticularapplicationofanyusetothem.
TheHasbroTransformerwebsitehasalinktothetelevisioncommercialthattheyarecurrentlyairingtoshowofftheirTransformertoyproducts.Theadvert wasclearlylowbudgetandwouldhavebeen
29
-
Figure23.ThisistheInstructionpagethatIrecreatedusingmy3Dvirtualmodelasthediagramimages.
considerablyquickandeasytomake.Some2Danimationwasusedinashortsectionofit, butthiswasofafairlylowstandard.Thebulkoftheadvert showedthetoyproductbeingposedbyhandandshowedoffitsnew,excitingfeatures.I wasinterestedtofindoutwhetherthecompanymayfindauseforcomputeranimationintheiradvertsasthiscouldsignificantlyimprovethequalityoftheircommercialsandmayinturnaidinthemarketingoftheirtoys. Notonlywouldtheuseofgoodqualitycomputeranimationimproveupontheaestheticsoftheadvert, i t seemsthati t tendstoappealtothemodernmarketandmayactat successfullygrabbingtheirattentionmoresothanjust displayingtheactualtoyfigure.
30
-
Whenplayingwithatoyachildisineffectusinghis/herimaginationtobringthetoytolifeandpretendthatthetoytalks,walksandemotes.Thisconceptledmetoindulgeuponthenotionthatcomputervisualizationandanimationcouldbeanextremelyeffectivemarketingtoolforthetoyindustry, asi t isinessenceusedtobringinanimatedesignstolife.Ifachildwastoseeatoyanimatedandmovinglikealivingbeing,i t mayexcitethemmoretotheideaofowningtheactualtoy.Thisdoesnotnecessarilyhavetooccuronatelevisioncommercial. Thetoycompanycouldmarkettheirproduct,usingcomputeranimation, bymeansofothermediasuchasdevelopingacomputergameorcreatingaFlashbasedinteractivewebsite.Oneparticularwebbasedapplicationformyvirtualtoycouldbeasaninteractivefeature,bywhichit wouldbepossibletocontroltheTransformerandmoveit abouttotransformit
TodiscusstheideasthatIhadcomeupwithandtogainaprofessionalopiniononthem,I gotintouchwithMikeMolesworth, alecturerfortheInteractiveMediaProductioncourseatBournemouthUniversity. Hegavemeaninterestinginsightintothefactorsthattoycompanies,likeHasbro,considerwhenmarketingatoyandhowmost ofthemwill goaboutit. It becameapparenttomeaftergoingthroughthedifferentpossibleapplicationsformyvirtualtoy,thatcostisalwaysamajorconsiderationforacompanyinanymarketingstrategy.Particularlywithtoycompanies,it seemsthattheywillalwaysoptforcheapmarketingsolutionsastheyknowthatmosttoysaresoldonafadbasisandthemarketchangessoquicklywithtrends.Theyoftendonotwanttoinjectmuchtimeandmoneyintotheseproductsasthereshelflifeisoftenveryshortwithtoycrazescomingandgoingcontinuously.
Thisisnotthecaseforall toycompanies,however,particularlythelargermoreestablishedcompanies.Legohavebeenaverysuccessfultoycompanyandtheirproductstayscontinuouslypopularwithchildren,throughoutthechangingtrends.Theycanaffordtospendmoneyandputeffortintoutilisingnewandupcomingmarketingideas.Anexampleofhowtheyhaverecentlyusedcomputeranimationasatooltosell theirproductiswiththerecentStarWarsLegocomputergame(seeFigure24).Legohopethatbyplayingthegameandenjoyingit , peoplewill wanttogooutandpurchasetheStarWarsLegotoys, astheywill appealtothemmore.Theyalsomaywanttobuythetoystobeabletorecreatewhattheplayedinthegame.
31
-
I
think the most favourable use of my virtual toy Transformer would beas a character in a computer game. The Transformer is a wellestablishedandgloballyfamoustoy,soagamewouldbesuitableasthetoyhasanexistingfanbaseforwhichsuchanapplicationwouldappealto. Of course, this would not be an achievable project for one personand a company would need to be hired to carry this off. My virtualmodel could be used as a means to demonstrate to the Hasbro toycompany how the characters could look and move as computergeneratedmodelsinavideogame.
32
Figure24.TheStarWarsLegovideogameisanexampleofasuccessfulapplicationofcomputervisualizationandanimationformarketingtheLegotoy.
-
Researching into other well known and established toy companiesmarketing techniques, such as Barbie and Action Man, I discoveredthey all seem to use Flash based websites (see Figure 27). By usinganimations and incorporating games and interactivity with Flash, thewebsites become more fun and appealing to the younger market andmost probably make the toy more appealing the to a child visiting thewebsite.
Threedimensional animation in the Web environment is used foronline video games. It is also used as a way to display products, tofeature logos and to cybertravel through locations. Viewers can nowturn an automobile upsidedownand inside out on a webpage Shires,J. 2001,pg80
Figure27.ThisisthehomepageoftheBarbiewebsite.ThewebsiteusesFlashinsuchawaythatthesiteismademoreappealingtochildren.Theusercanclickonthedifferentobjectswithintheroomtolinkthemtodifferentpartsofthesite.Barbieisanimatedtoguidetheuserateachnewlink.(Imagetakenfromhttp://barbie.everythinggirl.com)
The Transformer website could be improved by allowing for moreinteractivity and implementing my virtual toy in Flash could be onewayofachievingthis. Theusercouldclickondifferentparts of thetoyto move it about, pose it and make it transform. If my virtual model
33
-
were to be used for the Transformer website, I would need tosignificantlyreducethelevelofdetail onit fromwhatit hascurrently.
OndiscussingtheuseofmyTransformermodelinatelevisioncommercial, MikeMolesworth,pointedouttomethatit isoftentheaimofacompaniesadverttodisplaytheirproductasmuchaspossibletotheviewer.Thiswouldmeanthatanycomputergeneratedtoywouldneedtobephotorealisticforthecompaniestowanttoincludeit ,whichwouldresult insteepercostsforthemtooastheywouldneedtoemployacomputereffectscompanytoworkontheadvert. However,thedetail createdinthemodeldoeslenditselftophotorealism,andwiththerightshaderandlightsetupthisgoalcouldeasilybeachievable.
WithregardstotheinstructionpagethatIcreated(seeFigure23),Idiscoveredthattheactualinstructionsthatcamewiththetoy(seeFigure14),wouldhavebeeninexpensiveforthecompanytoproduceasit isthecasethatsuchdocumentsareoftenmadeincountrieswerethelabourischeap.Myinstructionpagemaybeofbetterqualitythantheonesuppliedwiththeactualtoyproduct, butthecompanywouldprobablynotseethisasagoodenoughreasontochangetousingcomputervisualizationhereasthecostswouldbesignificantlylarger.
CriticalAnalysis
Throughundertakingthis project, I havebeenabletogainaninsightanddevelopanunderstandingforthetechniquesandmethodsusedinmodellingmechanicalcharactersandinsett ingthemupforanimationpurposes.ThepracticalaspectsofthisprojecthaveprovidedmewithinterestingchallengesandtheideasandtechniquesthatI haveexploredwereall innovativeformeinthesensethatI hadonlyeverbeforelearntaboutandpractisedorganicmodellingandrigging.Itwasgoodpracticeformetolearnaboutmodellinganaccuratereplicaofthetoymodel.I felt thiswasavaluableskill tolearnassuchaccuracyandprecisionmayberequiredofmeinthefuturewhenworkingona3Dvirtualmodelforaclientinindustry.
ThefinalmodeloftheTransformerthatI produced,I feelwasasuccess.I believethatoneofthemainreasonsforthemodelssuccesswasduetothefactthatIhadthe3DtoyTransformertoworkfromasreference.Beingabletolookaroundtheactualtoyandhaveathree
34
-
dimensionalviewofi t, madetranslatingit toahighdegreeofaccuracyinMayamuchmorefeasiblethantryingtoobtainthis levelofprecisionfrom2Dmodelsheets. Withfuturemodellingprojects,I feelthatit wouldbeaworthwhilepracticetocreateasculptureormaquetteofthecharactertobemodelledbeforeattemptingtobuilditinany3Dcomputermodellingsoftware.Thisshouldenablemetocreatemorecomplexmodelstoahigherstandardaestheticallyandalsoimproveuponthebelievabilityofmycharactermodelsas3Dbeings.EachtimeIworkonacreatingavirtualmodelinMaya,myabilityatmodellingimprovesandIamcontinuallygainingmorepracticeatthisskill. Thetechniqueslearntintheprocessofmodellingthis transformerhavebeendocumentedinthisreport, inthehopethattheywill beofusetoanyonecreatingroboticorothernonorganicmodelsinthefuture.
AfteracquiringandworkingthroughbothvolumesinTheArtofRiggingseries,IwaskeentoapplythenewapproachestoriggingthatIhadlearntabouttoacharactermodelofmyown.ModellingtheTransformer,providedmewiththeopportunitytodothis,butalsopresentedmewithmorecomplexriggingissuessuchasmakingananimatable,transformingrig.ThroughcomingupwithsolutionsofmyowntosolvesomeoftheriggingproblemsuniquetotheTransformer,Ihavegainedfurtherconfidenceinmyabilityasacharacterrigger.Ihaveaclearerunderstandingofsettinguptheskeletonandtheimportanceofcorrectlyorientingjoints aswell astheneedforaccuratelyplacedjoints formechanicalcharacters.I alsohaveabettergraspofsettingupinversekinematicsonjointchainswherethejointshavelimitedrotationswhichanewconcepttomebeforethis project.
Duetothet imeconstraints ofthisproject, I wasunabletodeveloptheTransformersIKriginrobotmodeasfarasIhadintendedto.IfIhadplannedmytimemoreproficiently,I wouldhavebeenabletoset theIKriguptobemoreanimatorfriendly.Todothis, IwouldaddconstraintstothecontrollerobjectssotheanimatorcanonlykeythecorrectchannelsandalsoimplementanIK/FKswitch, toallowformorecontrolwhenposingtherobotvirtualtoy. Inowunderstandtheimportanceofplanningaheadtorealisewhatissuesmayoccurwithinaprojectandtoleaveadequatetimetocomeupwiththesolution. ThisisavaluablelessonthatIcancarryovertootherprojectsthatIworkon.
35
-
AlthoughIdidnotwriteanyofmyowncustomMELscriptsforthisproject, it hashelpedmetogainknowledgeaboutthisareaofMaya.Ihaveamuchclearerideaofhowit canbeusedtosolveotherwiseunsolvableproblemswithinMaya.BecomingmorefamiliarwithMELscriptinginthisprojecthasopenedawindowformetogoaheadandutiliseMELasatooltosolvepossibletechnicalissueswithmyMajorProject.
TheresearchthatIcarriedoutintotheextentthat3Dcomputervisualizationandanimationis usedbytoycompaniesasameanstomarkettheirproducts, allowedmetoreflectuponthedifferentpossibleapplicationsformyvirtualtoyasamarketingtool. IfounditinterestingtodiscussmyideaswithMikeMolesworth,andhavecomeawayfromthisprojectwithadeeperinsight intohowcomputeranimationisusedoutsideoftheFilmandGamesindustries.I amkeentoexpandonthisprojectandfinalisetherigforthevirtualTransformersothatI cangoaheadandcreateananimationwithhim.OnceIhaveputtogetherananimationandcolouredthevirtualmodel,IamkeentotryagaintocontactHasbro(perhapsbytelephoneasthisismoredirect)andtryandarrangeameetingwithamemberofthemarketingteamtodiscussmyprojectandwhat,if any,possibleusestheycanseeforit .
WordCount: 9 ,134
AppendixA
ThesearetheMELscriptsthatI usedattheriggingstageofthisproject.
I .
/ / cgTkSnaptoPivot.mel/ // / Directions/ / 1 . ) Select a target object , thenshift select / / theobject youwishto move./ / 2 . ) Execute 'cgTkSnapToPivot' .
global proccgTkSnapToPivot()
36
-
{/ /Getcurrentselect ion.string $currentSel[ ] =` ls sl `;string $base =$currentSel[0];string $target =$currentSel[1];
/ /Findtheworld locationof thebase object's pivot.f loat $basePivot[] =`xformquery worldSpacerotatePivot $base`;/ /Movethe target object .moveabsolute$basePivot[0] $basePivot[1] $basePivot[2] $target ;
II.
cgTkAttachCtrl.mel/ // / Copyright 2005 CGTOOLKIT.All rightsreserved./ / www.cgtoolkit .com/// / Description:/ // /This script wasdesigned to attachacontrol ler object/ /to a joint . After properlyorient constrainingthe joint ,/ /the script wi ll attachthe control ler into the heirarchy./ // // / Directions:/ / 1 . ) Select control ler./ / 2 . ) Shift select jo int ./ / 3 . ) Execute 'cgTkAttachCtrl; ' fromthecommandline./ /
global proccgTkAttachCtrl(){
string $sel[] =` ls s l `;string $controlObj =$sel[0];string $joint =$se l[1];
i f ( ( ! `objectType isType"joint"$sel[1] `) | | ($sel[0] =="") ){
warning"Pleaseselect a control lerobject , thenshift se lect ajoint .";
37
-
}else{
/ /Freese thetransformationsonthecontrol lerselect $controlObj;FreezeTransformations;performFreezeTransformations(0);
/ /SnapPivot to Jointf loat $worldSpaceOfJoint[ ] =`joint q a p$joint`;xformawsrotatePivot $worldSpaceOfJoint[0]
$worldSpaceOfJoint[1] $worldSpaceOfJoint[2] $controlObj;
/ /Create Nullstring $nameOfGroup=`groupem`;$nameOfGroup=`rename$nameOfGroup ($controlObj +"Null")
` ;
/ /SnapNull to Jointmoverpr$worldSpaceOfJoint[0] $worldSpaceOfJoint[1]
$worldSpaceOfJoint[2] $nameOfGroup;
/ /Orient theNull to theJointdelete `orientConstraint offset 0 0 0 weight 1 $joint
$nameOfGroup` ;
/ /Parent thecontrol object underthe nullparent$controlObj $nameOfGroup;
/ /Freeze xformsoncontrol againselect $controlObj;FreezeTransformations;performFreezeTransformations(0);
/ /Orient constrain the joint to thecurve.orientConstraint of fset 0 0 0 weight1 $controlObj $jo int ;
/ /Parent constrain the nul l into theheirarchyselect $joint;string $nameOfParentJoint[] =`pickWalkdup`;
i f ($nameOfParentJoint[0] ==$joint){
warning"Control ler wassetup, but i t wasnot parentconstrained intoheirarchy. (Possiblyroot a joint?)";
}else
38
-
{i f( !`objectType isType"jo int"$nameOfParentJoint[0]` ){
warning"Control ler wassetup, but i t wasnotparentconstrained into heirarchy. (Possibly root a jo int?)";
}else{
parentConstraint moweight1$nameOfParentJoint[0] $nameOfGroup;
}}
}}
III .
/ / Copyright 2005CGTOOLKIT.All rights reserved/ / www.cgtoolkit .com/// / DynamicSelectionScript Node/ /This is a script node, that whenembedded inyourscene f i le ,/ /wi l l al lowyouto create control lerobjects that turngreen/ /whenthe animatorselects them./ // / Directions:/ / OpentheExpressionEditor/ / Choose "Select Fil ter >ByScript NodeName"// Copytheent irecontents of this script andpaste i t into/ / the expressioneditor./ / Cl ick"Create"./ / Changethe"Execute On"Typeto "Open/Close"/ / Nowsaveyourf i le andreopen./ / Anyobjects that haveanattr named'dynSelector'/ / wil l turngreenwhenselected./ /
/ /Create thescript nodeint $se lect ionScriptJobA=`scriptJobkil lWithSceneevent"Select ionChanged""cgTkDynamicSelect ionChanged"`;
/ /Create greenshaderif( ! `objExistsdynSelectorGreen` ){string $greenShaderName=`shadingNode asShader lambert`;
39
-
$greenShaderName= `rename$greenShaderName"dynSelectorGreen"`;setAttr ($greenShaderName+".colorG") 1;setAttr ($greenShaderName+".colorB") 0;setAttr ($greenShaderName+".colorR") 0;}
/ /Loop throughandf indal l of thedynSelector objects inthescene.string $all [] =` l istTransformsgeometry`;global string $al lDynSelectors[] ;
$i=0;for ($obj in $al l ){i f ( `attr ibuteExists"dynSelector"$obj` ){$al lDynSelectors[$i] =$obj;$i++;}}
/ /Declare theprocedurethat is executedwhentheselectionchangesglobal proccgTkDynamicSelect ionChanged(){/ /Usesomestringarrays toholdtheselections.string $sel[] =` ls s l `;string $selectedDynSelectors[] ;global string $al lDynSelectors[] ;int $i =0;
/ /Loop throughandf indal l of thedynSelector objects that arealsoselected.$i=0;for ($obj in $sel){i f ( `attr ibuteExists"dynSelector"$obj` ){$selectedDynSelectors[$i] =$obj;$i++;}}
/ /Select al l of thedynSelectors andapplythe init ialShadingGroup.i f ( `s ize($al lDynSelectors) `){select r $al lDynSelectors;hyperShadeassign"init ialShadingGroup";
40
-
}/ /Select al l of theselecteddynSelectors andapply thegreenshader.i f ( `s ize($selectedDynSelectors) `){select r $se lectedDynSelectors;hyperShadeassign"dynSelectorGreen";}
/ /Reset theusers select ion.select r $se l;}
IV.
/ // / Copyright 2005CGTOOLKIT.All rights reserved/ / www.cgtoolkit .com/// / CustomPickwalker / / This script wil l al lowasetupartist to specify custom// pickwalkbehavior for iconicrepresentation./ // /
global proccgTkCustomPickWalkLoadObj(){
string $sel[] =` ls s l `;
i f ( ! ( 2 >(`s ize$sel` ) >0)){
warning"Pleaseselect oneandonlyoneobject to load. \n";}else{
button edit label ($sel[0] ) currentObjButton;
if (`attr ibuteExists"cgTkPickWalkup"$sel[0]`){
button edit enable1 label (`getAttr ($se l[0] +".cgTkPickWalkup")`) upButton;
}elsebutton edit enable1 label "Up"upButton;
if (`attr ibuteExists"cgTkPickWalkleft"$se l[0]`){
41
-
button edit enable1 label (`getAttr ($se l[0] +".cgTkPickWalklef t")` ) leftButton;
}elsebutton edit enable1 label "Left" leftButton;
i f (`attr ibuteExists"cgTkPickWalkright"$se l[0]`){
button edit enable1 label (`getAttr ($se l[0] +".cgTkPickWalkright")` ) rightButton;
}elsebutton edit enable1 label "Right"rightButton;
if (`attr ibuteExists"cgTkPickWalkdown"$sel[0]` ){
button edit enable1 label (`getAttr ($se l[0] +".cgTkPickWalkdown")`) downButton;
}elsebutton edit enable1 label "Down"downButton;
}}
global proccgTkCustomPickWalkLoad(string$direction){
string $sel[] =` ls s l `;string $loadedObject = `button query label currentObjButton`;
i f ( ! ( 2 >(`s ize$sel` ) >0)){
warning"Pleaseselect oneandonlyoneobject to load. \n";}else{
button edit label ($sel[0] ) ($direction+"Button");
i f ( !( `attr ibuteExists ("cgTkPickWalk"+$direction)$loadedObject` ))
addAttr ln("cgTkPickWalk"+$direction) dt "string"$loadedObject;
setAttr type"string"($loadedObject +".cgTkPickWalk"+$direct ion) $sel[0];
}}
global proccgTkPickWalkUp( ){
42
-
string $sel[] =` ls s l `;string $dest inationObj;
i f ( `attr ibuteExists"cgTkPickWalkup"$sel[0]`){
$destinationObj=`getAttr ($sel[0] +".cgTkPickWalkup")`;select r $destinat ionObj;
}
}
global proccgTkPickWalkDown(){
string $sel[] =` ls s l `;string $dest inationObj;
i f ( `attr ibuteExists"cgTkPickWalkdown"$sel[0]` ){
$destinationObj=`getAttr ($sel[0] +".cgTkPickWalkdown")`;select r $destinat ionObj;
}}
global proccgTkPickWalkLeft (){
string $sel[] =` ls s l `;string $dest inationObj;
i f ( `attr ibuteExists"cgTkPickWalkleft"$se l[0]`){
$destinationObj=`getAttr ($sel[0] +".cgTkPickWalkleft")` ;select r $destinat ionObj;
}}
global proccgTkPickWalkRight (){
string $sel[] =` ls s l `;string $dest inationObj;
i f ( `attr ibuteExists"cgTkPickWalkright"$se l[0]`){
$destinationObj=`getAttr ($sel[0] +".cgTkPickWalkright")` ;select r $destinat ionObj;
}}
43
-
global proccgTkSetCustomHotKeys(){
/ /Up nameCommandann"CustomPickWalkUp"c "cgTkPickWalkUp"cgTkPickWalkUpNameCommand; hotkey keyShortcut"Up"ctl name"cgTkPickWalkUpNameCommand";
/ /DownnameCommandann"CustomPickWalkDown"c
"cgTkPickWalkDown"cgTkPickWalkDownNameCommand; hotkey keyShortcut"Down"ctl name"cgTkPickWalkDownNameCommand";
/ /LeftnameCommandann"CustomPickWalkLeft"c"cgTkPickWalkLeft"
cgTkPickWalkLeftNameCommand; hotkey keyShortcut"Left" ct l name"cgTkPickWalkLeftNameCommand";
/ /RightnameCommandann"CustomPickWalkRight"c
"cgTkPickWalkRight"cgTkPickWalkRightNameCommand; hotkey keyShortcut"Right" ct l name"cgTkPickWalkRightNameCommand";
print"Yourhotkeyshavebeensetup. Youcannowuse thecustompickwalking. (CTRL+DIRECTION)";
}
/ / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / // / MAINWINDOW/// / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / /
global proccgTkPickWalker(){
i f ( `windowqex pickWalkerWindow`) deleteUIpickWalkerWindow;
/ /MainWindowwindowt it le "CGToolkit CustomPickWalkerv1.0"w610 h150
pickWalkerWindow;
/ /MenuLayoutmenuBarLayout;
44
-
menu label "Edit";menuItem label "Auto SetupHotkeys"c
"cgTkSetCustomHotKeys";setParent. . ;
/ /MainColumnLayoutcolumnLayout;
frameLayout label "Instruct ions:" labelAlign"center"col lapsable1col lapse1 borderStyle etchedIn;
columnLayout;
text "1.) Select anobject and load i t into themiddle. Then loadanobject for eachdirection.";
text "2.) Touse thehotkeys, youmust setupyourMayapreferences . Edit >AutoSetupHotkeys.";
text "3.) Press CTRL+Direct iontopickwalk.";
setParent. . ;setParent. . ;
separator w600h15;
/ /Button layoutrowColumnLayout nc3cw1200 cw2200 cw3200 ;
text " ";button enable0 label "Up"c
("cgTkCustomPickWalkLoadup")upButton;text " ";button enable0 label "Left"c
("cgTkCustomPickWalkLoadleft") lef tButton;button label"LoadaObject"c
"cgTkCustomPickWalkLoadObj"currentObjButton;button enable0 label "Right"c
("cgTkCustomPickWalkLoadright") rightButton;text " ";button enable0 label "Down"c
("cgTkCustomPickWalkLoaddown")downButton;setParent. . ;
separator w600h15;
/ /ShowMainWindowCommandshowWindowpickWalkerWindow;
}
45
-
AppendixB
ThisisthedocumentationofmycorrespondencewithHasbro
From:AlisonFarmer[mailto:[email protected]]>Sent:23February200615:15>To:Consumer_affairs>Subject:3DVisualisationof'Starscream'CybertronTransformertoy
NoteIappreciatethatthisemailmaynotbesuitableforthecustomerservicesdepartement.Ifyoucouldletmeknowofasuitableemailaddresstosenditto,orforwardittotheappropriatepeople,Iwouldgreatlyappreciateit.
Hi,I'mastudentstudyingComputerAnimationandVisualisationattheNationalCentreforComputerAnimation(BournemouthUniversity,UK).Iamcurrentlyresearchingthepossibleuseofcomputeranimationinthetoyindustry,andaspartofthisIhavecreatedavirtualmodelthe"Starscream"transformertoyentirelyin3d.Thisallowsustoanimateanexactreplicaofthetoywithagreatdealofease,similiartothe"ToyStory"filmsitcanwalk,jump,run,transformintoaplaneessentiallydoanythingthatthetoycandoinreallife,andwithworkcouldeasilybemadetolookphotoreal.
Thereasonforthiscontact,therefore,istogaugehowusefulthiswouldbeasamarketingtoolforyou,thesellersofthisproduct.Pleaseunderstandthatthisisonlyformyownproject,andnotrelatedtoanythingcommercialinanyway.Iwouldreallyappreciateitifyoucouldtakethetimetoanswerthefollowingquestions
Wouldyoufindthisusefulinanyareaofmarketingthistoy?Ifnot,whynot?
Ifyouwould,wherecanyouseeitbeingused?(egwebsites,web/TVadverts,TVseries,toyassemblyinstructionsetc)
Whatelsewouldyouliketoseedonewiththistechnology?
Ifthetimetakentoproducethisisafactorinyouranswersthetimetaken,Ihavemadeestimatesintohowlongeachstageofdevelopmenttakes(assumingonepersonisworking)
Creationofthe"virtual"toy50hours
Settingupofthetoyfortransformationandanimation10hours
Animationofthetoy(anymovementotherthantransforming)Dependantonmovement,onaveragearound20hoursworkperminuteofanimation
46
-
Colouringofthetoy10hours
Pleasefindattachedazippedarchivecontaining2stills(in.jpegformat)ofthetransformer,aswellashort10secondvideo(in.aviformat)ofaveryearlytestofthetransformerinaction.Atyourrequest,morestillsandvideoscouldeasilybecreated.
Thankyousomuchforyourtime,Yours,AlisonFarmer
From:"Consumer_affairs"To:"AlisonFarmer"Subject:RE:3DVisualisationof'Starscream'CybertronTransformertoyDate:Fri,24Feb200611:41:300000
Thankyouforyouremail.
Hasbrothankyouforinvitingthemtoconsideryouridea,however,thecompanymaintainsaverystrictpolicyagainstreviewingsuchunsolicitedproposalsfromindividualinventorsaseverythingisdevelopedinhouse.
Apologiesfornotbeingabletohelpyouonthisoccasion.
KindRegardsASKHASBRO
OriginalMessageFrom:AlisonFarmer[mailto:[email protected]]Sent:24February200612:42To:Consumer_affairsSubject:RE:3DVisualisationof'Starscream'CybertronTransformertoy
Thankyouforsuchapromptresponse.IfullyunderstandwhyHasbrotakesthestancethatitdoes.
Iwould,however,liketoconfirmthatIamnotaninventor,I'mjustastudentatBournemouthUniversityintheUK,andthatmyrequestwasonlyintheinterestsofacourseproject,asanyresponsegoodorbadfromHasbroregardingtheworkI'veproducedwouldbeveryvaluableinmyprojectreport.IfnecessaryIcanprovidealetterofconfirmationfromthecourseleaderstoprovethatthisisjustastudentproject.
Iappreciatethatthisisanunusualrequest,andhopethatyouareablehelp.
Thankyouverymuchforyourtime,Yours,AlisonFarmer
47
-
Thankyouforyouremail.
IhaveforwardedyouremailontoourDesignTeam.Ifweareabletoassistyouinanyway,Iwillcontactyouwiththeirresponse.
KindRegardsHasbroConsumerAffairs
References
Books
BROWN,P.1989.ComputersinArt, DesignandAnimation. NewYork:SpringerVerlagNewYorkInc.
CHARLES,C.BANDBROWN,K.M.1996.MultimediaMarketingforDesignFirms . NewYork:JohnWiley&Sons
DWELLY,B.GRAFT,L.MOGK,C.ANDREISBERG,D.2003.LearningMaya5|CharacterRiggingandAnimation. Canada:Alias|Wavefront, adivisionofSiliconGraphicsLimited.
KUPERBERG,M.2002.AGuidetoComputerAnimation:ForTV,Games,MultimediaandWeb . Oxford:FocalPress
MOOIJ,M.2005.GlobalMarketingandAdvertising:UnderstandingCulturalParadoxes. 2n d Ed.California: SagePublications
MOUTINHO,L.,CURRY,B.,DAVIES,F.ANDRITA,P.1994.ComputerModellingandExpertSystemsinMarketing.London:Routledge.
RITCHIE,K.,CALLARY,J.ANDBIRI,K.2004.TheArtof Rigging:Volume1. Canada:CGToolkit.
SHIRES,J. 2001.CareersinComputerAnimation . 1 s t Ed.NewYork:TheRosenPublishingGroupInc.
SLOANE,A.1996.MultimediaCommunication. Maidenhead,Berks:McGRAWHILLPublishingCompany.
48
-
WAGSTAFF,S.2004.GettingaJobinComputerGraphics:RealAdvicefromReelPeople.Alameda,CA:SYBEXInc.
YADIN,D.2001.CreativeMarketingCommunications:APracticalGuidetoPlanningSkillsandTechniques . London:KoganPageLimited
Websites
SINGH,R.2004.The ImportanceofIndustryBasedTraininginAnimation . [na]:Animationxpress. Availablefrom:http://us.indiantelevision.com/anex/y2k4/industry_issues/tony_hr_1.htm[Accessed27thFebruary2006].
[na].2004.CitreonC4sTransformerDance | CarModel: CitreonC4.[na].Availablefrom:www.carpages.co.uk/citroen/citroen_c4_13_11_04.asp.[Accessed27thFebruary2006]
[na].2005.N/A.Availablefrom:http://www.hasbro.com/[Accessed15 t hFebruary2006]
[na].2005.N/A.Availablefrom:http://www.hasbro.com/transformers/[Accessed15 t hFebruary2006]
[na].2006.BritishToyandHobbiesAssosciation. [na].Availablefrom:http://www.btha.co.uk/about_us/general_information.php[Accessed3rdMarch2006]
[na].2006.N/A.Availablefrom:http://barbie.everythinggirl .com/[Accessed1 s t March2006]
[na].2006.N/A.Availablefrom:http://www.lego.com/starwars/default.aspx[Accessed1stMarch2006]
[na].2006.N/A.Availablefrom:www.actionman.com[Accessed1 s t
March2006]
[na].2006.IKlegsforTransformerToy . Availablefromhttp://forums.cgsociety.org/showthread.php?t=323409[Accessed1 s t
March2006]
49
-
50