Hey, ich sitze grad an einem privaten Projekt das in 1.440 Frames über eine 7-Segment Anzeige die
Uhrzeit anzeigen lassen soll.
Dazu hab ich mir erstmal einen Converter gebastelt, der die die akteulle Framezahl in die jeweile Uhrzeit convertiert.
Ist die Animation also gerade bei Frame 225 wird eine Uhrzeit von 03:45 ausgegeben, nur eben ohne Doppelpunkt, den brauch ich hier nicht.
Das funktioniert soweit auch ganz gut. Ich bekome also am Ende immer 4 Zahlen raus. Zwei für die Stunden und zwei für die Minuten.
Daraus will ich nun folgendes machen:
Dazu hab ich mir eine einfane 7-Segment anzeige Modeliert, so wie man sie aus alten Weckern u.w.w. kennt.
Die Segmente sollen nun entsprechend der akteullen “Uhrzeit” auf den Y Achse um 10 cm nach oben verschoben werden,
so dass also immer die passenden Segmente oben stehen.
Mein Problem ist nun, ich verstehe nicht, wie ich die einzelnen Segmente ansteuere.
Is echt schwer zu erklären…
Wenn an erster Stelle z.B. eine 1 steht, sollen natürlich nur die entsprechenden Segmente hochgefahren werden, die andern müssen unten bleiben. Ändert sich die Zahl, müssen die Segmente ensprechend reagieren.
Google mag mir bei so nem Thema wohl nich großartig helfen, zumal ich nich mal weiß nach was ich suchen soll xD
Daher hoffe ich dass mir hier einer helfen kann.
Das ist ein Dot-Matrix-Display, kein 7-Segment-Display… aber das nur nebenbei.
Wenn Du schon so heftig in xPresso unterwegs bist, dann generiere doch für jede Ziffer ein “Setup” und schalte schlicht zwischen den Zuständen hin und her. Mit den Logic-Nodes sollte das doch kein Problem sein.
edit: Da fält mir noch das Pose Morph Tag ein. Für jede Ziffer eine Pose und dann über xPresso ansteuern.
hatte sowas wie eine Fallblatt Uhr vor den Augen :-/ aber bei einer Digital Uhr sind’s ja auch nur Zahlen von 0-9 in verschiedenen geschwindigkeiten… hm…
Was du bauen willst ist ein BCD (Binary Coded Digital) zu 7 Segment Decoder. Aus 4 Bit, die einfach aus einem Integer zu gewinnen sind, generiert der die Ansteuerung für die 7 Segmente. Das Schaltbild kannst du direkt so mit Logik Gattern in Xpresso, oder auch als Code, bauen.
Soll das n Witz sein? Hab ne Ewigkeit gebraucht um das so hin zu biegen dass es funktioniert xD
Is mein erstes mal dass ich mit xpresso arbeite ^^
Geplant ist, dass die Segmente dann aus einer gleich aussehenden Masse heraus die jeweilige Urzeit anzeigen.
Mit der richtigen Beleuchtung sollte das dann den gewünschten Look erhalten.
Und dann gleich fett mit Coffee eingestiegen? Respekt. Numbers.c4d (510 KB)
Das Null hat ein UserData-feld mit einem Slider, um die Ziffern einzustellen. Geht jetzt bei mir nur bis drei, aber das Prinzip sollte klar werden. Mit Deinen Stings kannst Du die Compare-Nodes ja auch füttern (denk ich…).
Der einfachste Weg wäre sicher über Texturen gegangen. Auch die kann man per xPresso laden. Alles was Du da also brauchen würdest, wären 10 Bildchen mit den Ziffern von 0 bis 9. Den String für die jeweils zu ladende Datei (Dateinamen) erstellst Du ja praktisch schon. Alternativ könntest Du auch die Texturen alle in die Datei packen und das Materialtag per xPresso steuern (“Material” input port).
Also das mit dem Pose Morph hat perfekt funktioniert. Exakt das was ich wollt ^^ Danke nochmal dafür.
Ich löads nochmal hoch damit ihr wisst wie ich meinte. Einfach unten an den Frames spielen.
Von diesem COFFEE oder wie das heißt hab ich übrigens keine Ahnung. Ich zieh nur Verbindungen vo einer Node zur andern xD
Das was für mich nach “Code” aussieht hab ich aus den Presets.
Danke schonmal für die tatkräftige Unterstützung.
Jetz kann ich den Rest drum rum basteln.
Mir fällt grade ein, dass der Time Node den aktuellen Frame auch als Zeit, also in Sekunden ausgeben kann. Da hättest Du Dir viel Arbeit sparen können…
Time ist quasi Frame/FPS
Das macht dich Framerate unabhängig. Solltest du mit Frame arbeiten ist deine Schaltung nutzlos, wenn du aus welchen Gründen auch immer mal deine FPS ändern solltest.
Ok, verstehe. Da ich die Framerate aber schon vorher auf 1 FPS gestellt hatte, bringt mir diese Funktion natürlich jetz nix mehr ^^
Aber trotzdem ein sehr guter Tipp. Den kann ich bei späteren Projekten gut gebrauchen