Naar de Oogst-overzichtssite

Meer tutorials door Oogst

Tutorial voor een basic huisje

deel 4: animatie

voor 3d Studio MAX 4 tot en met 8

door Joost 'Oogst' van Dongen

Lukt de tutorial niet, zitten er fouten in of heb je iets anders te melden? Mail dan naar tsgoo@hotmail.com

laatste update: 15 april 2006

Inhoudsopgave:
Deel 1: het modellen

Deel 2: het texturen

Deel 3: de belichting

Introductie
Een camera
Simpele camera.target-animatie
Time configuration
Animation controllers
Keys
In- en Out-interpolatie
Path constraint
Trajectories
Andere animatiesoorten
Renderen
Afsluiting van deel 4: animatie

Introductie

In dit laatste deel van deze tutorial-serie over 3d Studio MAX gaan we een animatie van ons huisje maken.

Kennis van animeren in MAX bestaat zo ongeveer uit drie onderdelen:
-animatie-technieken kennen: weten hoe je dingen laat bewegen en hoe je dat instelt, hierover gaat deze tutorial;
-automatiseringsmechanismen kennen: weten hoe je dingen zo instelt dat bewegingen vanzelf kloppen, met onder andere links, look at constraints en bones, hierover heb ik nog een andere tutorial geschreven waarnaar aan het einde van deze tutorial een link staat;
-gevoel voor beweging: dit is het belangrijkste en hiervoor bestaan amper tutorials, want je moet het leren door het veel te doen en door veel animaties te bekijken.

Maar nu eerst verder met ons huisje. We gaan gewoon verder met het eindresultaat van deel 3. Mocht je die niet gedaan hebben of liever mijn file gebruiken, dan kun je hem hier downloaden. We gaan eerst een camera neerzetten en instellen, want dat hebben we tot nog toe nog niet gedaan. Vervolgens gaan we de target van die camera animeren, in eerste instantie met standaard PositionXYZ, vervolgens met het handigere bezier posistion. Tenslotte zullen we onze camera animeren met een path constraint. Je bent dus gewaarschuwd.

Een camera

Een camera is een gewoon object, dus je vindt hem in het create menu, zie hier rechts. Net als bij lampen zijn er de target-versie en de gewone versie. Meestal wordt de target-versie gebruikt en dat gaan we nu ook doen.

Zet de Target camera nu op een leuk punt in de scene, zo dat de target in het huis staat en de camera er buiten, de exacte positie is nog niet van belang. Een camera is niet meer en niet minder dan een simpele manier om in te stellen waar de viewport naar moet kijken, wat voor type lens er gebruikt moet worden, en hoe een camera eventueel moet bewegen tijdens een animatie.

Nu we een camera neer hebben gezet, willen we graag door die camera heen kunnen kijken. Klik daarom met de rechter muisknop op het woord perspective in de perspecive viewport, zie hier links. Ga in het menu dat nu verschijnt naar views en je krijgt een overzicht van alle mogelijke views. Hier staat nu je camera, selecteer hem dus. De viewport wisselt nu naar je camera. In nieuwe versies van 3D Studio MAX staat Views bovenaan in plaats van onderin het menu zoals hier links.

In de lijst van mogelijke views staan overigens ook de meeste lampen, omdat die eigenlijk vrijwel gelijk zijn aan camera's en dus ook bruikbaar zijn als camera.

In de viewport zie je dat er in plaats van perspective nu camera01 staat, zoals we kozen. Wanneer je nu de camera of diens target gaat verplaatsen, zul je zien dat de viewport telkens ververst wordt met de nieuwe positie, waardoor het gemakkelijk werkt om de camera goed te zetten.

Voor een goed beeld van hoe je camera nou precies staat, is het nuttig om show safe frame aan te zetten. Deze optie bevindt zich ook in het menu hier links. Nu wordt de grootte van de viewport gelijk aan de verhoudingen van je render-resolutie. Staat de render-resolutie op 640*480, dan wordt nu dus ook in deze viewport een verhouding van 4:3 gekozen. Dit is belangrijk, want anders kom je er bij het renderen opeens achter dat de view toch net iets breder was dan je dacht, omdat je misschien op breedbeeld wilde renderen.

Kies nu een leuke camera-positie, zoiets als hier onder helemaal links.

Ga nu naar de instellingen van je camera, in het modifier-paneel, je ziet nu het menu hier rechts.

Helemaal bovenaan staan lensinstellingen. Voor mensen die weleens een wat duurder fototoestel of duurdere camera hebben vestgehouden zullen de termen bekend voorkomen. De lensafstand bepaalt de mate van perspectief. Dit klinkt vreemd, maar hierboven zijn enkele resultaten ervan te zien. Gewone fototoestellen hebben vaak een lensafstand tussen de 30mm en 50mm. Dat is het plaatje helemaal links, met in dit geval 43mm. In het midden is een lens te zien met een extreem perspectief, bijna zoals een visoog-lens, 10mm in dit geval. Helemaal rechts is een orthographic projection te zien, wat gelijk is aan een oneindige lensafstand. Er is nu helemaal geen perspectief, zoals in oudere spellen als Simcity 2000 en Diablo 1 en 2 te zien is.

De rest van de instellingen van de camera zijn voor omgevings-effecten, camera-effecten en clipping, en nu niet relevant.

Probeer wat met de lens-instellingen tot je door hebt wat ze doen en stel ze vervolgens weer in op 43mm en zit de camera goed als startpunt, want we gaan aan het animeren.

Simpele camera.target-animatie

De meest simpele en ongecontroleerde manier van animeren is door middel van de auto key-knop, die je hier links blauw omlijnd kunt zien. Deze knop heette in vorige MAX-versies de animate-knop en was ongeveer dubbel zo groot. Druk hem in.

Zet nu in de tijd-balk de huidige frame op 80, zoals je hierboven kunt zien. De tijd-balk is de balk met de rode pijl en het groen omlijnde deel geeft aan op welke frame de scene nu staat. Een animatie is, net als op tv, video, divx en bioscoop, ingedeeld in frames. Frames zijn losse plaatjes en wanneer er maar genoeg per seconde van zijn, lijkt het net alsof het echt beweegt. Hierover later meer.

Verplaats nu de target van je camera naar een ander punt in je scene op enige afstand van zijn beginpunt. Je ziet nu als je het goed hebt gedaan een donker blokje (een zogenaamde key) verschijnen in de tijds-balk op frame 0 en één op frame 80. De auto key-functie heeft er nu voor gezorgd dat je verplaatsing is opgeslagen. Druk nu opnieuw op auto key om dat uit te zetten en druk op play. De play-knop vind je, net zoals de knoppen om te spoelen, rechtsonder in het plaatje hierboven. Bekijk nu het resultaat en zie dat je target beweegt. Zoals je ook kunt zien, is maar in één viewport je animatie te zien. Klik daarom op een andere viewport als je die wilt zien bewegen. Vooral de camera01-viewport is erg belangrijk. Zet de animatie weer stop.

Zet nu auto key weer aan, zet de tijdsbalk op frame 40 en zet je target op weer een andere positie. Nu verschijnt er een key op frame 40. Druk weer op play en zie hoe je target al een ingewikkeldere beweging maakt.

Bekijk je animatie nu eens goed. Zoals je kunt zien maakt 3d Studio volledig automatisch een vloeiende beweging tussen de door jou ingestelde keys. Niet alleen wordt er vloeiend bewogen tussen de frames, ook is het zo dat er geen hoek maar een bocht gemaakt wordt bij de key op frame 40. Dit heet interpolatie en MAX biedt de mogelijkheid om dit zeer uitgebreid in te stellen. Hier komen we later nog op terug en de mogelijkheden ervan zijn zeer indrukwekkend.

Time configuration

Voor we nu de serieuze animatie gaan maken, gaan we eerst even kijken naar de time configuration, die je onderin beeld vindt, hier rechts rood omlijnd. Hier kun je alles over de lengte van je film en van de frames instellen. Klik er dus op om het menu dat je hier onder kunt zien te openen.

Het eerste dat je nu in moet stellen is de frame rate, linksboven in het menu. Dit is het aantal frames dat in een seconde zit. Hier geldt: hoe meer frames, hoe vloeiender de film en hoe exacter je de animatie kunt maken. Maar dit geldt slechts tot op zekere hoogte. Een geoefend oog kan het verschil tussen 24 en 30 frames per seconde (FPS) nog wel zien, maar eigenlijk is het allebei goed. 15 Frames per seconde is echter duidelijk te weinig. Standaard gebruikt MAX 30 frames per seconde, maar dit is niet overal standaard. Televisie, bioscoop en video hebben niet allemaal dezelfde waarde. Ik zelf gebruik altijd 24 frames per seconde, wat ook in de bioscoop gebruikt wordt. Stel dit ook nu in: kies custom en vervolgens FPS=24.

Nu naar animation, dit is de lengte van je film. Bij FPS=24 duurt één seconde 24 frames en dus één minuut maar liefst 1440 frames. We gaan nu voor 10 seconde, dus stel in: start time=0; end time=240. Overigens hoeft een film niet op frame 0 te beginnen, de start time mag ook een ander getal zijn, ook onder 0. Length en frame count zijn andere manieren om hetzelfde in te stellen.

Erg belangrijk om nu te weten is dat de wijzigingen onder animation de positie van de huidige keys niet aanpassen. Frames die buiten de animatie-duur vallen blijven gewoon bestaan en worden gewoon goed berekend. Wat op frame 40 staat, blijft op frame 40 staan. Dit laatste in tegenstelling tot bij het wijzigen van de frame rate. Als je dit verandert, berekent MAX automatisch voor je hoeveel frames een animatie nu moet duren om hetzelfde aantal seconden te duren. Ook je keys worden hierop aangepast. Wil je de tijdsduur veranderen, dus alles moet bijvoorbeeld dubbel zo lang duren, dan kan dat door op re-scale time te drukken en het daar in te stellen.

Laatste belangrijke onderdeel van dit menu is playback. Je instellingen hier zijn alleen van belang voor de viewports, niet voor de render. Hier zie je bijvoorbeeld de knop active viewport only, voor het geval je in alle vier de viewports tegelijk je animatie wilt zien bewegen. Dit gaat wel zwaar ten koste van de snelheid, behalve als je een erg goede videokaart hebt. Wanneer je real time aan hebt staan, laat MAX automatisch frames weg als je computer het niet meer bij kan benen om zo het aantal seconden dat de animatie duurt te laten kloppen en met speed kun je dan instellen op welk tempo er afgespeeld wordt. Zet je echter real time uit, dan wordt elke frame berekend en getoond en kun je ook de direction veranderen om achterstevoren (reverse), of op-en-neer-gaand (ping-pong) af te spelen.

De instellingen in de time configuration kun je dus altijd nog achteraf veranderen, waarop MAX alles automatisch voor je aanpast, voor zover nodig. Helaas geldt dit slechts tot op zekere hoogte. Ze wordt de snelheid van particles in particle systems (iets dat niet in deze tutorial aan bod komt) niet automatisch aangepast en kunnen er afrondingsfouten plaatsvinden omdat MAX niet goed met halve frames kan werken.

Animation controllers

Nu we het voorwerk hebben gehad, kunnen we serieus gaan animeren. Selecteer daarvoor de target van je camera weer en ga nu naar een nieuw paneel: het motion-paneel, hier links rood omcirceld. We gaan in eerste instantie kijken naar de parameters, hier links blauw omcirceld, trajectories komen later aan bod. 3d Studio maakt nu een duidelijk onderscheid tussen drie onderdelen van beweging: verplaatsen, draaien en vergroten/verkleinen. Bij een camera is alleen verplaatsen van echt belang, omdat draaien gebeurt door naar de target te kijken en vergroten/verkleinen weinig zin heeft.

MAX heeft per type een heleboel manieren om beweging op te slaan, te bewerken en weer te geven. Per type beweging kun je één zo'n zogenaamde controller selecteren.

Op dit moment is een verkeerde controller gekozen voor ons (hoewel het in oudere versies van MAX misschien wel goed is), dus klik op position: position XYZ en vervolgens op de groen omcircelde knop (assign controller). Nu verschijnt er een lange lijst met controllers voor verplaatsing, hier boven rechts. Op het moment is position XYZ geselecteerd, een methode die de X-, Y- en Z-posities volledig los van elkaar behandeld. Hierdoor worden er als je een object verplaatst met auto key altijd drie losse keys aangemaakt, eentje voor X-positie, eentje voor Y-positie en eentje voor Z-positie. Dit willen we nu niet, want dat is behoorlijk onhandig in veel gevallen. Kies daarom bezier position, wat hetzelfde is als position XYZ, alleen zijn de keys nu voor heel de positie en niet voor slechts één as per key. Bij het wisselen van controller gaan delen van informatie in de voorgaande controller verloren, dus de animatie die je tot nu toe had gemaakt kan nu weg zijn.

Keys

Alle vormen van animatie in 3d Studio werken met keys. Een key is een stukje informatie over animatie bestaande uit een aantal onderdelen. Keys zijn netjes genummerd op volgorde in de tijd per onderdeel, dus de position keys zijn apart genummerd van de rotation keys. Een key bestaat uit drie onderdelen:
-time: dit is het moment waarop de key geldt, gewoon het nummer van een frame;
-values: dit zijn de waarden die de key opslaat, in dit geval gewoon de X-, Y- en Z-positie;
-In en Out: dit is informatie over de overgang tussen twee frames: of er een vloeiende beweging moet zijn en hoe die dan moet zijn.

Keys worden niet alleen gebruikt voor simpele beweging, want vrijwel alles in MAX kan geanimeerd worden. Met keys kun je ook de doorzichtigheid van een material animeren, of de lens-afstand van een camera. Een voorbeeld van een key voor een bezier position zie je hier rechts.

We gaan nu eerste de keys die er misschien nog staan van de animatie die we al gemaakt hebben verwijderen. Klik daarvoor met de rechter muisknop op een key en kies delete key. Hier links zie je een key op frame 80 staan. In oudere versies van MAX zijn keys overigens rondjes in plaats van rechthoeken. Ook kun je door te slepen alle keys tegelijk selecteren, er met de rechter muisknop op klikken en dan vervolgens op delete selected keys klikken, om zo meerdere keys te verwijderen in één keer.

Druk, nu alle keys weg zijn, weer op auto key. Zet op frame 0 de target van de camera in het rechter raam. Zet de target op frame 70 bij de nok, boven de ramen, en zet op frame 150 de target in het linker raam. Zet tenslotte op frame 200 de target in de deur van het huis en klik weer op auto key om dat uit te zetten. Nu staan er, als alles goed is gegaan, keys op frames 0, 70, 150 en 200.

We willen ook nog graag een key op frame 100 op dezelfde plek als de key van frame 70. Druk daarom op shift op het toetsenbord en houdt shift ingedrukt. Sleep nu met de linker muisknop de key van frame 70 naar frame 100 en er wordt een kopie gemaakt. Shift is in 3d Studio de knop voor kopiëren.

Nu willen we op frame 240 een key met dezelfde positie als de key op frame 200. Hiervoor gebruiken we een andere methode. Zet de tijds-balk op frame 240. Klik nu in het motion-paneel op de knop position onder create key, hier rechts rood omcirceld. Er wordt nu een key aangemaakt op de huidige frame, dus op frame 240. Druk op play om je animatie tot nu toe te bekijken.

In het plaatje hier rechts zie je ook nog de groen omcircelde position-knop, naast rotation en scale. Deze knop geeft aan dat in het menu er onder de keys voor position te zien zijn. Wil je de keys voor rotation zien, dan druk je daarop. Maar dat willen we nu niet.

In- en Out-interpolatie

Nu we de keys ongeveer goed hebben staan, gaan we eens kijken naar de overgangen tussen de frames, de interpolatie er tussen. Hiervoor bevat MAX per key twee waarden: de In-waarde en de Out-waarde. De In-waarde is voor de beweging naar de key toe, dus in de frames ervoor, de Out-waarde is voor de beweging van de key af, dus in de frames erna.

MAX kent hiervoor zeven soorten, zes in oudere versies van MAX, die je hier links kunt zien. Welke standaard gekozen wordt is verschillend per versie van MAX, maar om te beginnen zetten we bij alle keys zowel de In als de Out op de bovenste, hier links wit geselecteerd. Dit kun je doen door op het grote icoon te klikken, waarna de keuzemogelijkheden omhoog komen. Snel wisselen tussen keys kan met de pijltjes naar links en naar rechts naast het nummer van de key.

Bekijk nu je animatie weer en je zult zien dat alles vloeiend is, maar dat de camera niet stil blijft staan tussen de frames 70 en 100 en ook niet tussen de frames 200 en 240, terwijl die toch op dezelfde positie zouden moeten zitten. Dit komt door de nu gekozen interpolatie-methode en die gaan we daarom eens nader bekijken.

MAX biedt heel wat mogelijkheden om animaties in beeld te brengen, naast het gewone afspelen. Voor een goed beeld van de In- en Out-interpolatie gaan we daarom nu positie-grafieken bekijken. Zorg ervoor dat je geen enkel object meer geselecteerd hebt en ga daarna naar Graph editors>>new track view... (zie hier rechts).

Je komt nu in de zogenaamde Track view, een schematische weergave van animaties. Maak de track view groot, zodat je alles in beeld hebt. Je moest zorgen dat je geen enkel object geselecteerd had om heel de track view te krijgen. Anders krijg je hem namelijk alleen te zien voor het nu geselecteerde object.

Links in de track view zie je nu ongeveer hetzelfde als hier links. Dit is een overzicht van alle dingen in je scene die geanimeerd kunnen worden. Ik ga ze hier niet allemaal behandelen, maar belangrijk zijn in ieder geval de scene materials, met daarin alle materials die er in je scene zitten (dus aan een object geassignd zijn), de medit materials (material editor materials), met daarin alle materials in de material editor. Dit is niet hetzelfde, want een material die in je scene zit, hoeft niet ook in de material editor te staan, want die is alleen om te bewerken. Is een material klaar, dan kan die uit de material editor gegooid worden en eventueel later weer teruggehaald worden om te bewerken.

Onderaan staat de belangrijkste groep: de Objects. Selecteer hieruit Camera01.target, want die waren we aan het animeren. Klik bij de target onder transform op position en je krijgt een grafiek te zien van de posities, zoals je hier onder kunt zien. De drie gekleurde lijnen stellen de X-, Y- en Z-assen voor.

Er zijn twee soorten track views: de dope sheet en de curve editor. Dit is de curve editor en je kunt er tussen wisselen door linksboven op modes te klikken. De dope sheet laat alleen de keys zien, zonder de grafiek erbij, en laat die keys voor alle objecten in beeld zien. In oudere MAX-versies gebeurde het wisselen overigens niet met modes, maar met een paar icoontjes in de toolbar, die je zelf maar even moet zoeken als je een oudere MAX-versie hebt

Nu we deze grafieken voor onze neus hebben, kunnen we weer terug naar de interpolatie. In de grafiek hier boven kun je zien dat de lijnen mooi vloeiend lopen: er zitten nergens hoeken in. Dit komt door de key-soorten die we gekozen hebben, we hadden de bovenste gekozen (A hier links). Nu kunnen we ook zien waarom de target weigert stil te staan: de grafiek loopt gewoon vloeiend door in stukken waar de keys op dezelfde hoogte staan. Dit kun je hier rechts mooi zien voor het stuk tussen de keys op frames 200 en 240.

Dit gaan we nu oplossen door verschillende In- en Out-interpolaties te kiezen per key, afhankelijk van wat we per stuk nodig hebben. Voor de duidelijkheid heb ik ze hier links even van letters voorzien. Wat betekenen ze nu allemaal? Je kunt het op zich wel raden aan de hand van de tekeningen van grafiekjes, maar toch even een overzichtje:

  • A. maak zo vloeiend mogelijk;
  • B. rechte lijnen tussen de keys, hoeken op keys;
  • C. geen beweging, spring gewoon op een gegeven moment plotseling over op de nieuwe positie;
  • D. steeds sneller naar de key toe (versnellen);
  • E. steeds langzamer naar de key toe (afremmen);
  • F. handmatig instellen met handles (richtingspijlen) in de curve editor;
  • G. handles van F standaard horizontaal zetten.

Stel nu het volgende in:

frame van key In Out
0 maakt niet uit E
70 E E
100 E E
150 A A
200 E E
240 E maakt niet uit

Op plekken waar de camera stil staat, willen we graag dat hij langzaam tot stilstand komt en langzaam weer begint met bewegen voor een vloeiende beweging. Vandaar dat type E zo vaak voorkomt. A gebruiken we voor vloeiend doorbewegen. Wat er gebeurt vóór frame 0 en na frame 240 maakt ons niets uit, dus daar maakt je instelling ook niet uit.

Bekijk nu je animatie met play om te zien dat de camera nu veel netter beweegt.

Path constraint

Onze target hebben we nu geanimeerd met de bezier position controller, die op keys posities instelde. De camera gaan we animeren met een heel andere techniek: de path constraint-controller. Deze laat de camera bewegen over een lijn die je zelf kunt tekenen.

Deze lijn is een apart object van het type spline, een belangrijke object-soort in MAX die we nog maar amper tegen zijn gekomen tot zover. Om een spline te maken, ga je in het create-paneel naar shape, hier links rood omcirceld.

Een spline is gewoon een lijn die door de ruimte loopt, recht of gebogen. Er zijn een aantal standaard soorten lijnen in MAX, zoals een cirkel (circle), een boog (arc), een vierkant (rectangle), en meer. Het meest gebruikt is de line, die geen vastgestelde vorm heeft en die je dus gewoon zelf kunt tekenen.

Het is niet mogelijk in een spline een driesprong te maken: een spline heeft altijd hoogstens één begin en eind. Wel is het mogelijk binnen één spline-object meerdere lijnen te hebben die los van elkaar lopen, maar in hetzelfde object zitten. Ook kun je een lijn rond laten laten lopen, zoals in een cirkel.

We gaan nu een lijn tekenen van het type line, dus klik daarop en teken hem in de top-viewport.

De lijn moet er ongeveer zo uit gaan zien als hier boven. Hoe teken je nou zo'n lijn? Je begint in de top-viewport te slepen met de linker muisknop vanuit waar de lijn moet beginnen in de richting waarin de lijn moet lopen. Door het slepen geef je nu de richting aan, die ongeveer schuin naar beneden is. Nu laat je de linker muisknop los. Dan ga je naar waar het eindpunt moet staan, en ga je van daar uit weer met de linker muisknop slepen, nu schuin naar boven, en laat je die knop weer los. Tenslotte klik je kort met de rechter muisknop om de lijn af te sluiten.

Nu loopt de lijn in de top-viewport misschien goed, maar in de andere viewports zie je dat hij nog gewoon plat loopt, en misschien wil je ook nog wel aanpassen wat je nu getekend hebt. Ga daarvoor naar het modifier-paneel en selecteer je zojuist getekende lijn. Klik op vertex om de vertices te kunnen editen, net zoals je dat met edit mesh kon (vergelijkbaar met edit mesh bestaat er ook een edit spline, maar die hebben we nu niet nodig).

Selecteer nu je beide vertices en je zou zoiets te zien moeten krijgen als hier links. De gele lijnen met groene punten eraan geven de richting van de lijn aan. Je kunt nu slepen met de groene punten en met de rode vertices.

Sleep nu alles zo dat het er uit gaat zien zoals hier boven te zien is.

Selecteer nu je camera en ga weer naar het motion-paneel. Kies nu voor de position-controller voor de path constraint, want die hebben we nu nodig. Dit kun je doen net zoals we hier al deden, alleen kozen we toen de bezier position en die moeten we nu dus niet hebben.

 

Scroll nu naar beneden en klik op add path, hier links rood omcirkeld. Klik nu op de lijn die je hebt getekend, en hij wordt toegevoegd aan de lijst met paths. Doorgaans gebruik je maar één path, nu ook. Bekijk je filmpje nu door op play te drukken.

Zoals je kunt zien, volgt de camera netjes je pad van frame 0 tot 240. Als je nu in de tijdsbalk kijkt, dan zie je daar twee keys staan voor de camera: één op frame 0 en één op frame 240. Klik met de rechter muisknop op de key op frame 240 en klik op camera01: percent. Het kan zo zijn dat niet lukt, want in nieuwe versies van 3D Studio MAX is een instelling verandert. Dan moet je, zoals je hier rechts kunt zien, de controller voor Percent veranderen in Bezier float. Klik nu alsnog met de rechter muisknop op de key op frame 240 en kies camera01:percent.

Je krijgt nu een key te zien die voor de afwisseling eens niet de positie aangeeft. De value die hier staat is het percentage dat de camera over het pad heeft afgelegd. Zet nu voor allebei de keys de In- en Out-interpolatie op type E, want we willen dat de camera rustig begint en rustig tot stilstand komt. Verander ook de time bij de key op frame 240 van 240 naar 200, want in het laatste stukje moet de camera stilstaan. Bekijk wederom je filmpje door op play te drukken en zie dat het werkt. Het kan nu zo zijn dat je camera de verkeerde kant op over de path beweegt, draai de percentages bij de keys dan om, dus van 100% naar 0%.

Bezier position en path constraint zijn de twee belangrijkste typen position-controllers in MAX, dus ook de path constraint zullen we nu nog eens wat nader bekijken. Hier linksboven staan alle instellingen ervan op een rijtje.

Als eerste zien we % along path, wat aangeeft hoever je object gevorderd is over de path op de huidige frame.

Vervolgens zien we follow staan, wat inhoudt dat je object ook meedraait met de richting van de lijn. Dit werkt zoals bij een auto, die altijd meedraait met de richting waarin hij rijdt. De voorkant staat altijd in de rijrichting (behalve als hij achteruit rijdt of in een ravijn valt misschien). Dit is op onze camera niet van toepassing, maar is bij veel andere dingen wel belangrijk. Bank zorgt ervoor dat een object dat een lijn volgt door follow ook scheef gaat hangen in de bocht. In hoeverre dit moet gebeuren, kun je instellen met bank amount en smoothness. Vervolgens staat er allow upside down. Dit hoort ook weer bij follow, want als je object de richting van de lijn volgt, dan kan hij ook op zijn kop komen te staan en hiermee stel je in of dat dat mag gebeuren. Ook de axis helemaal onderaan slaat op de follow-instelling, want de axis geeft aan wat de voorkant van je object is.

Hierna staat er een zeer belangrijke instelling: constant velocity (constante snelheid). Hiermee stel je wat het percentage aangeeft. Standaard staat constant velocity uit, en dan werkt het percentage met het aantal vertices. Dus als er 10 vertices in de path zitten, dan zal 50% along path betekenen dat er 5 vertices geweest zijn. Ook als de eerste vijf vertices heel ver uit elkaar liggen, en de laatste vijf heel dicht op elkaar. Hierdoor zal de camera versnellen in het stuk waar de vertices ver uit elkaar staan. Wil je nu dat niet het aantal vertices geteld wordt, maar de afstand, dan moet je op constant velocity drukken. Dit is bijna altijd handiger.

Loop betekent dat je object ook op 110% along path kan komen en dat hij dan gewoon weer opnieuw begint bij het begin van de path.

Tenslotte is er ook nog relative. Normaal gesproken zal je object, wanneer je een path ervoor selecteert, op die path gaan staan en dat wil je meestal ook. Maar soms wil je dat je object gewoon op zijn plek begint, dan moet je op relative drukken. Dit houdt in dat er een onzichtbaar path wordt gemaakt dat zijn positie van 0% op de beginpositie van je object heeft.

We hebben nu splines gebruikt als path voor onze path constraint, maar je kunt nog veel meer met splines. Splines zijn een belangrijke modeling-techniek, onder andere met de extrude-modifier (spline uittrekken, bijvoorbeeld letters diepte geven), de lathe-modifier (spline rond trekken om van de doorsnede van bijvoorbeeld een glas een 3d glas te maken), loft-objects (een lijn als path en een andere lijn als vorm daar overheen trekken) en spline cages (een ingewikkelde spline-constructie 3d maken). Dit valt echter allemaal buiten deze tutorial-serie, dus daar zul je andere tutorials voor moeten zoeken.

Trajectories

Een leuke extra methode in MAX om verplaatsing in beeld te brengen, zijn trajectories. Selecteer daarvoor camera01.target en klik in het motion-paneel op trajectories. Wanneer je nu in je scene kijkt, zie je een blauwe lijn er doorheen lopen. Dit is de route die je target aflegt door je scene. Met witte punten zijn de frames aangegeven, dus je kunt ook nog eens goed zien hoe snel je target beweegt aan de afstand tussen de witte punten. Wanneer je keys bewerkt, wordt de trajectory automatisch bijgewerkt, waardoor je goed kunt zien wat je doet, inclusief de invloed van de In- en Out-interpolatie. Hieronder zie je de trajectory die door mijn scene heen loopt.

Met convert to (blauw omcirkeld) kun je een spline laten maken van je trajectory. Dit is erg handig om een bezier position om te zetten in een path constraint. Sample range bevat de instellingen voor het omzetten naar een spline.

Andere animatiesoorten

Niet alleen verplaatsing kan geanimeerd worden in MAX, ook draaiing en vergroting/verkleining. Deze twee soorten vind je ook in het motion-paneel en ze spreken op zich wel voor zich, daar moet je maar gewoon mee experimenteren om ze te leren snappen.

Iets minder logisch zijn alle andere animaties, waarbij bijvoorbeeld instellingen van modifiers en materials met de tijd veranderen. Hiervoor kun je werken met de auto key-knop, en dan gewoon het getal wijzigen op de belangrijke frames om zo automatisch keys te laten aanmaken. Maar je verliest dan al snel het overzicht, dus we gaan nu nog even kijken naar de dope sheet van de track view.

Zorg daarvoor dat je geen enkel object hebt geselecteerd en ga naar graph editors>>track view - dope sheet. In oudere MAX-versies is dit gewoon de standaard track view.

Ga nu naar de medit materials en open die. Zoek de material van je dakpannen (ik hoop dat je die een mooie naam hebt gegeven, anders moet je het nummer even opzoeken in de material editor). Open ook je dakpannen-material en dan de maps en dan diffuse color: map #2. Zoals je kunt zien kun je werkelijk álles aan je material animeren, maar wij gaan nu alleen de kleuren van de dakpannen aanpassen, die hier links kunt zien.

Klik nu op add keys, hier rechts rood omcirkeld. Deze knop zit er ook in oudere versies van MAX, maar daar ziet die er anders uit, dus zoek hem dan maar even.

Voeg nu in de balk achter color 1 en color 2 keys toe op frame 0 en 240, dus twee keys voor iedere balk. De keys worden weergegeven als dunnen zwarte blokjes, zoals je hier onder kunt zien.

Klik nu met de rechter muisknop op een key. Je krijgt nu de inhoud van de key te zien, ongeveer zoals hier rechts. De value bevat nu de drie kleurwaarden voor R (rood), G (groen) en B (blauw). Stel voor de keys op frame 240 wat exotische kleurtjes in, bijvoorbeeld roze voor Color 1 en groen voor Color 2. Verlaat nu de track view en render frame 200. Als het goed is, zul je iets belachelijks zien, zoals hier links.

Op deze manier is vrijwel alles in 3D Studio MAX te animeren. Van de lengte van een box via de kleur van een lamp tot de lensafstand van de camera.

Renderen

Nu hebben we ons filmpje af en gaan we renderen. Renderen van filmpjes is hetzelfde als van losse frames, maar je moet wat extra dingen instellen.

Aangezien alle frames gerenderd moeten worden, kies je in plaats van single nu voor active time segment om heel de frame gerenderd te hebben, of voor range om een bepaalde rij frames te renderen of op frames om alleen specifieke frames te renderen. Zie hier rechts.

Ook moet je instellen dat je filmpje opgeslagen wordt. Klik daarvoor op files..., hier links rood omcirkeld. Je kunt nu de naam van je filmpje opgeven en een codec kiezen. Standaard is .avi voor filmpjes. Nadat je op save hebt gedrukt verschijnt er nu een menu om een codec te kiezen, zoals je hieronder links kunt zien onder video compression. Aangezien dit voor vele niet direct duidelijk zal zijn, zal ik dit ook nog even kort behandelen.

Voor kleine filmpjes en toch acceptabele kwaliteit is de DivX-codec een absolute aanrader. Deze is gratis te downloaden van www.divx.com. Bij configure kun je dan de bitrate instellen, wat de kwaliteit aangeeft:
hogere bitrate = betere kwaliteit = grotere files.

Met DivX is een filmpje van 4 minuten op redelijke kwaliteit op te slaan in 30mb, ideaal voor internet.

Mocht je je filmpje nog willen bewerken in een videobewerkingsprogramma als Adobe Premiere of Adobe After Effects of een ander programma, dan kun je beter opslaan met volledige frames (ongecomprimeerd), in het Engels full frames (uncompressed). Een filmpje van 4 minuten is dan al snel meer dan een gigabyte groot, maar er vindt geen kwaliteitsverlies plaats. Na bewerking in je videobewerkingsprogramma kun je dan alsnog opslaan met een kleinere codec als DivX. Wanneer je een DivX gaat bewerken in een videobewerkingsprogramma, dan levert dit een enorm kwaliteitsverlies op, omdat er twee keer gecomprimeerd wordt en er dus twee keer kwaliteit verloren gaat. Mocht je geen harde schijf ruimte vrij hebben, dan heb je natuurlijk weinig keus, maar zonde is het wel.

Voor ons filmpje gaan we gewoon voor DivX op bitrate 500, dat is goed genoeg. Render dus nu je filmpje.

Afsluiting van deel 4: animatie

(De MAX-file van mijn eindresultaat kun je hier downloaden.)

Het filmpje dat we nu hebben geproduceerd zit technisch gezien op zich goed in elkaar, maar de beweging is een ramp. Het is gewoon geen mooie animatie om naar te kijken. Daarom heb ik de volgende opdracht voor je: verwijder alle keys die we hebben aangemaakt in deze tutorial en maak er zelf iets van dat wél leuk is.

Hiermee is deze tutorial afgelopen, net als heel deze tutorial-serie. Alle belangrijke MAX-basics heb je nu gezien, maar je hebt nog slechts een kleine fractie van de mogelijkheden van MAX gezien, dus je zult nog vele tutorials moeten doen en vele uren moeten experimenteren om er écht goed in te worden. Een nuttige vervolg-tutorial over geavanceerde animaties kun je hier vinden:

Tutorial over animatie-automatisering

Hierin worden onder andere linking, loops, look-at constraints, bones en wire parameters besproken, samen met een heleboel tips om animaties handig op te zetten.

Ik hoop dat je veel hebt geleerd van deze serie tutorials en dat je nu zo'n zin hebt in het 3D-ontwerpen dat je er zelf mee verder gaat om écht goed te worden.

Hiermee is deel 4 afgesloten, heb je nog op af aanmerkingen of zitten er nog fouten in, mail dan naar tsgoo@hotmail.com

Succes met MAX en groeten,
Joost 'Oogst' van Dongen

Naar de Oogst-overzichtssite

Meer tutorials door Oogst