Professional Documents
Culture Documents
TechniquesUsedtoCreateaVirtualToy
TransformerandthePossibleApplicationsfor
itasaMarketingTool
ByAlisonFarmer
March2006
ContentsPagePageNo.
Abstract2
Introduction2
ModellingtheVirtualToy3
RiggingtheVirtualToy11
SettinguptheSkeleton12
SettinguptheFK
TransformationRig15
SettinguptheVehicleRig18
TheProblemswithCreating
theIKRig18
PossibleUsesoftheVirtualToyasa
MarketingTool24
CriticalAnalysis29
AppendixA31
AppendixB38
References40
Abstract
TheobjectivethatIsetouttoachieveforthisprojectwastocreatean
accuratereplicaofatoyTransformerrobotusing3Dcomputer
modellingsoftwareandtobuildaworkingmechanicalrigthatwould
enablehimtotransform.Thisallowedmetoexplorethetechniques
usedtomodelmechanical,robotictypecharactersandtounderstand
andgainknowledgeaboutthemostaptmethodsforriggingthem.On
topofthis,Idecidedtoexplorethepossibleusesandapplicationsof
myvirtualtoymodelasamarketingtoolforthetoycompany.My
objectivesprovidedmewithaprojectthatwastobebothchallenging
andinnovative.Thepracticalsideofthisreportistargetedatan
audiencewhounderstandtheconceptsandterminologyof3Dcomputer
modellingandrigginginAliasMaya.
Introduction
ThisreportdocumentsthetechniquesandsolutionsthatIhaveapplied
tothepracticalaspectsoftheprojectandisalsoadiscussionaboutthe
theoreticalapplicationsof3Dcomputervisualizationasamarketing
strategy,inthecontextofmyvirtualtoy.Iaimtobringtolightsome
ofthemostusefulmethodsandapproachestomechanicalmodelling
andalsototacklethemanyissuesthatcanoccurwithmechanical
riggingaswellasthesolutionsthathelpedtoovercomethem.
Ifeelthatthereisanabundanceofinformationfrombooksandonthe
internetaboutthedifferentapproachestoorganicmodellingandthe
bestmethodsforsettinguphumanandcreaturerigs,butalotlessis
writtenabouthowthesepracticesareappliedtoamechanicaltype
character.Ihadrecently,however,acquiredtwobooksinaseries
releasedbytheCGToolkitcompany,namelyTheArtofRigging:
Volume1andTheArtofRigging:Volume2byKiaranRitchie.The
2 n d volumegoesintodepthabouthowtosetuparobotictypecharacter
foranimationanddiscussestheimplementationofsomecustomMEL
scriptstospeedupandimproveupontheriggingprocess.Iwillbe
describinghowIemployedthetechniquesthatIlearntfromthese
books,tothevirtualTransformermodelandalsohowIappliedmyown
knowledgeandunderstandingtosolvesomeofthemorecomplex
riggingissuesuniquetothismechanicalcharacter.
Duringworkingonthepracticalaspectsofthisprojectandbuildingthe
virtualtoy,Iwasinspiredtocarryoutresearchintothepossibleways
inwhichmyvirtualtoycouldbeusedasamarketingtoolfortheactual
toyTransformerproduct.Iwillbereviewingsomeoftheapplications
thatIconsideredforthevirtualtoyandwillalsobedocumentingmy
findingsfromresearchingintothewaysinwhichtoycompaniescan
usecomputeranimationasaneffectivemeansofmarketingtheir
products.
ModellingtheVirtualToy
Oneofthemainchallengesformewiththisprojectwastobeableto
produceanaccuratereplicaofthetoyTransformerin3D.Ithoughtthis
wouldbeausefultechniquetopracticeasittranslatestothewaythe
industrypipelineworks;amodellerreceivesthedesignsofacharacter
orenvironmentstructureandhastofollowthesedesignstoahigh
degreeofaccuracyinordertosatisfytheclient.Thisisinnovativeand
anewexperienceformeasIhaveonlyevermodelledcharactersthatI
havedesignedmyself.Thismeansthatinthemodellingstageyoucan
stillbequitefreeandlooseabouthowyouwantyourcharactertoturn
out.Ifindthatwhenyouaremodellingyourowncharacterdesign,the
designstagecancrossoverintothemodellingstageasyoubegintosee
yourcharacteremergeasathreedimensionalobject.Youcanthen
sculptatwillanychangesthatyoufeelmayimproveuponyour
originaldesign.
Withthisparticulartoycharactertheaccuracyofthemodellingwas
evenmoreimportantduetothefactthatthetoytransformsfroma
standingrobotintoafuturisticjetinitsvehiclemode(seeFigure1).
Thismeantthateachpartofthevirtualmodelhadtobeanaccurately
scaled3Dversionofthepartsthatmakeupthetoy,sothattheyall
foldupandconnecttogetherrealisticallytoformthejetvehicle.
Figure1.ThisshowsthetoyTransformer,Starscream,thatIwillberecreatingusingMayaas
the3Dmodellingsoftware.Itshowsthetoybeforetransformationinrobotmodeandafter
transformationinvehiclemode.(Imagetakenfromwww.toysnjoys.com)
Tobeabletomakethispossible,itwasnecessaryformetopurchase
theactualtoyallowingmetotakemeasurementsdirectlyoffofit.
Takingmeasurementsformymodelfrom2Dimages(forexample
drawingsandphotosfromwebsites)wouldnothaveallowedmeto
achievetheaccuracythatIhadaimedfor.Havingthetoyinfrontofme
madeitaloteasierformetoobtainanunderstandingofhowthetoy
workedandwhatpartsfoldeduptoachievethetransformation.
ItisinterestingtothinkwhetherifIhadbeenmodellingfromblue
printsoftheTransformer,wouldIhavefoundithardertocreatemy
virtualmodel?AlthoughIwouldhavehadaccurate2Ddrawingsto
workfromIthinkitwouldhavebeenalothardertobuildthe3D
modelasthereisonlysomuchyoucaninterpretfroma2Dimage.This
isanissuethatIhavebecomeawareofthroughmyownexperienceof
3Dcomputermodellingandseeingthewayfellowstudentswork.Ifind
thatitiscommonpracticetoscaninafrontandsideviewofyour
characterintoMayaandbuildyour3Dmodelbyliningitupwiththe
twoviews.Thisoftenmeansyoucanbecomesofixatedonhowwell
yourmodellinesupwiththese2Dimageplanesthatyoucanoverlook
themodelasawholeinits3Dformandrestrictyourcreativemind
fromseeingwhatlooksrightandwrong.
Ihavefoundwithrecentworkandthroughundertakingthisprojectthat
havinga3Dclaysculptureorinthiscaseanactualtoyfigurine,the
modellingprocessismadelesscomplexandthefinalresultthatyou
achieveisoftenmoresuccessfulandaestheticallypleasing.Inthecase
ofthisproject,Ithinkithasenabledmetoproducea3Drepresentation
ofthetoytoahigherdegreeofaccuracythanifIwastouseblueprints
oraccurate2Dimagestoworkfrom.However,itisnotalwaysthecase
that,asamodeller,youwillhaveamaquettetoworkfrom.Inindustry,
forexampleaclientmaynotprovidethiskindofmaterial.Itisthen
veryimportantthatthatthemodelsheetsyouhavetoworkfromare
clearandconcise.
Agoodmodelsheetincludesverytightandaccuratedrawingsthat
areusedbythemodellersasreferenceplanesinsidethe3Dmodelling
environment.RitchieK,TheArtofRigging:Volume2,2005
WecanseefromthecharacterdesigninFigure2oftheSP23robot
thatbuildingamaquetteforthemodellertoworkfromwouldbe
impracticalduetothecomplexityofthecharacter.
Thisprojectalsoofferedmethechallengeofmodellinganonorganic
character.ThiswasanewlearningexperienceasIhadonlyever
modelledorganic,creaturelikecharactersinmypreviouswork.The
wordnonorganicusedinthiscontextdescribesthemodelasbeinga
nonlivingorindustrialobject,forexampleacarorachairandthe
wordorganicreferstoanaturalorlivingbeing,suchasaplantora
person.Ihavefoundthattherearebigdifferencesinthewaysinwhich
youapproachmodellingamechanicalobjectcomparedtoanorganic
one.IhavealsolearntaboutparticularmodellingtooloptionsinMaya
thathaveassistedmeinreproducinganaccuratemodelofthe
Transformer.
Figure2.ModelsheetforSP23robot,featuredinTheArtofRigging:Volume2.Thisis
comprisedofatop,frontandsideview,aswellassomecloseupsofthecomplexroboticleg.This
givesthemodellersenoughinformationtoaccuratelyreproducetheformoftherobotin3D
modellingsoftware.
Idiscoveredthebestwaytomodeleachpartofthetransformerwasto
startwithapolygoncubeinMayaandscaleittomatchtheexact
measurementsoftheparticularpiece,thenworkthedetailintoit.This
techniqueisknownasboxmodelling.ThisisquitedifferenttohowI
wouldtacklethefirststagesofmodellinganorganiccharacter.Ifyou
weretouseacubeasthebasisofyourmeshforanorganicmodel,itis
oftenthecasethatevenafteraddingsignificantdetailthecharacter
tendstoretainaboxlikeshapetoitwhichisveryunnatural.Topology
isalsoanissuewithorganicmodelling.Itisimportantthattheedges
ofthemodelflowintherightdirectionsothatitispossibletoachieve
realisticdeformationswhenitcomestotheriggingandskinningofthe
model.Sogenerally,startingwithapredefinedshapetomodelan
organiccharacterisabadideaduetothefactthatitwillalreadycome
withanexistingtopology.Thisisnotanissuewithmechanical
modelling,aseventhoughthemodelwillberigged,theseparateparts
willnotdeforminanyway.Thisisbecausethemodelwillnotbe
boundasskintotherig.Instead,eachseparatepieceisparentedtothe
correspondingjointtoallowforanimation.Thiswillbediscussed
furtherintheRiggingchapter.
Tobeabletomakethemodelanaccuratelyscaledreproductionofthe
toyinMaya,itwasnecessaryformetoconstantlycheckthelengthsof
eachpartthroughoutthemodellingprocess,usingMayasDistance
Tool.Thiscreatestwolocatorsanddisplaysthedistancebetweenthem
totheuser.Tomeasurethelengthsoftheedgesofeachpiecetoahigh
degreeofaccuracy,Iwouldsnaponelocatortothevertexatthestart
oftheedgeIwishedtomeasureandtheotherlocatortothevertexat
theendofthatedge(seeFigure3).
Figure3.DistanceToolThisisusedaccuratelybysnappingthestartlocatortothevertexatthe
pointyouwishtomeasurefrom,thensnappingtheendlocatortothevertexatthepointyouwish
tomeasureto.Mayawilldisplaythelengthinunitsbetweenthesetwolocators.
Toworkindetailtothemodelitisnecessarytosplityourgeometryto
increasethenumberofedgesandfacesonthepolygonssurface.This
enablesyoutomakeextrusionsattheappropriateplaceonaparticular
partofyourmodel.Tocreateaccurateandevenedgesandfacesonthe
partsofthetoymodel,IutilisedtheSnapToMagnetsbuttonin
MayasSplitPolygonToolsettings.Oncethisoptionisturnedon,you
8
cancontroltheNumberOfMagnetsandtheMagnetTolerance
attributes(seeFigure4).Bysettingthemagnettoleranceto100%
meansthatwhereveryouclickontheedgethatyouwishtosplit,the
splitwillhappenattheclosestmagnetpoint.IftheNumberofMagnets
is1(asinFigure4)thentherewillbeonemagnetpointalongthat
edgeanditwillbeatanequaldistancefromthestartandendpointsof
thatparticularedge,i.e.itwillsithalfwayalongit.Increasingthe
numberofmagnetswillallowforsplitstooccuratincreasingnumbers
offractionaldivisions,e.g.settingthenumberofmagnetsto2will
enabletheedgetobesplitintothirds.Byusingmagnetsitistherefore
possibletocreateevensplitsaroundanobjectatarangeofdifferent
fractionaldivisions.Ifoundthisaidedmyabilitytoreproducethe
detailineachofthetoypartswithahighlevelofaccuracy.
Figure4.SplitPolygonToolUsingthistoolwiththe'SnapToMagnets'optionboxcheckedon,
allowsyoutocontrolwherethisparticulartoolwillsplitanedge.ByadjustingtheNumberof
MagnetsandsettingtheMagnetToleranceto100%,enablesyoutosplittheedgeatarangeof
fractionaldivisions.
Ihavefoundthatwhenmodellinghardedged,industrialsurfaces,itis
importanttoconsiderthenormalsoftheedgesonthemodel.Itis
possibletoachieveverydifferentlookstoasurfacebysofteningor
9
hardeningthenormals(seeFigure5).Byselectingthedesirededges
andmakingthenormalsAllHardwillmaketheedgesappearsharpin
shadedmode.BymakingthenormalsAllSoftwillsoftentheir
appearanceandeffectivelysmooththesurface.
ThroughoutthemodellingofthistoyTransformer,Ihadnotneededto
considerthepolycountofthefinalmodelasitwasmyaimtoproduce
ahighlydetailedaccuratereproductionofthetoy.Iwasworkingto
achievethesamelevelofdetailthatisheldintheactualtoyproduct.
AsIhaveprogressedwiththisproject,however,Ihavebeguntothink
aboutwhatthis3Dvisualizationofthetoycouldbeusedfor.In
researchingintothetoyindustryandthewaystoycompaniesmarket
theirproducts,Ihaverealisedsomepossibleapplicationsformy
virtualmodel.Iwillbediscussingthisatalaterstageinthisreport.
Figure5.Soften/HardenNormalsItispossibletoachievedistinctlydifferentlookstoamodel
bysofteningorhardeningthenormals.Wecanseefromthisimagethatmakingthenormals
hardgivestheedgeasharplookandmakingthenormalssoftgivesthemodelamuchsmoother
appearance.
MostoftheusesforthisvirtualtoythatIhavearrivedatwouldrequire
ittobeofamuchlowerlevelofdetailthanwhatIhaveachievedfor
mymodel.Anexampleofthiswouldbeifitweretobeusedona
websiteinaFlashanimationorgame.Althoughmymodelistoo
10
detailedforsuchapplicationsasthese,itwouldbeaneasyprocessto
reducethemodelintermsofpolycountandremovealotofthemodels
detailtomakeitsuitableforsuchuses.
ThefinalcompletedmodeloftheTransformercanbeseeninrobot
mode,inFigure6andinvehiclemode,aftertransformation,inFigure
7.
Figure6.ThisisthefinishedmodeloftheTransformerinrobotmode,showingthefrontand
backviews.
11
Figure7.ThisisthefinishedmodeloftheTransformerinVehiclemode,showingthefrontand
backviews.
RiggingtheVirtualToy
SimilartothewayIhadonlyeverbuiltorganicmodelsbeforethis
project,Ihadalsoonlyeverriggedorganiccharacters,sosettingupa
mechanicalmodeltobeanimatedwasaninnovativechallengeforme.I
hadrecentlyacquiredsomeveryinterestingandusefulbooksthatteach
thetheoryandpracticesofriggingusedbyprofessionaltechnical
directors.Thebooksarecalled,TheArtOfRigging:Volume1and
TheArtofRigging:Volume2,writtenbyKiaranRitchie,Jake
CalleryandKarimBiriandreleasedbyCGToolkit.Thesebookswere
initiallypurchasedtoassistwithmyMajorProjectandwhilesome
topicscoveredwillsignificantlyhelpmewiththisproject,thereare
alsomanynewideascoveredthatIwouldliketheopportunityto
experimentwith.InTheArtofRigging:Volume2,theprocessof
settinguparigforacomplex,roboticcharacter(theSP23robotas
showninFigure2)isdiscussedindetail.Havingworkedthroughboth
booksandtutorialscovered,Ihavefeltencouragedtoapplythenew
skillsandtechniquesthatIhavelearntontoamechanicalmodelofmy
own.Thisprojectoffersmetheopportunitytodothisandtoimprove
andfurthermyunderstandingoftheriggingprocess.
Notonlywastherethechallengeofsettinguparigforamechanical
modelbutIalsohadtothinkabouthowitcouldbebuilttoallowfor
12
thevirtualtoytotransform.A
verysuccessfulexampleofa
transformableriginactioncan
beseenontheCitroenC4
televisioncommercial(see
Figure8).Seeingthisadvert
inspiredmetowanttoresearch
intomethodsofdeveloping
transformingrigsandhence
thisbeingoneofthereasons
whyIhavechosentobuilda
virtualtoyTransformer.Using
aTransformertoywasalso
idealformyprojectasit
Figure8.TheCitroenTransformingCarThisTV
meantIdidnotneedto
commercialwasproducedbySpyFilmsin
considerhowthe
Toronto,withanimationundertakenbya
VancouverbasedVFXcompany,TheEmbassy.
transformationwouldwork(as
thetoymakershaddesigned
thisalready),thusallowingmetohavemoretimetofocusonbuilding
thecomplexrig.
ThemainissueIhadtoconsiderwhenriggingtheTransformer,was
thattherigneededtocopewiththreedifferentstates;robotmode,
transformationmodeandvehiclemode.Idecidedthatthebestwayto
dothiswouldbetobuildthreeseparaterigs,oneforeachmode.This
wasnecessarybecausetherewereverydifferentcontrolsandsetups
neededforthedifferentstates.Itwasmuchmorepracticalanduser
friendlytohavethesethreeseparaterigsetupsinsteadofattemptingto
incorporateallthecontrolsneededfortherobot,thetransformation
andthevehicleontoonesingleskeleton.
WhentheTransformerisinrobotmodetheanimatorwouldfindit
mucheasiertoanimatewitharigsetupwithinversekinematics(IK)
controls.Theanimatorcanselectthesecontrolstomovethelegsand
armsandsetkeysonthem,forexampletoanimatetheTransformer
walking.Unfortunately,duetothewayinwhichthetoyisbuilt,itwas
difficulttoaccomplishaworkingIKrigandIwilldiscussthereasons
forthisatalaterstageinthisreport.Forthetransformationstateof
thevirtualtoy,itwasmoresuitabletohavearigsetupwithforward
kinematics(FK).TheFKrigismademorepracticalfortheanimatorby
thecreationofslidersthatcancontrolhowmucheachpartofthe
13
modelhastransformed.Thisallowstheanimatortosetkeysonthese
slidercontrolstoanimatethetransformation.Forthelaststate,therig
onlyneededtobeabletohandlethetranslationandrotationofthejet.
Theanimatorcanselectonemaincontrolwhichcanbeusedtocontrol
thejetsmovementandwhichalsoholdsattributestocontroltherotary
motionsofthewingflapsandtheguns.Toswitchbetweenthedifferent
rigsasthevirtualtoytransforms,forexamplefromrobotmodeto
transformationmode,thetransformationskeletonwouldneedtobe
positionedtomatchtherobotskeletonspositionandthevisibilityof
therobotrigwouldbeswitchedoffattheframewherethe
transformationbegins.
SettinguptheSkeleton
Itisveryimportantwhensettinguptheskeletonforamechanical
characterthatthejointsareplacedaccurately.
Riggingmechanicalcharacters(orvehicles)requiressomeextra
attention.Youmaybefamiliarwithplacingjointsbyhand.Thisworks
finefororganiccharacters,butitcanpresentaproblemfor
mechanicalrigs. Rit chi e K,2005. Pg 101.
Thejointsshouldbeplacedatthepivotpointsofeachpieceandifthey
areplacedslightlyoffcentreitcancausethemechanicalpartsofthe
modeltolookwobblyandbrokenwhenanimated(seeFigure9).To
ensurethatIwasplacingmyjointsattheexactcentreofthe
Transformersmechanicaljoints,IusedMayassnappingtool.Using
thisIwasabletosnapthejointstoavertexthatwasattheexactcentre
ofrotationforthatparticularpiece.Forsomepartsofthemodel,
however,itwasnotpossibletodothis,i.e.iftherewasnovertexlying
attheexactcentreofrotation.Anexampleofwherethisoccurredisin
placingthejointfortheknee.
14
Figure9.AccuratelyPlacingJoints.ThisshowshowIhavesnappedthejointstothepivotpoints
oftheseparatepartsoftheTransformertoytoensurepreciseplacementandpreventtheleg
fromlookingbrokenandwobblywhenanimated.
Figure10.ThisshowshowthecgTkSnapToPivotscriptwasusedtoplacethejointsaccurately,
inthecorrectpivotposition.
15
Fortheknee,Ineededtosnapthejointtothecentreoftheknees
geometry.Firstly,IcentredthepivotonthekneepieceusingtheMaya
commandCentrePivot.Ithenneededtosnapthejointtotheknees
pivotandtodothisIwasabletouseascriptthatwassuppliedwith
TheArtofRigging:Volume2,calledcgTKSnapToPivot(see
AppendixA.I).Thisisafairlysimplescriptthatallowsyoutoselecta
baseobjectandatargetobjectandonrunningthescriptitwillquery
theworldspacelocationofthebaseobjectspivotandmovethetarget
objecttothatposition.WecanseefromFigure10,thatthekneejoint
hasbeensnappedtothepivotofthekneesgeometryasfromselecting
themboththemanipulatorslaydirectlyontopofeachother.
Afteraccuratelyplacingthejoints,Ineededtochecktheorientations
oftheiraxestomakesurethattheyarelinedupwiththeorientationof
thepivotsofeachpartofthemodel.Thisisjustasimportantas
placingthejointsprecisely,asthejointmaybesittingatthecorrect
pivotpointbutifitsaxesarenotorientedcorrectly,itwouldmeanthat
allthreeaxeswouldneedtoberotatedtoachievethedesiredrotation
foreachpartofthemodel,whichisverydifficultandimpracticalfor
ananimator.Iftheaxesarelinedupcorrectlywecanjustselectthe
desiredaxistorotatearoundandthegeometrywillmoverealistically.
InordertorigtheTransformersothatitmovesaccordingtoits
mechanicalstructure,Ineededtoconsiderwhichaxesareusedand
whatmotionisrestrictedateachjoint.
Inmanycases,mechanicaljointsarerestrictedtoonefreeaxis.This
isthecasewithalmosteverymovingpartonyourcar(thingslike
wheels.Wipers,doors,seatbacks,steeringwheeletc).Whenrigging
thesekindsofobjects,itisimportantthatyoudonotgivetheanimator
theoptionoftwistingthepieceinthewrongaxis.Jointsthathave
limitedaxesshouldhavetheirunusedaxeslockedandhiddenfromthe
animator. Rit chi e K,2005, pg 119.
16
Figure11.TheSkeletonThisshowsthebonelayoutforthe
Transformerrig
The
skeletonjointlayoutcanbeseeninFigure11.
final
SettinguptheFKTransformationRig
OnceIhadaccuratelyplacedthejointsandcorrectlyorientedthem,I
decidedtosetuptheFKTransformationrigfirst.Iinitiallyneededto
checkthatthevirtualmodelcouldfolduplikethetoytotransforminto
thejet.Ifoundthisaverythrillingpartoftheproject.Itwasexciting
torotateeachpartofthevirtualtoyTransformerandtothenhavean
entirelydifferentlookingmodelthatcorrectlyresembledthejetthat
therealtoytransformsto.Itwasquiteasatisfyingprocessandmust
resemblehowachildwouldfeelplayingwiththetoy.Thisismost
likelythemainreasonforthistoyssuccessanditsmainsellingpoint.
Tosetuptheanimationrigforthisskeleton,toallowittobeanimated
inanFKfashion,IdecidedtoapplysomeofthetechniqueswhichIhad
learntfromTheArtofRigging:Volume2tutorialDVDandutilise
someofthemelscriptstomakesettinguptherigfasterandmoreuser
friendly.Insteadofcreatingcurvestouseascontrollers,awayof
usingmechanicalcharactersgeometrydirectlyascontrollerobjectsis
explained.Theideaisthattheanimatorcanclickonthevariousbody
partstomanipulatetherig(seeFigure12).
17
TosetuptheTransformersbody
partsascontrolobjects,Iusedamel
script(cgTKAttachControl)provided
withthebook(seeAppendixA.II).
Thisspeduptheprocessofcreating
thecontrollerobjectsforthe
Transformer.Itworksbyselecting
thepartofthevirtualmodels
geometryyouwishtomakea
controllerandthenshiftselecting
theunderlyingjoint.Onexecution
of thescriptanorientconstraint
Figure12.Thisshowshowthebody
relationshipissetupbetweenthe
partsofthetransformerareusedas
controllerandthejoint.Itwillalso
controlobjects fortheFKrig.
parentconstrainthecontroller
objecttothejoint.Indoingsoitwillmakesurethatthecontroller
objectsrotationaxesarestillproperlyalignedtothejointandthatits
transformsaresettozero.ImadeuseofanotherMELscripthere,
calledcgTKDynSelectorwhichaddsadynSelctionattributetoeachof
thecontrollerobjects(seeAppendixA.III).Thescriptthenworksby
changingthecolourofthecontrolthathasbeenselected.Thisisuseful
fortheanimatortoclearlyseewhichpartoftherobottheyare
affecting.
Thissetup
workednicely
formostpartsof
theTransformer,
however,some
piecesonthe
modelarevery
smallandquite
hardforan
animatorto
selectan
animate,for
example,the
Figure13.ThisshowsthepartsoftheTransformerthatwouldbehard partsthatattach
forananimatortouseascontrolobjectsastheyareverysmalland
theTransformers
hiddenbetweenotherpartsofthemodelsgeometry.
upperlegand
18
armtoitstorso
(seeFigure13).
Idecidedawayofgettingaroundthisissuewouldbetoaddsomefloat
attributestotheupperarmandleggeometrythatcontroltherotations
ofthejoins.IthenconnectedtherotateXchannelsofthearmandleg
connectorjoints,totheirrespectiveattributesontheupperarmandleg
pieces.Thiswasachievedusingtheconnectioneditortocreatealink
betweenthem.IusedthistechniqueonotherpartsoftheTransformers
bodytomaketherigmucheasiertoposeforananimator.Tocontrol
theguns,forexample,theanimatorsimplyneedstoselectthetorsoand
inthechannelsboxforthetorsocontrolthereareattributestorotate
thegunstotheredesiredposition.
Tomakethetransformationrigevenmoreuserfriendlyforthe
animator,Idecidedtouseamelscript(providedbyTheArtof
Rigging:Volume2book)thatsetsupapickwalkingabilitybetween
thecontrollerobjects.Thescript,cgTKPickWalkercreatesanewset
ofhotkeysthattheanimatorcanusetopickwalkthroughtherigs
controls(seeAppendixA.IV).
Ihavemadesurethatallunusedattributesinthechannelboxhave
beenlockedandhiddenfromtheanimatorforeachcontroller.Atthis
stage,theanimatorcouldtaketherigandsetkeysonthecontrollersto
animatetheseriesofrotationsneededtotransformtherobot.The
transformationstepscanbeseeninFigure14.Iftheanimatorwas
unawareofhowtotransformmyvirtualmodel,thenjusthavingtheFK
rigasitwasatthisstagewouldmakeitextremelyhardforthe
animatortokeythetransformation.Tosolvethisissueandtomakethe
rigusabletoanybody,Idecidedtoaddsomecustomfloatattributes
thatcontroltowhatextentdifferentareasoftheTransformerhave
transformed.ThesearesetupusingMayasSetDrivenKeyoption.
Soanexampleofthiswouldbetosetuponeofthearmstotransform,I
createdafloatattributeonthetorsocontroller,nameditTransform
19
Arm,andsetittorange from
0to10.Usingthesetdriven
keyoptioninMaya,Iloaded
theTransformArmattribute
asthedriverandloadedallof
thecontrolobjectsthatmake
upthearmintothedriven
section.Ithensetkeys
betweenthe0to10valueof
theTransformArmattribute
tocontroltheorderthateach
partofthearmfoldedupin.
Thisenablesananimatorto
Figure14.InstructionSheetforTransformer
slidebetweenvaluestomake
toy.Thisshowstheseriesofrotationsthatneed
thearmtransform.Isetup
tohappeninorderforthetoytotransform.
similarattributesandkeysfor
theotherpartsofthe
Transformersothatan
animatorcansetkeysonthesesliderstocontrolwhichpartofthe
Transformeristransformingateachframe.InFigure15,wecansee
theFKTransformationriginactionandthelistofattributesattached
tothetorsocontrol.
Figure15. ThisshowsthesequenceofthevirtualTransformer,transformingintothejet.Thisis
controlledusingtheattributesattachedtothetorsocontrolandslidingbetween0and10.When
theseattributesareat0,notransformationhashappened(asinStep1).Whentheyaresetto10
thevirtualtoyisfullytransformed(asinStep7).
20
SettinguptheVehicleRig
TherigfortheJetvehiclethatthevirtualtoytransformsintodidnot
needtoconsistofmanycontrols.Itneededtoallowfortranslationand
rotationofthejetandtoalsoallowforcontrolofthegunsandtheside
wings.Idecidedthatthemostsuitablesetupforthisparticularrigwas
tocreateacontrollerobjectintheformofaNurbscurvethatthe
animatorwouldselecttomoveandrotatethejet.Ithenadded
attributestothiscontrolobjectthatcouldbeusedassliderstocontrol
therotationofthegunsandtheopeningandclosingofthesidewing
flaps.Idiscoveredanefficientandsimpletechniqueforlinkingthe
attributesonthecontrollerwiththeappropriatemotionsthatIrequired
fromthegunandthewings.Thiswastocreatealinkbetweenthe
appropriatejointsrotationchannelandthecorrespondingattributeon
thecontrollerbyusingtheconnectioneditor.Thismeantthatwhenthe
attributeswereanimatedthejointsrotatedintheaxisthattheyhad
beenlinkedto.ThesetupforthisrigcanbeseeninFigure16.
Figure16.TheVehicleRig.ThisshowstherigsetupfortheTransformerinvehiclemode.We
canseetheattributesthatareattachedtothemaincontroltoallowforanimationoftheleftand
rightgunsandwingflaps.
21
TheProblemswithCreatingtheIKRig
The use of inverse kinematics to drive the motion of a characters joint
chainprovidesaneasymorepracticalsetupforananimatortocontrol.
It allows for a more intuitive way of positioning your character than
with forward kinematics, in particular for goaldirected movements.
The reason for this is that an animator can focus on the goal they wish
the joint chaintoreachandnothavetoconsidertherotationof eachof
these joints in the chain to reach the desired position, as an IK handle
will calculate this for them. This setup works effectively on organic
characters, where the joints can move relatively freely to reach a
desiredpose.ThetoyTransformer,however,is built in suchawaythat
that the movements of each of its parts are restricted, often to one
rotationalaxis,duetoitsmechanicalnature.
It is evident that setting up inverse kinematics for a mechanical
character is not a medial
task, as discussed in the
chapter on Rigging the
IK Leg, for the SP23
robots leg, in The Art
ofRigging:Volume2.
The robots leg is
problematic because of
its mechanical nature.
Using IK on a leg with
so many mechanical
constraints
proves
extremely difficult. The
problem is that Mayas
IK solvers do not
support joint limits. That is, an IK solver will attempt to twist a joint
in any direction in order to solve the joint chain. Rit ch ie K, The Ar t of
Ri ggi ng: Vol um e 2, 20 05
22
and which caused the IK leg controls to make the leg rig behave in an
odd,nonuserfriendlynature.
Figure 17, shows the SP23 robots leg rig setup. Three IK handles
were placed along the chain of joints that runs from joint A to the tip
joint. This system of IK handles could be utilised as the joints from A
to D all rotated about the same axis. This meant that rotating the IK
handle at its end effector at Joint D in the correct axis, caused the rest
of the joint chain to SP23robotsleg,featuredinTheArtofRigging:
follow suit and rotate Volume2.pg121
about the corresponding
axes. The main problem with this mechanical leg rig occurred when
translating the controller cube, as the union and rotor joints did not
follow and resulted in the leg appearing to be broken. The techniques
used to resolve this problem involved the use of constraints between
the rotor and union joints and the controller cube. The problem with
setting up inverse kinematics on my Transformer was that, unlike with
the SP23 robots leg, the joints along the main leg chain were each
restrictedtodifferentrotations.ThiscanbeseeninFigure18.
Figure18.Thisshowsthedifferentrotationalrestrictionsofthejointsalongthe
Transformersleg.
After attempting some different setups for the leg, I managed to create
an IK setup, which worked to an extent. The joints never rotate about
the wrong axes, and by moving the foot controller, the animator can
pose the leg into position, although this sometimes leads to an
23
Figure19.ThisshowstheIKsetupthatgavemethebestresultswiththeTransformer
leg,althoughthissetupisstillnotidealforananimatortoworkwith.
This seemed the most suitable action to take as there are never more
than three joints along the Transformers leg rig that rotate about the
same axis. I then created a null group and snapped its pivot to the first
joint at thehip,where the start of the first IK handleresided. I created
acontrollerobjectandsnappedthistotheankle.Ithenparentedallthe
24
IKhandlestothenullgroupandparentedthistothelegcontrolobject.
ThetypeofmotionthatIattainedwiththiscanbeseeninFigure20.
Figure20.ThisshowshowtheIKlegsetupreactstomovingthecontrollerobjectindifferent
directions.
TheIKsetupseemstoworkwell,untilthecontrollerismovedtoan
extremeandsomeflippingoccursattheknee.Alsomovingthecontrol
aboutinmorethanoneaxissometimesmovesthelegintoan
unexpectedposition.Theflippingofthekneecouldbefixedusinga
polevectorconstraintandanyunexpectedmovementscouldbe
controlledbyimplementinganIK/FKswitch.Thiswouldallowthe
animatortoposethelegusingtheIKrigandtothenswitchtoanFK
rigtoobtainmorecontroloverthepositionoftheleg.Whenusingan
IK/FKswitchthefinalpositionofthejointsisdeterminedbyblending
betweentheIKposeandtheFKpose.
Thearmsweresetupwithinversekinematicsbutbyusingtwo
controllers,oneplacedattheshoulderandoneatthehand.Byrotating
theshouldercontroltheanimatorisabletoposetheupperarm.Aswith
thelegaseparateIKhandlewascreatedbetweeneachjointalongthe
armchain.Fortheupperarmcontrol,anullgroupwascreatedand
25
snappedtothepivotoftheshoulderjoint.ThetwoIKhandlesthatare
usedtocontroltheupperarmwereparentedunderthisnullgroup.I
thenparentedthisgrouptotheshouldercontrolobjectandrestricted
the
Figure21.Thisshowstheposesthatcanbeachievedbyanimatingtheupperarmcontrol.
channelsonthissothattheanimatorcouldonlyrotateitintheXandZ
axestocorrespondwithhowthejointsatthispartofthearmcanmove.
BecauseIhadlimitedtherotationofthesejointsintheattributeeditor
(asIhaddonepreviouslywiththelegjoints),thismeantthatrotating
thecontrolintheZaxisonlyaffectedthejointintheupperarmthat
thismotionwaspossiblefor.Likewise,byrotatingthecontrollerinthe
Xaxis,thecorrectjointwouldrespondtothisactionandallowfor
rotationoftheupperarmaboutX.Figure21showshowtheupperarm
controlaffectstherig.
Thelowerarmcontrolwassnappedtothejointatthebaseofthehand.
Withthelimitsofthejointsrotationsrestricted,asimilarsetupwas
accomplishedwiththelowerarm.Anullgroupwascreatedand
snappedtotheelbowjoint.TheIKhandlesthatwereplacedbetween
thejointsinthelowerarmwerethenparentedtothisnullgroupand
againthiswasparentedtothelowerarmcontrollerobject.Wecansee
howthelowerarmrigreactstotranslatingthelowerarmcontrol
26
backwardsandforwardsinFigure22.
Figure22.Thisshowstheposesthatcanbeachievedbyanimatingthelowerarmcontrol
Duetotimeconstraints,IwasunabletofullycompletetheIKrigsetup
forthetransformerandimplementanIK/FKswitch.Ialsowishto
developtherigfurtherandmakeitmoreuserfriendlyatalaterstage.
IthinkitisimportanttorealisethattheTransformerhasbeendesigned
tobeatoyandwhenachildplayswiththerobot,he/sheiseffectively
rotatingeachpartofthetoyatatimetoposeit,inanFKfashion.Of
course,thisdoesnotmeanthatiftheTransformerweretobedesigned
fordigitalanimationthatthedesignerwouldconsidersuchissuesas
rigging.TheSP23robotusedinTheArtofRigginghadbeen
designedwithdigitalanimationinmind,butpurelyforthepurposesof
beingabletocoversomecomplexriggingissues.
Inmostrealworldcases,thedesignsareconceivedwithlittleorno
regardforpracticalitywhenitcomestodigitalanimation.Ifthiswere
thecase,designerswouldbelimitedandtheircreativitybecomes
stagnant. Rit ch ie K,2 005, p g3.
PossibleusesoftheVirtualToyasaMarketingTool
DuringtheprocessofcreatingmyvirtualtoyTransformerandsetting
itupforanimation,Ibeganthinkingabouthowthis3Dvisualization
couldbeusedbythetoycompanytomarkettheirproduct.Computer
visualizationisusedasamarketingtoolbysomedesignfirms,in
particulararchitecturaldesigncompanies.
27
Animationforarchitects,makesuseofthecomputergeneratedmodel
andthecomputersprocessingpowertocreateanimationwalkthroughs,
whichcangreatlyenhanceaclientsunderstandingandspeedupthe
approvalprocess C urt i s B.C ha rl es , 1996, pg 71.
Itworksasasuccessfulmarketingapproachforthesecompaniesasit
givesaclearerimagetotheclientofwhatthefinalconstructionwillbe
like.Withthisprincipleinmind,Ithoughtabouthowthevirtual
Transformercouldactinsuchasawayastopromoteitstoycounter
part.
Inanattempttogainsomedirectfeedbackontheextenttowhichmy
3Dcomputermodelcouldbeappliedasamarketingtool,Isentan
emailtothetoycompany,Hasbro,whomaketheseparticular
Transformertoys(seeAppendixB).Aftersomedeliberationasto
whetherIwasastudentoraninventor(thecompanydoesnotdeal
directlywithoutsideinventorsasthetoydesignsareallcreatedin
house),myemailwasforwardedontothedesignteamatHasbro.Isent
withitsomerendersofmytoymodelandalsoashortvideoclipofthe
transformer,sotheycouldseewhatIhadachieved.Mymainquestion
wastofindoutwhethertheywouldconsiderusingsuch3D
visualizationinanyareaofmarketingtheirproduct.Asofyet,Ihave
notreceivedanyfurtherresponsefromthecompanyregardingmylast
emailtothem.
IcameupwitharangeofdifferentpossibleusesofmyownthatI
thoughtwouldbebeneficialtothetoycompany.ThetoyTransformer
productcamewithasetofcarefullydrawnoutinstructionsthatgavea
stepbystepguidetotransformingthetoyfromrobotmodetovehicle
mode(seeFigure14).Oneapplicationofmyvirtualtoycouldbeused
asameansforcreatingthediagramsforsuchinstructionmanuals.With
myvirtualtoysetupforanimation,itisrelativelyquickandsimpleto
renderastillimageofthetoyateachstageofthetransformation
process.Iconsideredthistobebeneficialtothetoycompanyasit
wouldenablethemtoproducehigherqualityinstructions,without
beinglabourintensiveortimeconsuming.
Togaugethelengthoftimeitwouldtaketoputtogetherasimilarset
ofinstructions,Iresolvedtogoaheadandrecreatesomeusingmyown
3Dmodelandposingitforeachconsecutivestageofthe
transformation.IrenderedoutclearimagesoftheTransformer,using
28
MentalRayandmadeuseofitsambientocclusiontexturenode.I
pluggedtheoutputofthisnodeintothecolouroutputofthematerial
onmymodel.Theambientocclusionnodeeffectivelylightensthelight
areasanddarkensthedarkareasoftheshaderatrendertime.By
increasingitssamplesto100,Iwasabletorenderclear,sharp,high
qualityimagestouseasthediagramsfortheinstructionpage.Ithen
createdthebasicstructurallayoutinPhotoshopandlayeredallmy
renderedimagestogethertocreatethefinalinstructionpage(see
Figure23).Theinstructionstookapproximately6hoursofworkto
obtainmyrendersandcreatethestructureinPhotoshop.Iwasstill
unsureatthisstage,whetherthecompanywouldfindthisparticular
applicationofanyusetothem.
TheHasbroTransformerwebsitehasalinktothetelevision
commercialthattheyarecurrentlyairingtoshowofftheirTransformer
toyproducts.Theadvertwasclearlylowbudgetandwouldhavebeen
29
Figure23.ThisistheInstructionpagethatIrecreatedusingmy3Dvirtualmodelasthediagram
images.
considerablyquickandeasytomake.Some2Danimationwasusedina
shortsectionofit,butthiswasofafairlylowstandard.Thebulkof
theadvertshowedthetoyproductbeingposedbyhandandshowedoff
itsnew,excitingfeatures.Iwasinterestedtofindoutwhetherthe
companymayfindauseforcomputeranimationintheiradvertsasthis
couldsignificantlyimprovethequalityoftheircommercialsandmay
inturnaidinthemarketingoftheirtoys.Notonlywouldtheuseof
goodqualitycomputeranimationimproveupontheaestheticsofthe
advert,itseemsthatittendstoappealtothemodernmarketandmay
actatsuccessfullygrabbingtheirattentionmoresothanjustdisplaying
theactualtoyfigure.
30
Whenplayingwithatoyachildisineffectusinghis/herimagination
tobringthetoytolifeandpretendthatthetoytalks,walksandemotes.
Thisconceptledmetoindulgeuponthenotionthatcomputer
visualizationandanimationcouldbeanextremelyeffectivemarketing
toolforthetoyindustry,asitisinessenceusedtobringinanimate
designstolife.Ifachildwastoseeatoyanimatedandmovinglikea
livingbeing,itmayexcitethemmoretotheideaofowningtheactual
toy.Thisdoesnotnecessarilyhavetooccuronatelevision
commercial.Thetoycompanycouldmarkettheirproduct,using
computeranimation,bymeansofothermediasuchasdevelopinga
computergameorcreatingaFlashbasedinteractivewebsite.One
particularwebbasedapplicationformyvirtualtoycouldbeasan
interactivefeature,bywhichitwouldbepossibletocontrolthe
Transformerandmoveitabouttotransformit
TodiscusstheideasthatIhadcomeupwithandtogainaprofessional
opiniononthem,IgotintouchwithMikeMolesworth,alecturerfor
theInteractiveMediaProductioncourseatBournemouthUniversity.He
gavemeaninterestinginsightintothefactorsthattoycompanies,like
Hasbro,considerwhenmarketingatoyandhowmostofthemwillgo
aboutit.Itbecameapparenttomeaftergoingthroughthedifferent
possibleapplicationsformyvirtualtoy,thatcostisalwaysamajor
considerationforacompanyinanymarketingstrategy.Particularly
withtoycompanies,itseemsthattheywillalwaysoptforcheap
marketingsolutionsastheyknowthatmosttoysaresoldonafadbasis
andthemarketchangessoquicklywithtrends.Theyoftendonotwant
toinjectmuchtimeandmoneyintotheseproductsasthereshelflifeis
oftenveryshortwithtoycrazescomingandgoingcontinuously.
Thisisnotthecaseforalltoycompanies,however,particularlythe
largermoreestablishedcompanies.Legohavebeenaverysuccessful
toycompanyandtheirproductstayscontinuouslypopularwith
children,throughoutthechangingtrends.Theycanaffordtospend
moneyandputeffortintoutilisingnewandupcomingmarketingideas.
Anexampleofhowtheyhaverecentlyusedcomputeranimationasa
tooltoselltheirproductiswiththerecentStarWarsLegocomputer
game(seeFigure24).Legohopethatbyplayingthegameand
enjoyingit,peoplewillwanttogooutandpurchasetheStarWarsLego
toys,astheywillappealtothemmore.Theyalsomaywanttobuythe
toystobeabletorecreatewhattheplayedinthegame.
31
Figure24.TheStarWarsLegovideogameisanexampleofasuccessfulapplication
ofcomputervisualizationandanimationformarketingtheLegotoy.
32
Figure27.ThisisthehomepageoftheBarbiewebsite.ThewebsiteusesFlashinsuchawaythat
thesiteismademoreappealingtochildren.Theusercanclickonthedifferentobjectswithinthe
roomtolinkthemtodifferentpartsofthesite.Barbieisanimatedtoguidetheuserateachnew
link.(Imagetakenfromhttp://barbie.everythinggirl.com)
33
CriticalAnalysis
Throughundertakingthisproject,Ihavebeenabletogainaninsight
anddevelopanunderstandingforthetechniquesandmethodsusedin
modellingmechanicalcharactersandinsettingthemupforanimation
purposes.Thepracticalaspectsofthisprojecthaveprovidedmewith
interestingchallengesandtheideasandtechniquesthatIhaveexplored
wereallinnovativeformeinthesensethatIhadonlyeverbefore
learntaboutandpractisedorganicmodellingandrigging.Itwasgood
practiceformetolearnaboutmodellinganaccuratereplicaofthetoy
model.Ifeltthiswasavaluableskilltolearnassuchaccuracyand
precisionmayberequiredofmeinthefuturewhenworkingona3D
virtualmodelforaclientinindustry.
ThefinalmodeloftheTransformerthatIproduced,Ifeelwasa
success.Ibelievethatoneofthemainreasonsforthemodelssuccess
wasduetothefactthatIhadthe3DtoyTransformertoworkfromas
reference.Beingabletolookaroundtheactualtoyandhaveathree
34
dimensionalviewofit,madetranslatingittoahighdegreeofaccuracy
inMayamuchmorefeasiblethantryingtoobtainthislevelof
precisionfrom2Dmodelsheets.Withfuturemodellingprojects,Ifeel
thatitwouldbeaworthwhilepracticetocreateasculptureor
maquetteofthecharactertobemodelledbeforeattemptingtobuildit
inany3Dcomputermodellingsoftware.Thisshouldenablemeto
createmorecomplexmodelstoahigherstandardaestheticallyandalso
improveuponthebelievabilityofmycharactermodelsas3Dbeings.
EachtimeIworkonacreatingavirtualmodelinMaya,myabilityat
modellingimprovesandIamcontinuallygainingmorepracticeatthis
skill.Thetechniqueslearntintheprocessofmodellingthistransformer
havebeendocumentedinthisreport,inthehopethattheywillbeof
usetoanyonecreatingroboticorothernonorganicmodelsinthe
future.
AfteracquiringandworkingthroughbothvolumesinTheArtof
Riggingseries,Iwaskeentoapplythenewapproachestoriggingthat
Ihadlearntabouttoacharactermodelofmyown.Modellingthe
Transformer,providedmewiththeopportunitytodothis,butalso
presentedmewithmorecomplexriggingissuessuchasmakingan
animatable,transformingrig.Throughcomingupwithsolutionsofmy
owntosolvesomeoftheriggingproblemsuniquetotheTransformer,I
havegainedfurtherconfidenceinmyabilityasacharacterrigger.I
haveaclearerunderstandingofsettinguptheskeletonandthe
importanceofcorrectlyorientingjointsaswellastheneedfor
accuratelyplacedjointsformechanicalcharacters.Ialsohaveabetter
graspofsettingupinversekinematicsonjointchainswherethejoints
havelimitedrotationswhichanewconcepttomebeforethisproject.
Duetothetimeconstraintsofthisproject,Iwasunabletodevelopthe
TransformersIKriginrobotmodeasfarasIhadintendedto.IfIhad
plannedmytimemoreproficiently,Iwouldhavebeenabletosetthe
IKriguptobemoreanimatorfriendly.Todothis,Iwouldadd
constraintstothecontrollerobjectssotheanimatorcanonlykeythe
correctchannelsandalsoimplementanIK/FKswitch,toallowfor
morecontrolwhenposingtherobotvirtualtoy.Inowunderstandthe
importanceofplanningaheadtorealisewhatissuesmayoccurwithina
projectandtoleaveadequatetimetocomeupwiththesolution.Thisis
avaluablelessonthatIcancarryovertootherprojectsthatIworkon.
35
AlthoughIdidnotwriteanyofmyowncustomMELscriptsforthis
project,ithashelpedmetogainknowledgeaboutthisareaofMaya.I
haveamuchclearerideaofhowitcanbeusedtosolveotherwise
unsolvableproblemswithinMaya.BecomingmorefamiliarwithMEL
scriptinginthisprojecthasopenedawindowformetogoaheadand
utiliseMELasatooltosolvepossibletechnicalissueswithmyMajor
Project.
TheresearchthatIcarriedoutintotheextentthat3Dcomputer
visualizationandanimationisusedbytoycompaniesasameansto
markettheirproducts,allowedmetoreflectuponthedifferentpossible
applicationsformyvirtualtoyasamarketingtool.Ifoundit
interestingtodiscussmyideaswithMikeMolesworth,andhavecome
awayfromthisprojectwithadeeperinsightintohowcomputer
animationisusedoutsideoftheFilmandGamesindustries.Iamkeen
toexpandonthisprojectandfinalisetherigforthevirtual
TransformersothatIcangoaheadandcreateananimationwithhim.
OnceIhaveputtogetherananimationandcolouredthevirtualmodel,I
amkeentotryagaintocontactHasbro(perhapsbytelephoneasthisis
moredirect)andtryandarrangeameetingwithamemberofthe
marketingteamtodiscussmyprojectandwhat,ifany,possibleuses
theycanseeforit.
Word Coun t: 9, 134
AppendixA
ThesearetheMELscriptsthatIusedattheriggingstageofthis
project.
I.
/ /
//
//
Di re cti ons
//
//
//
36
{
/ /G e t cur ren ts el ect io n.
s tri ng $cu rr ent Se l[ ] =`l s sl `;
s tri ng $b as e = $cu rren tS el [0];
s tri ng $t arge t =$c urr entS e l[ 1];
/ /Fi nd th ew orld l oca ti on of th eb ase ob jec t' s pi vot.
f loa t $b as eP iv ot[] =`x form que ry wo rl dSp ace r otat ePi vo t $bas e`;
/ /Move t he targ et ob je ct.
move abs ol ut e$ bas ePi vot [0] $b ase Pi vot[ 1] $b as e Pi vot[2 ] $tar get ;
II.
c gT kAt tac hCtr l. mel
//
//
//
//
//
De scri p ti on:
//
/ /Th is sc rip t was desi gn ed to att ach aco ntr ol le r ob je ct
/ /t o aj oi nt. Af ter pr op e rl yor i en t c on s tr ain in gt he joi nt ,
/ /t he s crip t wi ll attac h th e con trol l er i nto th e hei rar ch y.
//
//
//
Di re cti ons :
//
//
//
l in e.
//
gl ob al pr oc cgTkA ttac hC trl ()
{
s tri ng $s el [] =`ls s l `;
s tri ng $c on tr ol O bj =$s el [0];
s tri ng $j oi nt = $s e l[ 1];
i f (( ! `ob je ctT yp e isT ype " joi nt" $s el [1] `) ||( $s el [0] =="" ) )
{
w arnin g "Pl eas es el ect a c ont rol l er obj ect , the ns hi ft se le ct a
j oin t." ;
37
} els e
{
/ /Fr ees e th et rans fo rmat i ons on th ec on tr ol le r
s el ect $ con trol O b j;
Fr ee zeTr ans for mati on s ;
pe rf ormF ree zeT ran sf ormati on s (0) ;
/ /Sn ap Pivo t t oJo in t
f loa t $wor l dSpa ceO f Join t[ ] =`j oi nt q a p $joi nt `;
xf orm a ws r otat ePi vo t $ worl dSp aceO f Joi nt [0]
$w orld Sp ace O fJoi n t[1] $wo rl dSp ace Of Joi nt [2 ] $con tr ol O bj;
/ /Cre ate Null
s tri ng $n am eO fG ro up =`gr oup em` ;
$n ameO f Gr ou p=` ren am e$n ame O fG rou p ($con tr ol Ob j +"Nul l ")
`;
/ /Sn ap Nul lt oJo in t
move rp r$w orl dSp ace Of Joi nt [0 ] $ worl dSp ac eO fJoi n t[1]
$w orld Sp ace O fJoi n t[2] $n ame O fG roup ;
/ /O r ie nt th eNu ll to th eJ oin t
del et e ` ori en tCons tr ai nt off se t 0 00 we igh t 1$j oin t
$n ameO f Gr ou p` ;
/ /Pa ren t th ec ont rol ob jec t un der the n ull
pa ren t $con tr ol Ob j $n am eO fG r oup ;
/ /Fr ee ze xform s on con trol aga in
s el ect $ con trol O b j;
Fr ee zeTr ans for mati on s ;
pe rf ormF ree zeT ran sf ormati on s (0) ;
/ /O r ie nt cons tr ai n the j oin t to th ecu rve .
or i en tC ons tra in t of fs et 00 0 wei gh t1 $c on tr ol O bj $jo in t ;
/ /Pa ren t con st rain th e nul l in to th ehe ir arc hy
s el ect $ joi nt ;
s tri ng $n am eO fPar en tJoi n t[] =` pi ck Walk dup `;
i f ($n ameO fP are nt Join t[ 0] ==$j oin t)
{
w arnin g "Cont rol l er was s etup ,bu ti t was not p aren t
c ons tra in ed int o hei rar ch y.( Poss ib l yr oot a joi n t?) ";
} els e
38
{
i f( !`ob je ctT yp e isT ype "jo in t" $n am eO fPar en tJoi n t[ 0]` )
{
w arnin g "Cont rol l er was s etup ,bu ti t was not
pa ren t cons t rain ed in to h eir arc hy. (Po ss ib ly root ajo in t?) ";
} els e
{
pa ren tCons tr ai nt mo we igh t1
$n ameO f Pare nt Joi nt [0] $n ameO f Gr ou p;
}
}
}
}
III .
//
//
//
/ / D yn ami cSe le cti on S cri pt Node
/ /Th is is a scri p tn ode ,th at when embe dd ed in you r sce ne fi le ,
/ /wi l lal l ow you to cr eate con tr ol le rob je cts th at tu rn gr een
/ /wh ent he ani mat or sel ec ts th em.
//
/ / Di rec ti ons :
//
//
//
//
//
//
//
//
//
//
/ /Cre ate th es cri pt n od e
i nt $se l ect io nSc rip tJo bA =`s c ri pt Job k il lWi th S cen e even t
"S el ect io nCh anged "" cgTkD ynami cS el ect io nChan ged "`;
/ /Cre ate gre en sh ader
i f( ! `ob jE xis t sd ynS el e ctor G ree n ` )
{
s tri ng $g ree nSh ade rName =`s h ad in gNo de a sSh ader l ambert `;
39
$gr ee nSh ade rName = `r ename $gr ee nSh ade rName "dyn Sel ec tor Gr ee n" `;
s etA ttr ($ gree n Sh ad er Name +" .col orG " ) 1;
s etA ttr ($ gree n Sh ad er Name +" .col orB ") 0;
s etA ttr ($ gree n Sh ad er Name +" .col orR ") 0;
}
/ /Loop th ro ugh an dfi nd al l of th ed ynSel ec tor obj ec ts i nth es cen e.
s tri ng $a ll [] =` li stT ran sf orms geom et ry`;
gl ob al s tri ng $al lD ynS el ect ors [] ;
$i =0;
f or ($ob j in $al l )
{
i f (`a ttr ib u teE xis t s"d ynS el ect or" $o bj` )
{
$al l Dyn Sel ec tor s[ $i ] = $ob j;
$i ++;
}
}
40
}
/ /S el ect al l of t he sel ec ted d ynSel e ctor s and appl y th egr ee ns had er.
i f (`s i ze( $s el ec ted DynS el ec tor s) `)
{
s el ect r$s e le cte dDyn Sel ec tor s;
hy perS had e ass i gn "dynS el ec torG r een " ;
}
/ /Res et th e use rs sel ect io n.
s el ect r$s e l;
}
IV.
//
//
//
//
//
//
//
//
//
gl ob al pr oc cgTkCus tom Pi ckWal kLoa dO bj ()
{
s tri ng $s el [] =`ls s l `;
i f (! ( 2>(` s iz e$s el ` )>0 ))
{
w arnin g "Pl eas es el ect on e an d on l yo ne obj ec tt o l oad.\ n";
} els e
{
bu tt on edi t la bel ( $s el [0] ) cu rre nt Ob jB u tton ;
i f (`a ttr ib u teE xis t s" cgTkP ic kWalku p" $s e l[ 0]`)
{
bu tt on edi t enab l e1 l ab el (`g etA ttr ($ se l [0] +
" .cgTk Pi c kWalk up" )`) upB ut ton ;
} els e
bu tt on edi t enab l e1 l ab el "Up" upBu tton ;
i f (`a ttr ib u teE xis t s" cgTkP ic kWalkl e ft" $s e l[ 0]`)
{
41
42
s tri ng $s el [] =`ls s l `;
s tri ng $d est in ati onO b j;
i f (`a ttr ib u teE xis t s" cgTkP ic kWalku p" $s e l[ 0]`)
{
$d es ti nati on O bj = `ge tAtt r ($s el [0 ] +" .cgTk Pi ckWal kup" )`;
s el ect r$d es ti nat i onO b j;
}
}
gl ob al pr oc cgTk Pi c kWalkD own ()
{
s tri ng $s el [] =`ls s l `;
s tri ng $d est in ati onO b j;
i f (`a ttr ib u teE xis t s" cgTkP ic kWalkd own" $s el [0]` )
{
$d es ti nati on O bj = `ge tAtt r ($s el [0 ] +" .cgTk Pi ckWal kd own ")` ;
s el ect r$d es ti nat i onO b j;
}
}
gl ob al pr oc cgTk Pi c kWalkL eft ()
{
s tri ng $s el [] =`ls s l `;
s tri ng $d est in ati onO b j;
i f (`a ttr ib u teE xis t s" cgTkP ic kWalkl e ft" $s e l[ 0]`)
{
$d es ti nati on O bj = `ge tAtt r ($s el [0 ] +" .cgTk Pi ckWal kl eft ")` ;
s el ect r$d es ti nat i onO b j;
}
}
gl ob al pr oc cgTk Pi c kWalkR igh t ()
{
s tri ng $s el [] =`ls s l `;
s tri ng $d est in ati onO b j;
i f (`a ttr ib u teE xis t s" cgTkP ic kWalk ri ght "$s e l[ 0]`)
{
$d es ti nati on O bj = `ge tAtt r ($s el [0 ] +" .cgTk Pi ckWal kri gh t")` ;
s el ect r$d es ti nat i onO b j;
}
}
43
na meCommand an n "Cus tomP ick Walk Up" c "cgT kPi ckWal kUp"
44
45
AppendixB
ThisisthedocumentationofmycorrespondencewithHasbro
From:AlisonFarmer[mailto:alifarmer12@hotmail.com]
>Sent:23February200615:15
>To:Consumer_affairs
>Subject:3DVisualisationof'Starscream'CybertronTransformertoy
NoteIappreciatethatthisemailmaynotbesuitableforthe
customerservicesdepartement.Ifyoucouldletmeknowofasuitable
emailaddresstosenditto,orforwardittotheappropriate
people,Iwouldgreatlyappreciateit.
Hi,
I'mastudentstudyingComputerAnimationandVisualisationatthe
NationalCentreforComputerAnimation(BournemouthUniversity,UK).
Iamcurrentlyresearchingthepossibleuseofcomputeranimationin
thetoyindustry,andaspartofthisIhavecreatedavirtualmodel
the"Starscream"transformertoyentirelyin3d.Thisallowsusto
animateanexactreplicaofthetoywithagreatdealofease,
similiartothe"ToyStory"filmsitcanwalk,jump,run,transform
intoaplaneessentiallydoanythingthatthetoycandoinreal
life,andwithworkcouldeasilybemadetolookphotoreal.
Thereasonforthiscontact,therefore,istogaugehowusefulthis
wouldbeasamarketingtoolforyou,thesellersofthisproduct.
Pleaseunderstandthatthisisonlyformyownproject,andnot
relatedtoanythingcommercialinanyway.Iwouldreallyappreciate
itifyoucouldtakethetimetoanswerthefollowingquestions
Wouldyoufindthisusefulinanyareaofmarketingthistoy?Ifnot,
whynot?
Ifyouwould,wherecanyouseeitbeingused?(egwebsites,web/TV
adverts,TVseries,toyassemblyinstructionsetc)
Whatelsewouldyouliketoseedonewiththistechnology?
Ifthetimetakentoproducethisisafactorinyouranswersthe
timetaken,Ihavemadeestimatesintohowlongeachstageof
developmenttakes(assumingonepersonisworking)
Creationofthe"virtual"toy50hours
Settingupofthetoyfortransformationandanimation10hours
Animationofthetoy(anymovementotherthantransforming)
Dependantonmovement,onaveragearound20hoursworkperminuteof
animation
46
Colouringofthetoy10hours
Pleasefindattachedazippedarchivecontaining2stills(in.jpeg
format)ofthetransformer,aswellashort10secondvideo(in.avi
format)ofaveryearlytestofthetransformerinaction.Atyour
request,morestillsandvideoscouldeasilybecreated.
Thankyousomuchforyourtime,
Yours,
AlisonFarmer
From:"Consumer_affairs"<Consumer_affairs@Hasbro.co.uk>
To:"AlisonFarmer"<alifarmer12@hotmail.com>
Subject:RE:3DVisualisationof'Starscream'CybertronTransformer
toy
Date:Fri,24Feb200611:41:300000
Thankyouforyouremail.
Hasbrothankyouforinvitingthemtoconsideryouridea,however,
thecompanymaintainsaverystrictpolicyagainstreviewingsuch
unsolicitedproposalsfromindividualinventorsaseverythingis
developedinhouse.
Apologiesfornotbeingabletohelpyouonthisoccasion.
KindRegards
ASKHASBRO
OriginalMessage
From:AlisonFarmer[mailto:alifarmer12@hotmail.com]
Sent:24February200612:42
To:Consumer_affairs
Subject:RE:3DVisualisationof'Starscream'CybertronTransformer
toy
Thankyouforsuchapromptresponse.IfullyunderstandwhyHasbro
takesthestancethatitdoes.
Iwould,however,liketoconfirmthatIamnotaninventor,I'mjust
astudentatBournemouthUniversityintheUK,andthatmyrequest
wasonlyintheinterestsofacourseproject,asanyresponsegood
orbadfromHasbroregardingtheworkI'veproducedwouldbevery
valuableinmyprojectreport.IfnecessaryIcanprovidealetterof
confirmationfromthecourseleaderstoprovethatthisisjusta
studentproject.
Iappreciatethatthisisanunusualrequest,andhopethatyouare
ablehelp.
Thankyouverymuchforyourtime,
Yours,
AlisonFarmer
47
Thankyouforyouremail.
IhaveforwardedyouremailontoourDesignTeam.Ifweareableto
assistyouinanyway,Iwillcontactyouwiththeirresponse.
KindRegards
HasbroConsumerAffairs
References
Books
BROWN,P.1989.ComputersinArt,DesignandAnimation.New
York:SpringerVerlagNewYorkInc.
CHARLES,C.BANDBROWN,K.M.1996.MultimediaMarketingfor
DesignFirms.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:Understanding
CulturalParadoxes.2 n d Ed.California:SagePublications
MOUTINHO,L.,CURRY,B.,DAVIES,F.ANDRITA,P.1994.
ComputerModellingandExpertSystemsinMarketing.London:
Routledge.
RITCHIE,K.,CALLARY,J.ANDBIRI,K.2004.TheArtofRigging:
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:Real
AdvicefromReelPeople.Alameda,CA:SYBEXInc.
YADIN,D.2001.CreativeMarketingCommunications:APractical
GuidetoPlanningSkillsandTechniques.London:KoganPageLimited
Websites
SINGH,R.2004.TheImportanceofIndustryBasedTrainingin
Animation.[na]:Animationxpress.Availablefrom:
http://us.indiantelevision.com/anex/y2k4/industry_issues/tony_hr_1.ht
m[Accessed27thFebruary2006].
[na].2004.CitreonC4sTransformerDance|CarModel:CitreonC4.
[na].Availablefrom:
www.carpages.co.uk/citroen/citroen_c4_13_11_04.asp.[Accessed27th
February2006]
[na].2005.N/A.Availablefrom:http://www.hasbro.com/[Accessed
15 t h February2006]
[na].2005.N/A.Availablefrom:http://www.hasbro.com/transformers/
[Accessed15 t h February2006]
[na].2006.BritishToyandHobbiesAssosciation.[na].Available
from: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.Availablefrom
http://forums.cgsociety.org/showthread.php?t=323409[Accessed1 s t
March2006]
49
50