XPresso: Hierarchieobjekte zeitabhängig einzeln steuern

Brüggz

Erfahrenes Mitglied
Hm, ich hab gesucht und nichts gefunden. (Warum ist man eigentlich meist immer der erste, wenns um komplizierte Lösungen geht?)

Ich habe Lichter den Punkten eines Splines angeordnet. Nun möchte ich, dass die Sterne zu Beginn alle nur leicht leuchten, aber mit der Zeit die Sterne von links->rechts/ oben->unten heller zu leuchten beginnen. (ich verbinde mit einem Sweepnurbs-Wachstum die einzelnen Spline/Lichtpunkte und sie sollen zu leuchten beginnen, sobald der Nurbs bis zu ihnen gewachsen ist.
Mit diesen zig Nodes für Hierarchie und Objektliste und was weiß ich komm ich maximal darauf, dass Parameter für alle Lichtobjekte parallel zugewiesen werden. Ich möchte aber eben für jeden einzelnen steuern, dass er erst hell leuchtet, sobald eine gewisse Zeit verschritten ist (in der der Nurbs bis zum jeweiligen Lichtpunkt gewachsen ist).

Hilfe?!
 
Ich habe einen Fortschritt gemacht: Beim Hierarchie-Node kann man die Anzahl der Iterationen selber regeln. Das hilft zwar, ist allerdings noch nicht die Ideallösung. Diese wäre, dass ich abfragen kann, mit welchen Lichtern der Sweepnurbs bereits während seines Wachstums kollidiert ist und diesen zum Zeitpunkt der Kollision einen Anstieg des Leuchtens zu geben (nicht innerhalb von einem, sondern mehreren Bildern).
 
Hallo,

Du könntest ja über Bereichswandler-Nodes mit entsprechend begrenzten Eingangswerten, jedes Licht separat ansteuern. (Bei zehn Lichtern: 0 - 0.1 für Licht eins; 0.1 - 0.2 für Licht 2 usw.)

Viele Grüße
 
Zuletzt bearbeitet:
Ja ich habe bereits einen Bereichswandler der für 0-100% Sweepnurbs-Wachstum 0-84 Instanzen aktiviert. Bin grad an der Feinschrauberei. Also im Grunde geht es so, allerdings wäre eine automatisierte Lösung in Form einer Kollisionsabfrage o.ä. auch nicht schlecht.
 
Ok ich denke ich sehe das Problem:

Jedes Licht hat unabhängig von den anderen eigene Parameter (Helligkeit 0, solange noch nicht vom Sweepnurbs berührt, bei Berührung steigt Helligkeit an). Da ich ja bisher mit einer relativ passenden Iteration arbeite, die grob parallel Lichtern Parameter übergibt, die vom Nurbs berührt wurden, ist diese Iteration ja nicht absolut auf ein Objekt zugeschnitten, sondern relativ zu den Lichtern der Hierarchie.
Allerdings stört sich das mit einer absoluten Zuweisung (indem ich jedem Licht eine XPresso-Schaltung zuweisen würde, da jedes Licht unabhängige Parameter hat), da den berechneten Parametern (die absolut zu dem jeweiligen Licht berechnet werden) dann wiederum ein relatives Lichtobjekt zugewiesen wird (zwecks relativer Iteration).

Lange Rede, kurzer Sinn, ich überlege, ob ich auf Relationen verzichte, dem Spline/Sweepnurbs ein Nullobjekt (auf Spline ausrichten -> animiert) auf den Hals schicke, das quasi als Kollisionsobjekt (oder sowas in der Art) dient. Dann gebe ich jedem Licht eine absolute Schaltung, in der geschaut wird, ob eine Kollision erfolgt (nein -> Helligkeit 0, ja -> addiere Helligkeit x (pro Bild, mit Begrenzer für Maximalhelligkeit)).

Wahrscheinlich versteht mich mittlerweile keiner mehr :D

Wie zur Hölle kann animiert man ein auf nen Spline ausgerichtetes Objekt, wenn der Spline in mehrere Segmente (Buchstaben) unterteilt ist? Gibts keine Option für Segmente "gedanklich" verbinden? ^^
Ich will nicht jedem Segment eine Position von 0-100% animieren.
 
Zuletzt bearbeitet:
Also die Segmentanimation hab ich jetzt geschafft (Spline kopiert und die Segmente manuell verbunden).
Ich habs auch geschafft, nun den Abstand zwischen dem dem Spline folgenden Nullobjekt und jedem Lichtobjekt zu berechnen und bei Unterschreitung eines gewissen Abstands einen Ausgang mit aktiv/1 zu schalten.

Ich hab jetzt auch den Rest geschafft, ich schreibs hin, sobald ich das einigermaßen geordnet hab.
 
Zuletzt bearbeitet:
Hi Brüggz!

Du weißt, wie gerne ich mich XPresso-Fragen annehme, aber bei Deinem Problem bin ich ab dem zweiten Thread bereits "ausgestiegen" :) ;)

Deshalb verzeih, wenn folgender Hinweis total am Thema vorbei und hinzu sehr "kurzsichtig" ist: gib den Lichtquellen doch ein Benutzerdatum, z.B. Bool = Geh_An. Nun noch jeder Lichtquelle eine eigene Schaltung: wenn Geh_An = 1 und Helligkeit < 100, dann pro Frame ein Prozent mehr auf die Helligkeit. Geh_An setzt Du dabei bei "Kollision" (?) in der "Haupt-XPresso-Schaltung"...

Allerdings funktionieren diese relativen "Dinge" nie, wenn Du in der Zeitleiste "herumwanderst" ... ;)

Liebe Grüße,
Mark.

//edit: urgs, stand da nicht eben noch eine Frage?! Vergiß bitte einfach, was ich oben schrieb :rolleyes: ;) :)
 
Tja, da warte ich seit Threadbeginn auf dein Erscheinen und nun, da ich es selbst geschafft hab, kommst du... :D
Trotzdem danke, aber ich glaub mein jetziger Weg ist nicht großartig umständlicher als deiner, ist nur alles mit Zwischenberechnungen gefüllt.
Wie gesagt, ich poste dann mal meinen Weg.
 
So, Lösung:

Die Abfrage, wann die Helligkeit addiert werden darf_
Der Abstand zw. Pfadverfolger (Nullobjekt, auf Spline ausgerichtet) und jeder Lichtquelle (ich hab die Schaltung jeder Lichtquelle zugewiesen) wird überprüft und wenn er geringer als z.B. 20 ist, wird am Ausgang des Vergleichsnodes eine 1 (also quasi Aktivierung) ausgegeben, sonst 0.
Da der Abstand sich im Laufe der Animation ja wieder vergrößert (Verfolger läuft weiter), muss die Addition trotzdem weiterlaufen. Dies erfolgt über das Einfrieren-Nodes.
Wenn ich es richtig verstanden habe, ist der Eingang Schalter mit 0-> geöffnet = lässt die Werte durch. Bei 1 ist er geschlossen -> lässt neue Werte nicht durch, sondern friert den letzten ein.
Folglich musste der Schalter für die Lichtaktivierung (1) mit dem Nicht-Node auf 0 geschaltet werden (lässt den Wert 1 durch). Sobald der Abstand zu groß wird und der Vergleich 0 ausgibt, entsteht durch den Nicht-Node eine 1, die den letzten Vergleichswert für den Rest der Animation einfriert.

Die folgende Multiplikation mit dem Schalter "Start Titelani" dient dazu, die Animation nicht von Bildern (z.B. Start bei Bild 0), sondern von einem Key abhängig zu machen, den ich je nach Belieben mit den restlichen Keys für das Nurbswachstum etc. verschieben kann.
Da man ja nur ab Bild 0 rendern kann und ich nicht weiß, wieviele Bilder ich vor Beginn der Animation brauche, ist das eben hilfreich.

Zuletzt wird der Wert 0/1 mit dem neuen Helligkeitswert multipliziert (Addition erfolgt erst ab Lichtaktivierung -> Helligkeitswert*1, vorher *0 => keine Addition). Das ganze wird noch begrenzt, für eine maximale Helligkeit.

So, da hab ich ja jetzt ein schönes Tutorial geschrieben :D
Hoffe, dass im Laufe der Zeit der Thread mal jemandem hilft (irgendwie haben viele nur Billigprobleme mit XPresso :D )
 

Anhänge

  • xpresso.jpg
    xpresso.jpg
    43,6 KB · Aufrufe: 71

Neue Beiträge

Zurück