Expresso: Objekt nach Spline-Punkt ausrichten

Tag!

Im Titel steht es ja schon ganz gut beschrieben, was ich will.

Ich hab nen Spline. Und an einem Punkt möchte ich ein anderes Objekt ausrichten. Das Objekt soll also diesem Punkt folgen. Das ist ja einfach.

Doch jetzt soll sich das Objekt auch so drehen, wie der Punkt es tut. Ich müsste halt irgendwie die richtung der Tangende auf das Objekt übertragen. Nur kein Plan, wie das geht:roll

dreht sich denn so ein punkt überhaupt?

Es geht hier und die Tangente. Und die hat ja eine Richtung:o)

Easy. Muss das dynamisch folgen? Nehme an ja in diesem Fall:

Du holst dir die Tangente per Spline Node (vorher den “offset” wert deines punktes raussuchen), diese wird die z-Achse für das Koordinatensystem welches du aufbaust. Dann brauchst du zwei Kreuzprodukte: “Tangente x bel. Achse” (Beispielsweise global z also 0|0|1) dies wird deine neue y-Achse, sowie “Tangente x neue Y Achse” ergibt die neue x Achse (kann sein dass du zwischendurch mal nen vektor invertieren muss oder die Kreuzprodukt Reihenfolge damit es korrekt funktioniert ich habe jetzt kein Cinema da um das auszutesten … ausserdem muss uU von lokalen in globale Koordinaten/vektoren umgerechnet werden beim Spline Node). Die drei vektoren führst du nun zu einer Matrix zusammen und holst dir dann die xyz bzw HPB rotation da raus (oder nimmst die Matrix direkt ) und fürhst die zu deinem Objekt.. Zu guter letzt noch die Position vom Spline node auf dein Objekt übertragen, fertig.

Ich versteh nur Bahnhof. Sorry. Ich wüsste zwar so uuungefähr, was du meinst, aber ich bin weit davon weg das umzusetzen:))?

Mein erstes Problem ist an die tangente zu kommen. Ich glaube den Rest würde ich auch locker hinbekommen, aber ich bekomm einfach keinen Vektor raus.:roll

Hm…das Spline Node hat einen Ausgangsport “Tangent” soweit ich das jetzt ausm Kopf weiss. Der ist vom Typ “Vector” oder “Normal”. Wenn das “Normal” ist dann sollte das so gehen, gibt es entweder nen Normal2Vector Node (kp mehr) oder du wandelst den Normal Output mit Vector2Reals in 3 Reals und wieder zurück in einem Vector mit Reals2Vector. (Geraten…eigentlich sollte Normal direkt als “Vector” erkannt werden das der gleiche Typ sein sollte ;)) Wenn du da garnichts hinbekommst kann ich mir auch gleich gerne die Demo laden und nochmal nachschauen.

Bin ich ein Vollhorst…

Ich hab gedacht, dass es schon ein Spline-Node wäre, wenn ich ich den Spline in den Expressomanager reinzieh, aber das ist ja nur ein Objekt-Node.

Okaaay.. Alles klar. Ich mach mich mal dran. Danke LennO:o)

geht das nich einfach mit dem objekt an spline ausrichten tag und dann noch tangential auswählen?

omfg^^

Hast Recht:))?

ein happy end, ein happy end !!!

tja LennO da haben wir uns aber tüchtig verrannt, aber trotzdem war es interessant, weil wir ja zumindest erarbeitet haben, wie es funktioniert:o)

Naja, verrannt habt ihr euch nicht wirklich! Der Modus “tangential” hat einen entscheidenden Nachteil, der vorallem bei einer Kameraanimation entlang eines Splines zum Vorschein kommt: Sobald die Splinekurve 90° überschreitet dreht sich das Objekt, das tangential an dem Spline ausgerichtet ist, ab diesem Punkt um 180°!

Ich weiß nicht, wie das ist, wenn man es per Expresso macht. Hab ich noch nicht ausprobiert - werde ich heute Abend/Nacht mal machen :()()

Gruß
Philipp

Eigentlich nicht…da du explizit nach Xpresso fragtest war ich davon ausgegangen dass du etwas komplexeres anstellen möchtest als das einfache an den Spline ausreichten. Das Tag macht im Übrigen das selbe wie die beschriebene Xpresso Schaltung…Ich hab die Kreuzprodukte so gewählt damit sie der Ausrichtung des Tags entsprechen wie ichs noch im Kopf in Erinnerung hatte :wink:

@pel.Z … Da es das selbe Prinzip ist passiert das bei der Xpresso Methode auch. Mann kann es uU durch geschicktes Wählen der Vektoren für die Kreuzprodukte verhindern, aber es gibt immer einen Punkt an dem das Objekt mathematisch flippen wird.

Edit:
Da du vermutlich auch wissen willst Warum:
Ab einem gewissen Punkt wechselt die Tangentensteigung, nämlich genau ab dem Punkt an dem Tangente und “Up-Vektor” in die selbe Richtung zeigen (in meinem Fall wäre das die Z Achse, in Cinema die Y Achse), dadurch wechselt auch der aus dem Kreuzprodukt resultierende Vektor seine Richtung und das Objekt “flippt” um 180°.

BTW Eben nochmal nachgeschaut. Cinema nimmt Die Y-Achse (nicht wie ich Z) als Up Vekor. In meine Schaltung bekommst du Probleme in der XZ Ebene, bei Cinema in der XY Ebene, besagtes Flippen.
Wenn man die Berechnungen nicht global, sondern lokal durchführt (Cinema arbeitet im “parent”, also dem Übergeordneten Space) kann man geschicktem Gruppieren und rotieren Flipping Probleme beseitigen solange die Tangenten des Spline mit angepasster Rotation niemals die kritische Achse überschreiten.