Xpresso + TP: Emitter per Werteliste steuern

grotten

Schusselkopf
Hallo,

ich habe mal eine (dachte ich) banale Frage: Ich möchte mithilfe einer Xpresso-Schaltung erreichen, dass der TP-Emitter P Sturm im Modus "Shot" zu bestimmten Zeiten einen einzelnen Partikel emittiert. Zum Beispiel bei Bild 5, 12, 17, ganz willkürlich. Ich habe es mir wie folgt gedacht:

Einen Vergleichs-Node verbinde ich an Eingang 1 mit einem Zeit-Node, um herauszufinden bei welchem Bild ich gerade bin. An Eingang 2 kommt eine Liste mit Werten (z.B. 5, 12, 17) und der Vergleichs-Node überprüft nun, ob die aktuelle Zeit einem in der Liste vorhandenen Wert entspricht. Wenn ja, wird über den Ausgang der P Sturm Emitter aktiviert.

Mit einzelnen Werten kein Problem, kann ich ja einfach direkt bei Eingang 2 eingeben oder umständlich über Konstante-Node an Eingang 2. Aber wie übergebe ich eine Liste?

Habe leider weder im Handbuch, noch bei Google oder hier etwas dazu gefunden. Entweder gibt es zu diesem Problem noch kein Thema, oder ich finde leider nicht die richtigen Suchbegriffe um darauf zu stoßen.

Gruß,
Gordon
 
Zu einer Werteliste fällt mir auch kein entsprechender Node ein. Eine Idee wäre aber, mehrere Nullobjekte zu erzeugen (dann am besten in einen Ordner gruppieren zwecks Übersichtlichkeit) und denen die Werte als Namen zu geben.
Mit einer entsprechenden Schaltung, die die Namen der Hierarchie ausliest und mit dem aktuellen Bild vergleicht, sollte es hoffentlich gehen (probiere aber selbst grad noch rum).

Also so funktioniert es bei mir (auch wenn er manchmal mehr als einen Partikel erzeugt hatte? Evtl. nur ein Fehler in der Neuberechnung).

Zuerst ein Hierarchie-Node (mit dem Übergruppenobjekt als Abs. Ref.), da dran ein leerer Objektnode (Ausgang Name), dann der Vergleichsnode mit dem Bildnode und das Ergebnis am Sturmnode am Port "An".
 
Zuletzt bearbeitet:
Hi!

Ich persönlich finde, Splines bieten sich als "Listen" an: handelt sich zwar um eine Liste mit jeweils einem Vektor, aber davon läßt sich ja auch nur eine Koordinate verwenden ;)

-> Spline erzeugen und mittels Struktur-Manager Zeilen bzw. Punkte hinzufügen: X ist dabei der Listen-Wert.
Schaltung anbei hangelt sich durch diese Liste und vergleicht die Werte (X-Positionen) mit dem aktuellen Bild. Stimmt ein Wert mit dem Bild überein wird die Spline auf Position.Y = 1 verschoben; stimmen die Werte nicht überein passiert gar nichts -> alle Vergleiche werden quasi mit "oder" verknüpft ;)
-> Position.Y des Spline-Objekts wäre in Deinem Fall das An des Emitters :)

Viel eleganter (und vorallem kürzer im XPresso-Fenster) würde es sicher mittels Coffee gehen... ;)

Liebe Grüße,
Mark.
 

Anhänge

  • ListIteration.jpg
    ListIteration.jpg
    29,7 KB · Aufrufe: 50
Hallo,

wieder eine tolle Schaltung. Danke.
Noch eine Frage: Wäre es auch möglich den Noise-Node als Zufalls-Partikelgenerator zu benutzen? Und wenn ja, wie?

Viele Grüße
 
Hi!
Wäre es auch möglich den Noise-Node als Zufalls-Partikelgenerator zu benutzen? Und wenn ja, wie?
Klar, einfach den Noise-Ausgang mit z.B. Shot (Modus=Shot) des P Sturm verbinden. Dabei den Noise so einstellen, daß er Werte > 1 produziert, z.B.: Absolute Werte = An, Amplitude = 2 (ggf. den Noise-Ausgang mit Ergebnis-Node prüfen/kontrollieren; Noise liefert eher "wellenförmigen Zufall" und nicht für jedes Frame einen komplett neuen Wert -> siehe Noise-Typ, Größe & Frequenz).

Liebe Grüße,
Mark.
 
Okay, die Schaltung von Mark ist etwas länger und komplizierter als ich gehofft hatte *g* Bin leider noch nicht so bewandert mit Xpresso, da ich nicht so viel Animationen mache. Ich probiere das mal aus. Vielen Dank!
 
Hmmm... habe die Schaltung jetzt nachgebaut... doch was soll ich sagen? Habe sie noch nicht mit dem Emitter verknüpft, aber habe mal mir die Y-Werte der Spline angeschaut. Die verändern sich gar nicht... sollten aber theoretisch ab und zu auf 1 springen, oder? Irgendwas klappt da noch nicht bei mir.

Dann muss ich mich wohl mal mit C.O.F.F.E.E. beschäftigen. Da habe ich leider noch weniger Ahnung von ;-)
 
Hi!

Hm, schade, daß es nicht funktioniert ... bei mir rennt's :)
-> alle Node-Einstellungen kontrolliert (Bild- statt Zeit-Ausgang beim Zeit-Node, Matrix-Modus, Vergleich)? Spline mit X-Werten erzeugt?

Anbei Alternative per Coffee-Node:
Code:
main()
{
    if (!SplineList) return false;
    if (!instanceof(SplineList, PointObject)) return false;
    var pcnt = SplineList->GetPointCount();
    Hits = 0;
    var i;
    for(i=0; i<pcnt; i++) {
        var p = SplineList->GetPoint(i);
        if (p.x == Value) Hits++;
    }
}
... zählt die Übereinstimmungen... :)

Liebe Grüße,
Mark.
 

Anhänge

  • ValuesInList.jpg
    ValuesInList.jpg
    13,2 KB · Aufrufe: 22

Neue Beiträge

Zurück