Antworten auf deine Fragen:
Neues Thema erstellen

farbige Pfotenabdrücke

little_polarbear

Aktives Mitglied

Hi zusammen,

ich habe einen kleinen Hund gebaut und möchte, dass er beim gehen farbige Pfotenabdrücke auf dem Boden hinterlässt. Ich hab das soweit auch hinbekommen, bis auf eine Sache.

Meine Xpressoschaltung ist wie folgt aufgebaut:



In dieser Schaltung ist quasi die Kugel eine Pfote. Ich wollte das erstmal austesten.

Jetzt habe ich folgendes Problem. Die Kugel bleibt an einigen Stellen auf dem Boden stehen (wie auch die Pfote meines Hundes). Also habe ich eine Kollision von mehreren Frames lang wodurch mein Emitter zu lange an ist und zu viele Partikel ausstößt.

Gibt es also ein Möglichkeit, dass mein Emitter nur 1 Frame an ist oder nur 1 Partikel ausstößt? Vielleicht kann man ja ausgeben, wie lange die Kollision schon an ist, und sobald sie länger als 1 ist, wird ein negatives Signal an einen FlipFlop Schalter oder so ausgeben, der dann mit dem An Node des P Stum verbunden ist. Mir ist nur leider nicht ganz klar, wie man das umsetzten muss.

Wäre super, wenn jemand einen Tip fur mich hätte.

vielen lieben Dank:D
 

KBB

Mod 3D | Blaubaer

Teammitglied
AW: farbige Pfotenabdrücke

Ich habe mit dem FlipFlop Node auch noch nicht viel gemacht, deshalb nur so als Gedanke: mit dem Kollisionsausgang den An-Eingang des FlipFlops belegen, der Ausgang schaltet den Sturm an. Dessen Ausgang wiederum mit dem Aus-Eingang.. äh okay, beim nächsten Frame ist die Kollision dann wieder da und schaltet den FlipFlop auch wieder ein.

Ich glaub das würde ich einfacher mit einem COFFEE Node lösen und dort das Frame, in dem die Kollision das erste Mal auftritt, notieren und den Sturm anschalten. Sollten Frames in Folge (etwa "if (aktueller Frame - notierter Frame = 1) = true)") die Kollision auslösen, wird der Sturm nicht angeschaltet.

Noch ne Frage von mir dazu: wozu brauchst Du überhaupt den Emitter, wenn der eh immer nur 1x pro Frame emittiert? Wäre es nicht einfacher, gleich bei Kontakt an die Kollisionsstelle ein Texturtag abzusetzen?
 

little_polarbear

Aktives Mitglied

AW: farbige Pfotenabdrücke

Um ehrlich zu sein, kenne ich mich mit COFFEE kaum aus, deshalb hätte ich noch eine Frage dazu:

Du hast gemeint, dass ich den ersten Frame, nennen wir ihn F1, bei der Kollision notieren soll und dann immer den aktuellen Frame, nennen wir ihn F2, abziehen soll. Macht alles Sinn, aber was ist, wenn die Pfote dann vom Boden weggeht und dann z.B bei Frame 40 wieder den Boden berührt? Wird dann Frame 40 vom COFFEE als F1 neu intialisiert, oder wird weiterhin der erste Frame vom Anfang genommen? Weil dann funktioniert es ja leider nicht.

zu deiner Frage:
Ich wusste nicht, dass man auch ein Texturtag genau auf die Position absetzten kann. Wie genau macht man das denn? Kannst du mir da einen Tip geben?
 

KBB

Mod 3D | Blaubaer

Teammitglied
AW: farbige Pfotenabdrücke

Das mit der "vorheriger Frame" Abfrage war auch nicht durchdacht. Im Grunde tut es ein Flag, das besagt "Kollision findet statt", und das wird immer ein Frame lang zwischengespeichert.
Im nächsten Frame wird geschaut, ob das Flag im vorherigen gesetzt war - falls ja und immer noch Kollision stattfindet, also Flag-von-eben und aktueller Kollisionsausgang true sind, kein Emitter mehr. Falls Flag-von-eben=true und Kollision=false, wird das Flag fürs nächste Frame auf 0 gesetzt, um die nächste Emittierung in späteren Frames zu ermöglichen. Falls Flag-von-eben=false, ist das die erste Kollision seit dem letzten Frame und der Emitter muss 1x emittieren, das Flag wird auf 1 gesetzt, ansonsten bleibt es auf 0.
Ich wüßte nicht dass sowas mit XPresso Nodes selbst geht, deshalb würde ich das mit einem COFFEE- oder auch Python-Node machen. Problematisch ist wenn dann eigentlich die Syntax, nicht die Logik dahinter.


Das mit den Texturtags geht m.W. auch nur mittels COFFEE Node. Gerade zu Pfotenabdrücken gabs mal ein nettes Tut in einer alten DP. Dabei wurde ein (weiteres) Texturtag an die Position, an der die Kollision stattfand, platziert. Hier brauchst Du vor allem die Zugriffe auf die Tagerzeugung und dessen Platzierung in Ausrichtung auf den Vektor des Hundes.
 

CUBEMAN

Polyboy

AW: farbige Pfotenabdrücke

Leider genügt der Kollision Node allein nicht, weil die Kollisionsposition nicht ausgegeben wird. Mit Hilfe des Ray Kollision Node lässt sich dieser Wert ergänzen.
Um die Partikel Emission auf einen Frame zu begrenzen, ist der Einfach Flop gut geeignet.
Für die Spur selbst, würde ich den Proximal Shader in Erwägung ziehen.

Grüße, CUBE

 

little_polarbear

Aktives Mitglied

AW: farbige Pfotenabdrücke

wow, danke ihr zwei:D hört sich beides ziemlich gut an :)

@KBB: ich werd das auf jedenfall mal mit COFFEE versuchen. Kenne mich zwar leider garnicht damit aus, aber ich werd es auf jedenfall mal ausprobieren :)

@Cubeman: Eine Frage noch zu deiner Schaltung. Was genau passiert dort bei dem MonoFlop. Hab ich das richtig verstanden, dass du oben die aktuelle Zeit ausliest und unten quasi die Dauer angibst, wie lange der MonoFlop anbleiben soll?

Mit dem Position ausgeben des Kollisionpunktes hast du natürlich recht, wobei ich das auch dadurch umgangen bin, indem ich den Emitter einfach meinem
Fusskontroller untergeordnet habe. Der wird dann immer mitgenommen :) Wobei das komischerweise nur funktioniert, wenn man keine MotionClips benutzt. Sobald ich MotionClips benutze, bleibt mein Emitter an der gleichen Stelle stehen :( Weisst du, woran das liegen könnte?
 

CUBEMAN

Polyboy

AW: farbige Pfotenabdrücke

Genau. Der MonoFlop ist so etwas, wie eine Schaltuhr. In diesem Fall schaltet er den Emitter nach einem Frame wieder aus. Wichtig ist noch, dass er im Einfach Mode läuft.
Mit dem Charakter Animation Zeug, kenne ich mich nicht gut aus. Da kann ich leider nicht helfen.

Grüße, CUBE
 

KBB

Mod 3D | Blaubaer

Teammitglied
AW: farbige Pfotenabdrücke

Für die Spur selbst, würde ich den Proximal Shader in Erwägung ziehen.
Der MonoFlop Node ist mal cool, den kannte ich noch garnicht :)
Wo ist? Achso Du hast auf Englisch geschaltet, das ist demnach der Einfach-Flop.

Der Proximal Shader eignet sich imo garnicht dazu, wenn die Spuren auch nach dem Laufen stehen bleiben sollen. Der Shader reagiert ja nur auf Geometrie, die noch in der Nähe ist, und das ist sie dann nicht mehr. Außerdem müsste sie sehr pfotig aussehen und bleiben, ich glaube die COFFEE/Python-Methode ist da etwas viel versprechender was gezielte und bleibende Abdrücke betrifft. Bzw. mit Deiner Schaltung kann man evtl. ganz auf COFFEE verzichten, wenn man genügend TextureTags vorweg präperiert, so dass sie nur noch auf die richtige Stelle gemappt werden müssen.

Cube kann man TextureTags vielleicht mittels Index per Xpresso identifizieren und ansprechen?

Bärchen wenn Du EINdrücke haben willst, also tiefe Abdrücke, da gibts nochmal andere Methoden zu. Da findet man allerdings auch jede Menge zu im Netz. Ich glaub aber Du wolltest nur Farbe auf die Oberfläche auftragen, richtig?
 

CUBEMAN

Polyboy

AW: farbige Pfotenabdrücke

Der Proximal Shader reagiert eben auf die statischen Partikel. Für den Pfotenabdruck kann man ihn mit einer entsprechenden Textur multiplizieren.

Mit XPresso kann man alle Tags iterieren und und über einen Vergleich einen Materialwechsel herbeiführen. Ich verstehe aber nicht, was das bringen soll.

Grüße, CUBE
 

KBB

Mod 3D | Blaubaer

Teammitglied
AW: farbige Pfotenabdrücke

Der Proximal Shader reagiert eben auf die statischen Partikel. Für den Pfotenabdruck kann man ihn mit einer entsprechenden Textur multiplizieren.

Wenn die emittierten Partikel dort stehen bleiben, wäre das ein guter Ansatz. Ich sehe allerdings noch nicht, wie man den Proximal Shader dazu bringt, an den jeweiligen Kollisionsstellen zigmal den gleichen Pfotenabdruck und das in verschiedenen Positionen und Richtungen aufzutragen. Wenn das klappt, wäre es genial einfach.

Ich verstehe aber nicht, was das bringen soll.

Wenn Du 23 Pfotenabdrücke durch 23 Pfotenkollisionen brauchst, mündet das nach der in der DP gezeigten Technik in 23 Texturen, die on top an die Kollisionsstelle gebappt werden müssen. Das auf eine beliebige bestehende Textur. Bei deren Methode haben sie die Kollisionskoordinate und den Bewegungsvektor ausgelesen und anhand dessen ein neues Texturtag erzeugt, ausgerichtet und auf diese Stelle "montiert.
Da einiges davon unter Xpresso so nicht geht, habe ich mir überlegt, ob man nicht eine bestimmte Anzahl Tags schon auf den Untergrund aufbringt und die anhand ihres Index anspricht und positioniert. Wenn das aber alles auch und leichter mit dem Proximal geht, wäre das wie schon gesagt eine schöne, einfache Lösung.
 

little_polarbear

Aktives Mitglied

AW: farbige Pfotenabdrücke

@Cubeman ok, dann werd ich das wohl auch mit dem Ray-Kollisions Node machen müssen, so wie du das vorgeschlagen hast, weil komischerweise, kann ich die Positionswerte von meinen Kontroller nicht an den Emitter übergeben, bzw er bleibt dann an der Anfangsposition stehen, sobald ich MotionClips benutze.

@KBB ich wollte nur Farbe auf dem Boden haben, deshalb der Gedanke, dass ich den Partikeln eine Ebene als Objektform zuordne, auf die ich dann eine Alphamaske in Pfotenform lege. Und da ich als Geschwindigkeit 0 angegeben habe, bleiben die Partikel auch an der Stelle.
 
Bilder bitte hier hochladen und danach über das Bild-Icon (Direktlink vorher kopieren) platzieren.
Antworten auf deine Fragen:
Neues Thema erstellen

Willkommen auf PSD-Tutorials.de

In unseren Foren vernetzt du dich mit anderen Personen, um dich rund um die Themen Fotografie, Grafik, Gestaltung, Bildbearbeitung und 3D auszutauschen. Außerdem schalten wir für dich regelmäßig kostenlose Inhalte frei. Liebe Grüße senden dir die PSD-Gründer Stefan und Matthias Petri aus Waren an der Müritz. Hier erfährst du mehr über uns.

Stefan und Matthias Petri von PSD-Tutorials.de

Nächster neuer Gratisinhalt

03
Stunden
:
:
25
Minuten
:
:
19
Sekunden

Neueste Themen & Antworten

Flatrate für Tutorials, Assets, Vorlagen

Zurzeit aktive Besucher

Statistik des Forums

Themen
118.635
Beiträge
1.538.453
Mitglieder
67.557
Neuestes Mitglied
Charal
Oben