afarmer_innovationsreport

50
A Documentation of the Modelling and Rigging Techniques Used to Create a Virtual Toy Transformer and the Possible Applications for it as a Marketing Tool By Alison Farmer March 2006

Upload: slim

Post on 08-Sep-2015

212 views

Category:

Documents


0 download

DESCRIPTION

modelling&rigging virtual toy transformer

TRANSCRIPT

  • 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