[3dsMAX] Meerdere path animaties automatiseren

Pagina: 1
Acties:

  • Oogst
  • Registratie: Juli 2001
  • Laatst online: 04-01 21:29
Ik heb een hele rij objecten die allemaal over een path bewegen en allemaal vlak achter elkaar op een vaste afstand over die path rijden, variërend op 0,20% en 0,35% afstand van elkaar. Uiteraard staat bij de animatie-instellingen constant velocity aan om die afstand gelijk te houden.

Op dit moment heb ik dit gedaan door ze gewoon allemaal los van elkaar te animeren en gewoon op het begin- en eindpunt de percentages aan te passen aan de positie op de baan. Dus object 1 rijdt van 2% naar 100%, object 2 rijdt van 1,65% naar 99,65% en object 3 van 1,45% naar 99,45%.

Het probleem is nu dat ik over het path de snelheid wil variëren. Dit is per stuk gemakkelijk, gewoon extra key frames ertussen plakken en die een hoger of lager percentage geven dan ze bij een constante snelheid zouden hebben.

Maar: ik heb 23 objecten en ik wil zeker 20 frames ertussen plakken voor die snelheidsvariaties. Dat is dus 23*20=460 handmatig in te stellen key frames. :'(

Het lijkt me dus dat er een manier moet zijn om dit te automatiseren. Bijvoorbeeld door alleen het voorste object te animeren en voor de rest in te stellen dat
[positie object 2]=[positie object 1] - 0,35%

Maar hoe doe ik dit? Met MAXscript zal het vast wel kunnen, maar voor ik dat heb geleerd ben ik zoveel tijd verder, dat dat niet echt een optie is. Is er dus een snellere manier voor of bestaat er al een scirptje voor?

De oplettende lezer heeft misschien al opgemerkt dat die rij objecten een trein is...

Devblog / portfolio
Swords & Soldiers
Awesomenauts
Proun
Cello Fortress


  • maratropa
  • Registratie: Maart 2000
  • Niet online
je kunt wel parameters aan elkaar koppelen, met "wire parameters" , maar of dat bruikbaar is....

specs


  • Oogst
  • Registratie: Juli 2001
  • Laatst online: 04-01 21:29
Ik denk dat ie dat is ja, de help zegt over die term:
Wire Parameters allow you to link any animatable parameters from one object to another in the viewport. This enables you to set up two-way links between specified object parameters, or to control one or more objects with a dummy object containing the desired parameters. ...
... its value will change as the controlling parameter changes, according to a user-defined transfer expression. ...
Ik ga er even mee aan de slag, dank je!

Devblog / portfolio
Swords & Soldiers
Awesomenauts
Proun
Cello Fortress


  • Oogst
  • Registratie: Juli 2001
  • Laatst online: 04-01 21:29
Hmm, het werkt wel, maar voor het maken van de afstandsverschillen wil MAX dat je script-expressions gebruikt. Laat ik dat dus maar eens uit gaan zoeken.

Devblog / portfolio
Swords & Soldiers
Awesomenauts
Proun
Cello Fortress


  • Oogst
  • Registratie: Juli 2001
  • Laatst online: 04-01 21:29
Het lukte mij niet om de script-expressions te laten werken, want ik kreeg bij de expressie

percent-0.1

elke keer een error. Nu weet ik ook waarom. Het moest zijn:

percent - 0.1

Die spaties waren dus belangrijk, dat heb ik nog nooit gezien in mijn zeer beperkte ervaring met programmeertalen.

Maar nu weet ik het dus en hiermee kan de topic wat mij betreft gesloten worden, want het probleem is opgelost.

Devblog / portfolio
Swords & Soldiers
Awesomenauts
Proun
Cello Fortress


  • maratropa
  • Registratie: Maart 2000
  • Niet online
En zo, lieve kijkbuis kids, eindigde de monoloog van Oogst.

:) _/-\o_

specs


  • Oogst
  • Registratie: Juli 2001
  • Laatst online: 04-01 21:29
Jaja, dat krijg je als je persé wilt werken volgens de 'geef-een-hint-en-laat-hem-het-verder-maar-zelf-uitzoeken'-methode. En die method blijkt te werken. :)

Devblog / portfolio
Swords & Soldiers
Awesomenauts
Proun
Cello Fortress


  • Oogst
  • Registratie: Juli 2001
  • Laatst online: 04-01 21:29
Ik dacht dat ik het had opgelost, maar helaas: een nieuwe probleem is aan de horizon verschenen.

Ik heb nu dus mijn serie objecten netjes met wire parameters allemaal op de juiste afstand gehangen van het voorste object en ze volgen de bewegingen netjes.

Maar niet meer voorbij frame 700. Vanaf frame 700 gebeurt er niets meer en rijdt alleen het voorste object door, de rest staat dan abrupt stil.

Nou is frame 700 niet een volledig willekeurig getal, want toen ik al mijn objecten van een path constraint voorzag, liep de animation time van frame 0 tot en met frame 700. Maar nu staat de scene op het totaal van 4080 frames en nu zou ik dus verder willen kunnen.

Vreemd genoeg kan ik dus wel rechtstreeks animeren voorbij frame 700, maar niet met wire parameters.

Hoe los ik dit op?

Devblog / portfolio
Swords & Soldiers
Awesomenauts
Proun
Cello Fortress


  • maratropa
  • Registratie: Maart 2000
  • Niet online
ik denk dat dat inderdaad met de tijd te maken heeft. Of je moet "re-scale" time doen (right click op de play knop), maar dat moet je maar even lezen, weet ik ook niet zo veel van, Of je moet in de track view keys voorbij nr 700 gaan slepen.

Iig, als ik wel eens een camera langs een pad animeer, en ik verhoog de frames van 100 tot 200, dan stopt ie bij 100. Ik moet dan de keys van de camera (of de dummy iig waar ie aan vast zit) naar de 200 in de track view slepen.

specs


  • Twixxx
  • Registratie: Juli 2002
  • Laatst online: 08:27
Nu Jullie het toch over bewegende objeckten hebben, Heb een n00b vraag,
Ik ben bezig met een animatie van een ovalle robot,
Zijn Voeten heb ik al bewegend gemaakt met behulp van wederom een Tuto van _/-\o_ Oogst _/-\o_ :-)
Die Benen zitten vast op een Star Obeckt wat een Circel Vorm heeft

Maar dan nu wil ik boven op dat star Objeckt een wederom Circelvormig objeckt maken wat dus 360 graden zou moeten draaien, Hoe krijg ik dat voorelkaar?

With an eye made quiet by the power of harmony, we see into the life of things


  • Oogst
  • Registratie: Juli 2001
  • Laatst online: 04-01 21:29
[Twixxx, ik snap niet wat je bedoelt, maar zou je het willen uitleggen in de 'post 3d zooi'-topic, dan houden we het overzicht van dit forum een beetje duidelijk. Dit is namelijk niet het onderwerp van deze topic.]

Gladiool, ik weet wat je bedoelt en wat je uitlegt wist ik natuurlijk allang, ik ben niet helemaal een noob meer hè. :)

Ik kan een object wel gewoon animeren voorbij die frame 700, maar de wire parameters werkt dan niet meer. Als ik het master object ná frame 700 door laat bewegen, volgen de andere objecten de master maar tot frame 700, daarna stoppen ze gewoon. En dat hoort dus niet. De master beweegt dus door, terwijl de volgers abrupt stoppen.

Devblog / portfolio
Swords & Soldiers
Awesomenauts
Proun
Cello Fortress


  • Oogst
  • Registratie: Juli 2001
  • Laatst online: 04-01 21:29
Ik vraag me af waarom ik dit nou op GoT postte, want ik loste het wederom gewoon zelf op.

In de track view is van elk object een zwarte streep te zien met witte blokjes erin aan het begin en eind. Animatie van een object is alleen mogelijk in het gebied van de zwarte streep. Zet je key frames neer, dan wordt de zwarte balk automatisch opgerekt. Bij wire parameters wordt dit echt niet gedaan. Niet vreemd dus dat ik deze balk nog niet kende, want buiten wire parameters heb je hem nooit nodig, bij mijn weten.

Dus: probleem opgelost. Weer een monoloog beïndigd. :)

Devblog / portfolio
Swords & Soldiers
Awesomenauts
Proun
Cello Fortress


Verwijderd

*lol* Het is allemaal zo simpel, je moet er alleen wel even op komen!

Verwijderd

Je kunt Maxscript gebruiken, maar wat hier exact voor gemaakt is zijn Expressions.
Zoek zo veel mogelijk tutorials op over expressions, dit is niet zo moeilijk als maxscript en volgens mij staat er ook in maxhelp(F1) en maxtutorials wat over in.

Succes.

  • Oogst
  • Registratie: Juli 2001
  • Laatst online: 04-01 21:29
Als je goed had gelezen had je gezien dat:
a. Ik het probleem al heb opgelost, en
b. Ik al een expression gebruik (percent - 0.0035)

Verder zijn expressions gewoon een onderdeel van MAXscript. Een expression is een opdracht, iets dat uitgevoerd moet worden, en daarmee de eenvoudige basis van MAXscript.

Devblog / portfolio
Swords & Soldiers
Awesomenauts
Proun
Cello Fortress

Pagina: 1