TP Frage

lucker10

Grünschnabel
Hi,

folgendes Problem, vielleicht kann jemand behilflich sein...

Ich würde gern die aktuelle Position jedes emittierten Partikels eines P Sturm Emitters
auslesen und aus diesen Punkten einen Spline generieren...
Sprich, immer wenn ein neues Partikel generiert wird, soll auf einem Spline ein Punkt mehr erzeugt werden, der dann die Position des wegfliegenden Partikels hat.

Wenn man in den MoGraph-Tracer einen Emitter zieht und TraceModus "Alle Objekte verbinden" aktiviert, entsteht genau dieser gesuchte Effekt. Diesen würd ich aber gern "manuell" nachbauen.

Dazu hab ich "P Daten lesen" Node (Ausgang --> Position) an einen P Pass Node gehängt, der alle emittierten Partikel bereitstellt.

Das "P Daten lesen" Node funktioniert auch, gibt mir aber leider nur die Position des aktuell emittierten Partikels aus. Wird ein neues Partikel geboren, springt die Position im "Daten lesen" Node an dessen Stelle.

Soweit ich es verstanden hab, werden aber im "P Daten lesen" Node alle Positionen aller Partikel gespeichert, die emittiert wurden. Ich stell mir also einfach mal eine große Matrix vor mit Partikelindex und allen Eigenschaften (Position, Geschwindigkeit, Ausrichtung, Alter etc.) jedes Partikels.
Die Frage ist, wie kommt man an diese ran ? Und weist sie im nächsten Schritt den korrespondierenden SplinePunkten zu ?
Also --> erster geborener Partikel = erster Splinepunkt usw.

Ein Ansatz war es, ein "Punkt" Node hinter das "P Daten lesen" Node zu schalten, der will aber am Eingang ein Objekt haben und kein Node. Die Partikelwolke selber lässt sich nicht an den Objekt-Eingang verbinden, wird also scheinbar nicht als Objekt gewertet...

Hat jemand ne Idee ?

Danke & Grüße
lucker10
 
Gut - ich hab jetzt von TP nicht soooo die Ahnung - aber mal ganz dumm gefragt: Warum das Rad neu erfinden? Wenns diese Funktion mit Mograph schon gibt, warum das ganze noch mal manuell machen?
 
Erstens gehts mir um das Verständnis, hab eigentlich erst vor kurzem angefangen , mich mit Xpresso zu beschäftigen. Und zweitens ist dies nur der erste Schritt in meinem Vorhaben.
Auf die vom Tracer erzeugten Spline hat man scheinbar nicht wirklich Zugriff (also jedenfalls nicht auf detaillierte Eigenschaften). Deshalb die Idee, den Tracer selber zu schreiben (ist ja eigentlich keine große Sache, Punktpositionen zu werden in jedem x-ten Frame aufgezeichnet) und dabei die volle Kontrolle über alle Parameter zu erhalten, mit denen man dann sonstwas anstellen kann.
Aber halt zum großen Teil auch einfach "Begreifen wollen" der Materie :))
 
Das Problem ist nur - soweit mir bekannt ist, gibt es keine Möglichkeit mit Xpresso Punkte oder Geometrien zu erzeugen (ich meine jetzt nicht damit Partikel sondern quasi von Xpresso ein Polygon zeichnen lassen).
Und da stellt sich mir die nächste Frage - auf welche speziellen Eigenschaften des Splines willst du denn da zugreifen?
Um dann diese Materie des Tracers zu begreifen, müsstest du dann wohl tief in das Programm Cinema selbst einsteigen - da wird dir kein User in einem Forum weiterhelfen können ;)
 
Zuletzt bearbeitet:
ja, für dieses Problem war meine Idee, einfach einen Spline mit sehr großer Punktanzahl zu generieren (500 Punkte oder so) und diese alle an der Emitterposition auf einem Punkt zu versammeln....Somit würden erstmal die Punkte zu Verfügung stehen und die Xpresso-Schaltung müsste jetzt "nur" noch die Punkte des Splines auf die emittierten Partikel mappen...Und das sollte doch sicher möglich sein, oder ?
 
Du meinst jetzt, was ich im Endeffekt mit diesem Spline anfangen will, der da umständlich erzuegt werden soll ? Das würde jetzt ein wenig weit gehen, denk ich. :))
Auf jeden Fall, soll dieses erste Zwischenergebnis weiterverarbeitet werden und außerdem seh ich das ganze als kleine Übung in Xpresso, anhand derer ich weiter lernen kann.
Und ich kann mir einfach nicht vorstellen, daß es sooo schwierig sein soll, Punkte des einen Objektes auf ein anderes zu mappen.

Übrigens hab ich das mit 2 Splines mit gleicher Punktanzahl ohne Probleme geschafft.
Eine Interation läuft von 0-9 (für 10 SplinePunkte), liest die Position des jeweiligen Punktes von Spline 1 aus und setzt den jeweiligen Punkt von Spline 2 an genau die gleich Stelle....
Jetzt brauch ich das gleiche bloß für eine Partikelwolke. Es geht mir also eigentlich nur um eine kleine Syntaxhilfe...
 

Neue Beiträge

Zurück